(57)【特許請求の範囲】
【請求項１】
データ移動システムであって、このシステムは、
元の保持されるデータを有する第１記憶媒体を有する第１データ保持装置と、
第２記憶媒体を有する第２データ保持装置と、
前記第１データ保持装置及び前記第２データ保持装置と、前記第１記憶媒体にある前記元の保持されるデータを記憶する外部ホストとは無関係に通信するデータ移動マネージャとを含んでおり、前記データ移動マネージャは、前記元の保持されるデータのコピーを作成し、前記元の保持されるデータは、オブジェクト選択ポリシーを満たすデータ・オブジェクトを有しており、前記オブジェクト選択ポリシーは１つの基準又はより多くの基準の論理的結合を含むことができて、次の基準すなわち（ａ）オブジェクトの年齢、（ｂ）アーカイバルの日付及び時間、（ｃ）１つの論理的な又は物理的な記憶場所に存在するオブジェクト、（ｄ）オーナーの名前、（ｅ）オブジェクトのサイズ、（ｆ）整列リスト、（ｇ）オブジェクト名の部分を表示するワイルド・カード、（ｈ）満期日及び（ｉ） イベントの受信又は削除ホールドなどの他の保持パラメータ、に基くことができ、外部アプリケーションとは無関係に、前記元の保持されるデータの前記コピーを第１データ保持プロトコルから共用データ保持プロトコルに変換し、変換された前記元の保持されるデータの前記コピーを前記第２データ保持装置に送り、前記変換された前記元の保持されるデータの前記コピーを受け取り、前記変換された前記元の保持されるデータの前記コピーを前記第２データ保持装置の第２データ保持目標プロトコルに変換し、前記元の保持されるデータの前記目標プロトコルのコピーを前記第２記憶媒体に格納し、前記元の保持されるデータのコピーに対応する保持時間を前記第２記憶媒体に格納し、前記保持時間は元の保持されるデータが削除または改変できない時間を規定しており、前記保持時間は元の保持されるデータに割り当てられた総保持時間から既に経過した保持時間を引いた数学的な差により計算されたものであり、前記第１データ保持装置からの前記元の保持されるデータの削除を容易にするようになっている、データ移動システム。
【請求項２】
前記データ移動マネージャは前記第２データ保持装置と通信する第２コンポーネントを含み、前記第２コンポーネントは、更に、成功したデータ移動の確認応答を第１コンポーネントに送るようになっている、請求項１に記載のデータ移動システム。
【請求項３】
前記第１コンポーネントは、第２データ保持目標プロトコルに従って前記第１データ保持装置にアクセスするようになっている第１バック・エンド・エージェントを含む、請求項２に記載のデータ移動システム。
【請求項４】
前記第１コンポーネントは、前記第１バック・エンド・エージェントと前記第２コンポーネントとの間でインターフェースするようになっている第１フロント・エンド・エージェントを含む、請求項３に記載のデータ移動システム。
【請求項５】
前記第２コンポーネントは、第１データ保持プロトコルに従って前記第２データ保持装置にアクセスするようになっている第２バック・エンド・エージェントを含み、
前記第２コンポーネントは、前記第１フロント・エンド・エージェント及び前記第２バック・エンド・エージェントの間でインターフェースするようになっている第２フロント・エンド・エージェントを含む、請求項４に記載のデータ移動システム。
【請求項６】
前記データ移動マネージャが、さらに、移動及びデータ保存の証拠として用いられる追跡記録を作るようになっている、請求項１に記載のデータ移動システム。
【請求項７】
記憶媒体と、
データ移動マネージャとを含むデータ保持装置であって、前記データ移動マネージャは、外部ホストとは無関係に共用データ保持プロトコルに従って第１データ保持装置から元の保持されるデータの第１コピーを受け取り、前記元の保持されるデータは、オブジェクト選択ポリシーを満たすデータ・オブジェクトを有しており、前記オブジェクト選択ポリシーは１つの基準又はより多くの基準の論理的結合を含むことができて、次の基準すなわち（ａ）オブジェクトの年齢、（ｂ）アーカイバルの日付及び時間、（ｃ）１つの論理的な又は物理的な記憶場所に存在するオブジェクト、（ｄ）オーナーの名前、（ｅ）オブジェクトのサイズ、（ｆ）整列リスト、（ｇ）オブジェクト名の部分を表示するワイルド・カード、（ｈ）満期日及び（ｉ） イベントの受信又は削除ホールドなどの他の保持パラメータ、に基くことができ、前記元の保持されるデータの第１コピーを第１データ保持プロトコルから外部アプリケーションとは無関係な共用データ保持プロトコルに変換し、前記変換されたコピーを前記記憶媒体の第２データ保持目標プロトコルに変換し、前記第２データ保持目標プロトコルに従って前記元の保持されるデータの前記目標プロトコルのコピーを前記記憶媒体に格納し、前記元の保持されるデータの前記目標プロトコルのコピーに対応して、第１保持時間は元の保持されるデータが削除または改変できない時間を規定しており、前記第１保持時間は元の保持データに割り当てられた総保持時間から既に経過した保持時間を引いた数学的な差により計算されたものであり、前記第２データ保持目標プロトコルに従って第１保持時間を前記記憶媒体に格納する、データ保持装置。
【請求項８】
前記データ移動マネージャは、更に、前記共用データ保持プロトコルに従って元の保持されるデータの第２コピーを送るようになっている、請求項７に記載の前記データ保持装置。
【請求項９】
前記データ移動マネージャは、前記共用データ保持プロトコルに従って前記元の保持されるデータの第１コピーを受け取るようになっているフロント・エンド・エージェントを含む、請求項７に記載のデータ保持装置。
【請求項１０】
前記データ移動マネージャは、前記共用データ保持プロトコルに従って前記フロント・エンド・エージェントとインターフェースし、前記第２データ保持目標プロトコルに従って前記記憶媒体とインターフェースするようになっているバック・エンド・エージェントを含む、請求項９に記載のデータ保持装置。
【請求項１１】
前記データ移動マネージャは、前記保持時間を前記記憶媒体に格納する前に前記保持時間を受け取るようになっている、請求項１０に記載のデータ保持装置。
【請求項１２】
コンピュータ可読のコードを計算システムに統合することを含む、保持されるデータを外部ホストとは関係なく移動させるサービスを提供する方法であって、前記コンピュータ可読のコードは前記計算システムと共同して下記の動作すなわち、
第１データ保持装置が第１記憶媒体にある元の保持されるデータを記憶しており、第１データ保持プロトコルに従って第１データ保持装置に含まれる第１データ記憶装置内に存在する第１保持時間（この第１保持時間は、元の保持されるデータが削除または改変できない時間を規定している）を有する元の保持されるデータ（この元の保持されるデータは、オブジェクト選択ポリシーを満たすデータ・オブジェクトを有しており、前記オブジェクト選択ポリシーは１つの基準又はより多くの基準の論理的結合を含むことができて、次の基準すなわち（ａ）オブジェクトの年齢、（ｂ）アーカイバルの日付及び時間、（ｃ）１つの論理的な又は物理的な記憶場所に存在するオブジェクト、（ｄ）オーナーの名前、（ｅ）オブジェクトのサイズ、（ｆ）整列リスト、（ｇ）オブジェクト名の部分を表示するワイルド・カード、（ｈ）満期日及び（ｉ） イベントの受信又は削除ホールドなどの他の保持パラメータ、に基くことができる）のコピーを作成する動作と、
外部アプリケーションとは無関係に、前記元の保持されるデータの前記コピーを第１データ保持プロトコルから共用データ保持プロトコルに変換する動作と、
前記元の保持されるデータの変換されたコピー及び前記第１保持時間を目標データ保持装置に送る動作と、
第２データ保持プロトコルに従って第２保持時間（この第２保持時間は、前記第１保持時間から既に経過した保持時間を引いた数学的な差により計算されたものである）を作成する動作と、
前記元の保持されるデータの前記第２データ保持プロトコルのコピーを前記目標データ保持装置内の第２データ記憶装置に格納する動作と、
前記第２保持時間を前記第２データ記憶装置に格納する動作と、
を実行することができる、方法。
【請求項１３】
成功したデータ移動の確認応答を前記目標データ保持装置から前記第１データ保持装置に送る動作を更に含む、請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理システムに関し、特にタイプの異なるデータ保持システムの間での保持データのデータ移動のためのシステム及び方法に関する。
【背景技術】
【０００２】
データ記憶システムは、大量のデータのコスト効率の良い記憶及び検索を提供する。データは、磁性媒体（磁気テープ又はディスクなど）、光学式媒体（光学式テープ又はディスクなど）、電子媒体（ＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＰＲＯＭ、コンパクトフラッシュ（商標）、スマートメディア（商標）、メモリースティック（商標）など）、又は他の適切な媒体を含むことのあるデータ記憶媒体に置かれる。
【０００３】
データ記憶システムは、本書において保持時間と称される特定の期間の間改変されたり削除されたりするべきではないデータを記憶するためのデータ保持システムを含むことが良くある。データ保持システムは、一般的に該データ保持システムに挿入された各データ・オブジェクトに対して保持時間を指定する。データ保持システムは、それらの保持時間を監視し、データ・オブジェクトの保持時間が過ぎる前にそれらが改変され或いは削除されるのを防止するために、対応するデータ・オブジェクトを管理する。データを作り、データを保持し、後にデータが改変又は削除されることを許すプロセスは、図１のブロック図に示されているように情報ライフサイクルと称される。
【０００４】
在来のデータ管理システム１０は、クライアント・システム１２、ドキュメント管理システム１４、データ保持システム１６、及び、保持されるデータ２０を含む保持データ記憶媒体１８を含み得る。保持データ記憶媒体１８は、磁気ディスク・ドライブ、光ディスク（光磁気ディスク、ディジタル・バーサタイル・ディスク、高解像度ディジタル・バーサタイル・ディスク、ブルー・レイ・ディスク（Ｂｌｕｅ−Ｒａｙ  ｄｉｓｋｓ）、或いはホログラフィック・ディスクを含む）、磁気テープ、フラッシュ・メモリなどを含み得る。付加的なデータ記憶媒体２８は、データ保持システム１６の制御の外側でドキュメント管理システム１４によりアクセスされ得る。データ記憶媒体２８上のデータは、保持されないデータ２２を含み得る。
【０００５】
クライアント・システム１２は、通常、指定された期間にわたって保持される必要があったり無かったりするデータ及び情報を生成する。代表的なクライアント・システム１２は、フロント・エンド・アプリケーション、自動化されたペーパー・スキャン・ソリューション、データベース、電子ファイル・システム、或いはそこでデータを生成し、見、また更新することのできる対話型のウェブ・サイトを含み得る。
【０００６】
クライアント・システム１２は、生成されたデータをドキュメント管理システム１４に送ることができ、このシステムは、内容又は文脈によって該データを検索するために使用されるインデックスを生成することができる。クライアント・システム１２から到着したデータが保持されるべきであるならば、すなわち或る期間にわたって改訂或いは削除無しに記憶されるべきであるならば、ドキュメント管理システム１４はそのデータをデータ保持管理システム１４に送り、さもなければ該データは保持されないデータ２２として代わりのデータ記憶媒体２８の中に置かれる。
【０００７】
データ保持システム１６は、ドキュメント管理システム１４から到着した各データのために適切な保持時間を決定し、その保持時間を該データのためのメタデータとしてメタデータ・オブジェクト３０に割り当てる。ここで示されているように、保持されるデータ３２を含む保持時間メタデータ・オブジェクト３０は保持データ記憶媒体１８の中に置かれる。データ保持システム１６は、保持時間３４が過ぎるまで、保持されているデータ３２の改変或いは削除を妨げる。
【０００８】
保持時間が経過すると、データ保持システム１６は、対応する保持されるデータ３２を直ちに削除することができ、或いはそのステータスを削除可能に変更して、保持されるデータ３２がクライアント・システム１２などの外部アプリケーションによって削除されることを可能にすることができる。或いは、データ保持管理システム１６は、付加的な保持されるデータ２０のために記憶場所が必要なので、削除可能なデータを削除することができる。保持されていたデータ３２が削除されると、保持時間メタデータ・オブジェクト３０も削除される。
【０００９】
データ保持管理システム１０は、各々の保持されるデータ３２について保持時間を確立するために様々な方法のうちの１つを利用することができる。１つの方法は、システム・ステータスにおける変化などのイベントに応答して保持時間を作成する。他のトリガー・イベントは、保持時間を指定又は更新する命令のクライアント・システム１２からの発行を含むことができる。これに応じて、データ保持システム１６は、保持時間データ・オブジェクト３０を所望の保持時間で更新する。トリガー・イベントと関連付けられた保持時間が既に経過したならば、データ保持システム１６は、目標データの保持時間値を改変する。この様にして、クライアント・システム１２は、保持されているデータ３２を削除し或いは保持されているデータ３２を削除可能にするための保持時間改変コマンドを利用することができる。多くの規制要件は、保持時間を短縮しないことを要求し得る。従って、データ保持システム１６は、保持時間メタデータ・オブジェクト３０が更新要求の前の保持時間より短い保持時間を持つことを許すことができない。
【００１０】
時には、保持されるデータ２０を１つのデータ保持システム１６から他へ転送することが望ましい。その様なデータ転送は、保持されているデータ２０をアーカイブ化したり、保持されているデータ２０をコピーしたり、或いは保持されているデータ２０を別のタイプの或いはより新しいデータ管理システム又はデータ保持管理システムに転送したいという希望により必要とされ得る。図２は、在来のデータ移動システム１００を示している。
【００１１】
在来のデータ移動システム１００は、通常、スイッチング・ファブリック１０４を形成し得る１つ以上のスイッチ１０２を含む。ここで、データ移動システム１００は、ファイバー・チャネル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ（“ＦＣ”））物理層上で動作する小型コンピュータ・システムズ・インターフェース（ＳＣＳＩ）プロトコルを利用することができる。しかし、データ移動システム１００は、インフィニバンド（Ｉｎｆｉｎｉｂａｎｄ）、ＦＩＣＯＮ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）、ＴＣＰ／ＩＰ、イーサネット、ギガビット・イーサネット或いはｉＳＣＳＩなどの他のプロトコルを利用することができる。スイッチ１０２は、１つ以上のホスト・コンピュータ１０６及びデータ保持システム１０８、１１０へのアドレスを含む。
【００１２】
ここに示されているように、ホスト・コンピュータ１０６は、Ｉ／Ｏインターフェース１１２を利用してファブリック１０４と接続する。このＩ／Ｏインターフェース１１２は、ファイバー・チャネル（“ＦＣ”）ループ又は１つ以上の直接接続信号線を含むことができる。Ｉ／Ｏインターフェース１１２は、情報をスイッチング・ファブリック１０４とやり取りする。
【００１３】
スイッチング・ファブリック１０４は、Ｉ／Ｏインターフェース１１４，１１６を介してホスト・コンピュータ１０６をデータ保持システム１０８，１１０に接続する。これらのＩ／Ｏインターフェースも、ファイバー・チャネル、インフィニバンド、ギガビット・イーサネット、イーサネット、ＴＣＰ／ＩＰ、ｉＳＣＳＩ、ＳＣＳＩ、或いは１つ以上の直接接続信号線を含むことができる。
【００１４】
この在来のデータ移動システム１００では、ホスト・コンピュータ１０６上で動作するホスト・アプリケーション１１８は、保持されるデータ１２０の第１データ保持システム１０８から第２データ保持システム１１０への転送を開始することができる。しかし、保持されるデータを移動させるこの在来のプロセスは、処理及び通信の資源の広範な割り当てを必要とする。例えば、ホスト・アプリケーション１１８は、保持されているデータ１２０を取り出すためにスイッチング・ファブリック１０４によって第１データ保持管理システム１０８に運ばれるコマンドを作成して発するために、そのホスト・コンピュータ１０６の処理資源を利用する。取り出されたデータ１２０はスイッチング・ファブリック１０４を通してホスト・コンピュータ１０６に送られ、ここで、取り出されたデータ１２０は再パッケージ化されて同じスイッチング・ファブリック１０４を介して第２保持データ管理システム１１０に送られる。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
ホスト・アプリケーション１１８はこのデータ移動プロセスを管理する役割を有するので、ホスト・コンピュータの処理資源のうちの相当の量が該タスクに割り当てられ得る。同様に、ホスト・アプリケーションの命令、取り出されたデータ、及び再送信されるデータが全てスイッチング・ファブリック１０４を通るので、他のプロセスのために使用し得る通信帯域幅が大幅に制限され得る。従って、ホスト・コンピュータの処理能力の利用を減少させると共にスイッチング・ファブリックの通信帯域幅に対する需要を減少させる２以上のデータ保持システム間で保持されるデータを移動させるためのシステム及び方法を有することが望ましい。
【００１６】
在来のデータ移動システム１００の他の問題は、保持されるデータ１２０が第１データ保持システム１０８から第２データ保持システム１１０にコピーされると、保持されるデータ１２０を第１データ保持システム１０８から削除することが不可能になり得ることである。この問題は、第１データ保持システム１１０内に保持されているデータと関連付けられている保持時間が未だ経過していないので、発生し得る。この状況は、第１データ保持システム１０８に存在する保持されるデータの保持時間を変更する付加的コマンドをホスト・アプリケーション１１８が発することを必要とする。しかし、おそらく、保持時間の減少を妨げることが望ましいであろう。従って、ホスト・アプリケーション１１８からの付加的命令を必要とせずに元の保持されるデータを削除することを可能にする、保持されるデータを移動させるためのシステム及び方法を有することが望ましい。
【００１７】
第１データ保持システム１０８と第２データ保持システム１００とが別々の製造業者からのものである場合には他の問題が起こり得る。例えば、第１データ保持システム１０８がＩＢＭ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）のＤＲ５００（登録商標）を含むならば、ホスト・アプリケーション１１８からのイベント或いはコマンドは第１データ保持システム１０８内でクラスにより保持時間を作成することができる。更に、保持時間が経過したならば、対応する保持されるデータは自動的に削除され得る。しかし、第２データ保持システム１１０はＩＢＭのＤＲ５５０以外のデータ保持システムであり得る。
【００１８】
コンテンツ・アドレス指定可能な記憶装置を利用するこの第２データ保持システム１１０では、保持時間はホスト・アプリケーション１１８からその関連データと共に第２データ保持システム１１０に対して発行される。更に、データの保持時間が経過したとき、この第２データ保持システム１１０は、そのデータを自動的には削除しなくて、ホスト・アプリケーション１１８から発せられたコマンドに応答してそれが削除されることを可能にするかもしれない。これら２タイプのデータ保持システムの間には違いがあるので、第１データ保持システム１０８から第２データ保持システム１１０への保持されるデータの移動はおそらく困難であろう。
【００１９】
従って、ホスト・アプリケーション１１８は、通常、（ａ）第１データ保持システムのタイプを確認し、（ｂ）保持されるデータ１２０を第１データ保持システム１０８から取り出し、（ｃ）各データに関連する各保持時間のバランスを決定し、（ｄ）第２データ保持システムのタイプを確認し、（ｅ）新しい保持時間を計算し、（ｆ）保持されるデータを第２データ保持システム１１０にコピーし、（ｇ）第２データ保持システム１１０により必要とされる仕方でその新しい保持時間を発行するように、充分に高度な知識で書かれる。この厄介なタスクは、第１及び第２のデータ保持システムが同期したクロックを保有していなければならないという要件によって複雑にされる。さもなければ、適切な時間差が計算されなければならない。
【００２０】
以上の検討から、タイプの異なるデータ保持システム間での保持されるデータの移動をホスト・アプリケーションの管理無しで管理して容易にする装置、システム、及び方法が必要であることは明らかなはずである。
【課題を解決するための手段】
【００２１】
本発明は、技術の現状に応じて、特に、現在利用し得るデータ移動システムによって充分に解決されていない問題及びニーズに応じて開発されたものである。従って、本発明は、当該技術における上記の欠点の多く又は全てを克服する、保持されるデータをデータ保持システム間で移動させる装置、システム、及び方法を提供するべく開発されたものである。
【００２２】
該装置は、一実施態様では、外部アプリケーションとは無関係に、保持されるデータのコピーを共用のデータ保持プロトコルに従って受け取り、その保持されるデータのコピーを第２のデータ保持プロトコルに従ってデータ記憶媒体に格納し、該第２データ保持プロトコルに従って保持時間を格納するように構成される。
【００２３】
別の実施態様では、該装置は、データ移動手続きがうまく行われて、元の保持されるデータを第１データ保持システムから削除し得るようになったことを確認するように構成され得る。
【００２４】
第１データ保持プロトコルに従って第１データ保持システムから保持されるデータのコピーを作成し、その保持されるデータのコピーを第２データ保持システムに送り、その保持されるデータのコピーを第２データ保持プロトコルに従って該第２データ保持システムで受け取り、その保持されるデータのコピーについて保持時間を生成し、その保持されるデータのコピーと生成された保持時間とを該第２データ保持システムに格納する本発明のシステムも提供される。特に、該システムは、一実施態様では、外部アプリケーションとは無関係にこのデータ移動手続きを実行することができる。
【００２５】
該システムは、更に、データ移動手続きがうまく行われて、元の保持されるデータを第１データ保持システムから削除し得るようになったことを確認するように構成され得る。
【００２６】
保持されるデータを移動させるための本発明の方法も提供される。この方法は、開示されている実施態様では、前記装置及びシステムの動作に関して上で示した機能を実行するために必要なステップを実質的に含む。一実施態様では、該方法は、第１データ保持装置内で保持されるデータのコピーを作成し、その保持されるデータのコピーを共用のプロトコルに従って変換し、該データを第２データ保持装置に送り、その受け取られたデータを該第２データ保持装置に対応するプロトコルに従って変換し、該第２データ保持システムに関連するデータ保持時間を作り、その保持されるデータのコピーとその保持時間とを該第２データ保持システムに格納することを含む。この方法は、保持されるデータの移動がうまくいったことを確認することも含み得る。
【００２７】
別の実施態様では、該方法は該第１データ保持システム内の元の保持されるデータの削除を含む。
【００２８】
本明細書の全体にわたって、特徴、利点への言及或いは同様の言葉遣いは、本発明で実現され得る特徴及び利点の全てが本発明のどれか１つの実施態様にあるべきであるか或いは実際にあるということを示唆するものではない。むしろ、特徴及び利点に言及する言葉は、実施態様に関して記載された特定の特徴、利点、或いは特性が本発明の少なくとも１つの実施態様に含まれるということを意味すると理解される。この明細書の全体にわたって、特徴及び利点ついての検討、及び同様の言葉遣いは、同じ実施態様に関連し得るが、必ずしも同じ実施態様に関連するとは限らない。
【００２９】
更に、本発明の記載されている特徴、利点及び特性は１つ以上の実施態様において任意の適切な仕方で結合され得る。当業者は、特定の実施態様の特定の特徴又は利点のうちの１つ以上を欠いて本発明を実施し得ることを認めるであろう。他の例では、或る実施態様において本発明の全ての実施態様には存在しないかもしれない付加的な特徴及び利点が認められ得る。
【００３０】
本発明のこれらの特徴及び利点は、以下の記述と添付されている請求項とからより充分に明らかになり、或いは以降に記載される本発明の実施によって習得され得る。
【発明を実施するための最良の形態】
【００３１】
本発明の利点が容易に理解されるように、上で簡単に記載された本発明についてのより詳しい記述が、添付図面に示されている特定の実施態様を参照することにより、与えられる。これらの図面は本発明の代表的実施態様のみを描くものであり、従ってその範囲を制限するものと見なされるべきでないことを理解して、本発明は添付図面の使用を通して更に具体的に詳細に記述され説明される。
【００３２】
この明細書に記載されている機能ユニットの多くは、その実施独立性を特に強調するために、モジュールと称されている。例えば、モジュールは、特注ＶＬＳＩ回路若しくはゲート・アレイ、論理チップ、トランジスタ、或いは他の個別コンポーネントなどの既製の半導体を含むハードウェア回路として実現され得る。モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ論理、プログラマブル・ロジック・デバイスなどのプログラマブルなハードウェア装置でも実現され得る。
【００３３】
モジュールは、種々のタイプのプロセッサにより実行されるソフトウェアでも実現され得る。実行可能なコードの確認されたモデルは、例えば、オブジェクト、手続き或いは機能として組織され得るコンピュータ命令の１つ以上の物理的な或いは論理的なブロックを含むことができる。けれども、確認されたモジュールの実行可能なもの（ｅｘｅｃｕｔａｂｌｅｓ）は、一緒に物理的に配置されなくても良くて、論理的に結合されたときに該モジュールを構成して該モジュールについての述べられた目的を達成する、別々の位置に格納された多様な命令を含み得る。
【００３４】
実際、実行可能なコードのモジュールは、単一の命令或いは多数の命令であり得、また、数個の別々のコード・セグメントに、別々のプログラムに、そして数個のメモリー装置に、分散されても良い。同様に、操作データは、ここではモジュール内で識別されて図示され得、任意の適切な形で具体化されて任意の適切なタイプのデータ構造の中で組織され得る。操作データは、単一のデータ・セットとして集められて良く、或いはいろいろな記憶装置を含むいろいろな位置に分散されても良く、また、少なくとも部分的に、システム又はネットワーク上で単に電子信号として存在しても良い。
【００３５】
この明細書における“一実施態様”、“実施態様”への言及或いは同様の言葉は、その実施態様に関して記載されている特定の特徴、構造或いは特性が本発明の少なくとも１つの実施態様に含まれるということを意味する。本明細書の全体にわたって、“一実施態様において”、“実施態様において”或いは同様の言葉の出現は、全て、必ずしもそうとは限らないけれども、同じ実施態様に関連し得る。
【００３６】
信号担持媒体への言及は、信号を生成し、信号を生成させ、或いは機械可読命令のプログラムをディジタル処理装置で実行させることのできる任意の形をとり得る。信号担持媒体は、伝送線路、コンパクト・ディスク、ディジタル・ビデオ・ディスク、磁気テープ、ベルヌーイ・ドライブ（Ｂｅｒｎｏｕｌｌｉ  ｄｒｉｖｅ）、磁気ディスク、パンチ・カード、フラッシュ・メモリ、集積回路、或いは他のディジタル処理装置記憶装置により具体化され得る。
【００３７】
更に、本発明の記述されている特徴、構造、或いは特性は、１つ以上の実施態様において任意の適切な仕方で結合され得る。以下の記述において、本発明の実施態様の完全な理解を提供するために、プログラミング、ソフトウェア・モジュール、ユーザ・セレクション、ネットワーク・トランザクション、データベース照会、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップなどの例のような多数の特定の詳細な情報が提供される。しかし、当業者は、その特定の詳細な情報のうちの１つ以上が無くても、或いは他の方法、コンポーネント、材料などを用いても本発明が実施され得ることを認めるであろう。他の例では、本発明の諸側面を不明瞭にすることを避けるために、周知されている構造、材料、或いは操作は図示も記載もされない。
【００３８】
図を参照すると、同様の部分は同じ参照数字及び記号で指示されていて、図３は、本発明の一実施態様に従う、代表的データ移動システム２００の諸側面を示すブロック図である。データ移動システム２００はローカル・エリア・ネットワークに接続されており、その中で通信ネットワーク２０４は１つ以上の在来型ルータ２０２を含んでいてＴＣＰ／ＩＰプロトコルに基くことができる。在来型ルータ２０２は、１つ以上のホスト・コンピュータ２０６、第１データ保持システム２０８、及び第２データ保持システム２１０のアドレスを含む。
【００３９】
ホスト・コンピュータ２０６は、ホストＩ／Ｏインターフェース２１２を利用して通信ネットワーク２０４に接続される。通信ネットワーク２０４は、第１データ保持Ｉ／Ｏインターフェース２１４を通して第１データ保持システム２０８に接続され、第２データ保持Ｉ／Ｏインターフェース２１６を通して第２データ保持システム２１０に接続される。これらのデータ保持Ｉ／Ｏインターフェースは、データ・オブジェクトを格納し、引き出し、照会し、また削除するためにホスト・コンピュータ２０６によって利用される。
【００４０】
ホスト・コンピュータ２０６上で動作するホスト・アプリケーション２１８は、第１データ保持システム２０８から第２データ保持システム２１０への保持されるデータ２２０の転送を開始することができる。しかし、そうすることは、ホスト・コンピュータ２０６の広範な処理能力を利用する必要を無くし、通信ネットワーク２０４の帯域幅利用を減少させる。好ましい実施態様では、保持されるデータ２２０の転送の開始は、第１データ保持システム２０８又は第２データ保持システム２１０の中でホスト・システム２０６或いはアプリケーション２１８とは無関係にトリガーされる。
【００４１】
第１及び第２のデータ移動マネージャ２２２，２２４は、保持されるデータ２２０を第１データ保持システム２０８から第２データ保持システム２１０へ転送するためのコマンドを作成して発する。第１データ移動マネージャ２２２，２２４は、保持されるデータ２２０を第１データ保持Ｉ／Ｏインターフェース２１４を介して通信ネットワーク２０４に送り、第２データ保持Ｉ／Ｏインターフェース２１６を介して第２データ保持システム２１０に送ることができる。
【００４２】
データ移動マネージャ２２２，２２４は、（ａ）保持されるデータ２２０を第１データ保持システム２０８から第２データ保持システム２１０に送り及び引き出し、（ｂ）各データに関連する各保持時間のバランスを決定し、（ｃ）必要に応じて、新しい保持時間を計算し或いは保持されるデータ２２０について定められている保持時間のコピーを調整し、（ｄ）保持されるデータを第２データ保持システム２１０にコピーし、（ｅ）新しい或いは調整された保持時間を第２データ保持システム２１０に書き込み、（ｆ）移動されたデータ２３０が変更されていないことを保証するためにインテグリティ・チェックとエラー処理とを実行し、（ｇ）訴訟、診療録などにおける移動及びデータ保存の証拠として用いられる追跡記録を作る役割を課されている。更に、第１データ移動マネージャ２２２は、第１データ保持システム２０８上の保持されるデータ２２０を削除するか或いは保持されるデータ２２０を削除可能にする役割を課され得る。
【００４３】
データ移動マネージャ２２４，２２４はデータ移動プロセスを管理する役割を課されているので、ホスト・コンピュータの処理資源の相当の量をそのタスクに割り当てる必要は無い。同様に、ホスト・アプリケーション２１８は、保持されるデータの移動を開始する命令を発するだけなので、通信ネットワーク２０４の通信帯域幅に対する要求も減じられる。
【００４４】
本発明のこの実施態様では、第１データ保持システム２０８と第２データ保持システム２１０とは、別々の製造業者からの別々のタイプのものである。例えば、第１データ保持システム２０８はＩＢＭのＤＲ５５０（登録商標）を含むことができ、第２データ保持システム２１０はＥＭＣのＣｅｎｔｅｒａ（登録商標）を含むことができる。第１データ保持システム２０８と第２データ保持システム２１０とが同じ形式及びモデルで同じ製造業者から供給され得ることを当業者は認める。
【００４５】
データ移動マネージャ２２２，２２４は、各々、フロント・エンド・エージェント２３２ａ，２３２ｂとバック・エンド・エージェント２３４ａ，２３４ｂとを含むことができる。該フロント・エンド・エージェントは、第１及び第２のデータ保持Ｉ／Ｏインターフェース２１４，２１６及び通信ネットワーク２０４を通しての第１及び第２のデータ移動マネージャ２２２，２２４の間の通信を容易にする。これらのフロント・エンド・エージェント２３２ａ，２３２ｂは、関連するバック・エンド・エージェント２３４ａ，２３４ｂとも相互作用し、これらは保持されるデータ２２０，２３０とインターフェースし、アプリケーション・プログラム・インターフェース（“ＡＰＩ”）を含むことができる。
【００４６】
本発明の利点のうちの１つは、各フロント・エンド・エージェント２３２が異なるタイプのデータ保持システム２０８，２１０と関連付けられていても複数のフロント・エンド・エージェント２３２を標準化できることである。しかし、各バック・エンド・エージェント２３４ａ，２３４ｂは、その夫々のデータ保持システム２０８，２１０に固有の方法を利用する。その様なものとして、データ移動タスクの変換及び単一化がフロント・エンド・エージェントとそれらの夫々のバック・エンド・エージェントとの間で行われる。或いは、フロント・エンド・エージェントは、ソース・データ保持システムと関連するプロトコルを利用して、データ及びコマンドを、ターゲット・データ保持システムと関連するプロトコルに従うものに変換する。他の選択肢では、データ及び情報は通信ネットワーク２０４内で全く異なるプロトコル間で変換され得る。
【００４７】
フロント・エンド・エージェント２３２ａ，２３２ｂにより具体化される移動プロトコルは、（１）移動プロセス開始、（２）オリジン及びデスティネーション・ネゴシエーション、（３）移動データ送信／受信、（４）データ・オブジェクト情報送信／受信、及び（５）移動完了を含むコマンド・コンストラクトを含むことができる。移動開始プロセス・コマンドは、ホスト・アプリケーション２１８、第１データ保持システム２０８、あるいは第２データ保持システム２１０から生じ得る。オリジン及びデスティネーション・ネゴシエーションは、開始装置から始まり、各装置（ソース／ターゲット）の指定された役割と、移動されるべきデータ・オブジェクトの名前とを含む。受信システムは、オブジェクト名或いはオブジェクト選択ポリシーが無効であったり、該システムが移動については使用禁止にされているなどの様々な理由からネゴシエーション・リクエストを拒否することができる。
【００４８】
保持されるデータ２２０は移動データ送信／受信コマンドに応答して転送され、オブジェクト情報はデータ・オブジェクト情報送信／受信コマンドに応答して送信され受信される。オブジェクト情報は、（ａ）オブジェクト・サイズ、（ｂ）チェックサム、（ｃ）保持時間、（ｄ）データ位置、（ｅ）オブジェクトのタイプ、（ｆ）オーナー／ユーザ情報、（ｇ）アクセス制御情報、及び（ｈ）オブジェクト記述などを含み得る。移動完了コマンドは、データ移動が完了したことをフロント・エンド・エージェント２３２ａ，２３２ｂに知らせ、（ａ）デスティネーション・エージェントが該データ及びオブジェクト情報を受け取ったとき、（ｂ）デスティネーション・エージェントがチェックサムを検査したとき、及び（ｃ）データ・オブジェクト及びオブジェクト情報が首尾よく格納されたときに、送られる。
【００４９】
バック・エンド・エージェント２３４ａ，２３４ｂの役割は、各データ保持システム２０８，２１０と関連付けられているプロトコルに従って各フロント・エンド・エージェント２３２ａ，２３２ｂを接続することである。各プロトコルのコマンド構造は、データ保持システムのタイプにより異なり得る。しかし、データ保持システムがどのプロトコルを利用するとしても、データ保持システムの全てのデータ及び属性は好ましくはバック・エンド・エージェント２３４ａ，２３４ｂの関連するフロント・エンド・エージェントに利用され得る。
【００５０】
従って、バック・エンド・エージェント２３４ａ，２３４ｂは、（１）オブジェクト・サイズ、データ・チェックサム、保持時間、記憶場所、オブジェクトのタイプ、所有者／ユーザ情報、アクセス制御属性及び記述などを含むデータ保持システムにより管理されるオブジェクトの情報アイテムを照会し、（２）データ・オブジェクトを入手し／読み、（３）データ・オブジェクトを格納し／書き、（４）データ・オブジェクト情報をセットし、（５）データ・オブジェクトを削除する能力を含む。特定のバック・エンド・エージェント２３４ａ，２３４ｂに関連するデータ保持システムのタイプにより、これらの機能のうちの或るものは利用し得ないことがある。その様な場合、バック・エンド・エージェント２３４ａ，２３４ｂは、各々の欠けている属性について“ヌル（ＮＵＬＬ）”などのデフォルト値を提供する。
【００５１】
図４は、交換アクセス型ネットワークとして設計されたデータ移動システム３００の代わりの実施態様であり、この場合、スイッチ３０２は、スイッチング・ファブリック３０４を作るために利用される。本発明のこの実施態様では、データ移動システム３００は、ファイバー・チャネル（“ＦＣ”）物理層上で動作する小規模コンピュータ・システム・インターフェース（ＳＣＳＩ）プロトコルを用いて実現される。しかし、データ移動システム３００は、Ｉｎｆｉｎｉｂａｎｄ、ＦＩＣＯＮ、ｉＳＣＳＩなどの他のプロトコルを利用しても実現され得る。スイッチ３０２は、１つ以上のホスト・コンピュータ３０６、第１データ保持システム３０８、及び第２データ保持システム３１０のアドレスを含む。
【００５２】
ホスト・コンピュータ３０６は、ホストＩ／Ｏインターフェース３１２を利用してスイッチング・ファブリック３０４に接続されている。このホストＩ／Ｏインターフェース３１２は、スイッチング・ファブリック３０４と情報をやり取りするためにＦＣループ、直接接続、或いは１つ以上の信号線を含むことができる。スイッチ３０２は、スイッチング・ファブリック３０４を、第１データ保持Ｉ／Ｏインターフェース３１４を通して第１データ保持システム３０８に接続し、第２データ保持Ｉ／Ｏインターフェース３１６を通して第２データ保持システム３１０に接続する。これらのデータ保持Ｉ／Ｏインターフェースは、ファイバー・チャネル、インフィニバンド、ｉＳＣＳＩ、ＳＣＳＩ、１つ以上の信号線、或いは他の適切な通信チャネルを含むことができる。これらのデータ保持Ｉ／Ｏインターフェースは、データ・オブジェクトを格納し、引き出し、照会し及び削除するためにホスト・コンピュータ３０６によって利用される。
【００５３】
本発明のこの実施態様では，ホスト・コンピュータ３０６上で動作するホスト・アプリケーション３１８は、保持されるデータ３２０の第１データ保持システム３０８から第２データ保持システム３１０への転送を開始する。１つ以上のデータ移動マネージャ３２２，３２４が、保持されるデータ３２０を第１データ保持システム３０８から第２データ保持システム３１０へ転送するためのコマンドを作って発する。引き出されたデータは、第１データ保持Ｉ／Ｏインターフェース３１４を介してスイッチング・ファブリック３０４に送られ、第２データ保持Ｉ／Ｏインターフェース３１６を介して第２データ保持システム３１０に送られる。
【００５４】
データ移動マネージャ３２２，３２４は、各々、フロント・エンド・エージェント３３２ａ，３３２ｂとバック・エンド・エージェント３３４ａ，３３４ｂとを含む。フロント・エンド・エージェントは、第１及び第２のデータ保持Ｉ／Ｏインターフェース３２６，３２８及びスイッチング・ファブリック３０４を通しての第１及び第２のデータ移動マネージャ３２２，３２４の間での通信を容易にする。これらのフロント・エンド・エージェントは、バック・エンド・エージェント３３４ａ，３３４ｂとも相互に作用する。これらのバック・エンド・エージェントは、保持されるデータ３２０，３３０とインターフェースし、アプリケーション・プログラム・インターフェース（“ＡＰＩ”）を含むことができる。
【００５５】
図５は、図４のブロック図により示されているものに類似するデータ移動システム３００の他の実施態様の図解である。しかし、本発明のこの実施態様では、引き出されたデータは、第１データ移動Ｉ／Ｏインターフェース３２６を介してスイッチング・ファブリック３０４に送られ、第２データ移動Ｉ／Ｏインターフェース３２８を介して第２データ保持システム３１０に送られる。この様に、データ保持Ｉ／Ｏインターフェース３１４，３１６は、保持されるデータの移動以外のタスクに専用され得る。有利なことに、データ移動のためのＩ／Ｏインターフェース３２６，３２８はホスト・インターフェース３１４，３１６から分離されて、ホスト・インターフェース３１４，３１６を介する普通のデータ転送とインターフェース３２６，３２８を介するデータ移動転送とのためにより良い帯域幅及び性能を可能にする。これらのデータ移動Ｉ／Ｏインターフェース３２６，３２８は、ファイバー・チャネル、インフィニバンド、ｉＳＣＳＩ、ＳＣＳＩ、１つ以上の信号線、或いは他の適切な通信チャネルを含むこともできる。
【００５６】
図６のブロック図は、図５により示されているものと類似する、本発明の他の実施態様を示す。しかし、第１及び第２のデータ移動Ｉ／Ｏインターフェース３２６，３２８は、第１フロント・エンド・エージェント３３２ａを第２フロント・エンド・エージェント３３２ｂに直接接続する共用データ移動Ｉ／Ｏインターフェース３３６により取って代わられている。この様に、コピーされる保持されるデータはスイッチング・ファブリック３０４を通過しなくても良いので、スイッチング・ファブリック３０４の通信帯域幅に対する要求が低減される。従って、Ｉ／Ｏインターフェース３１４，３１６を介する普通のデータ転送は、インターフェース３２６を介するデータ移動転送から完全に分離される
【００５７】
図７のブロック図は本発明の更なる１つの実施態様を示しており、この実施態様では、共用データ移動マネージャ３３８は、第１データ移動Ｉ／Ｏインターフェース３２６を介して第１データ保持システム３０８に接続された第１バック・エンド・エージェント３３４ａと、共用フロント・エンド・エージェント３３２と、第２データ移動Ｉ／Ｏインターフェース３２８を介して第２データ保持システム３１０に接続された第２バック・エンド・エージェント３３４ｂとを含む。各バック・エンド・エージェント３３４ａ，３３４ｂは、依然として夫々のデータ保持システム３０８，３１０とインターフェースするという役割を課されているが、共用フロント・エンド・エージェント３３２は各バック・エンド・エージェント３３４ａ，３３４ｂの間の通信を容易にする。
【００５８】
本発明による、保持されるデータを移動する方法は、図８のフローチャート４００と図９のブロック図により例示される。これらのアルゴリズムは、特定の順序で行われ得る具体的な動作を定義する。しかし、代わりの実施態様では、或る論理動作は、異なる順序で行われ得、改変され得、或いは除去され得る。更に、動作を上記の論理に付け加えることができ、依然として上記実施態様に従う。ここに記載されている動作は順次に行われて良く、或いは並行して処理されても良い。更に、単一のプロセスにより実行されると記載されている動作が複数の分散したプロセスによって実行されても良い。これらのアルゴリズムは、ホスト・システム３０６のオペレーティング・システムの一部であり得、或いはホスト・アプリケーション３１８（図３−７）又は第１データ保持システム３０８又は第２データ保持システム３１０などのアプリケーション・プログラムであり得る。ホスト・アプリケーション３１８とホスト・システム３０６との組み合わせは製造物品の一例に過ぎない。
【００５９】
以下の概略フローチャートは一般的に論理フローチャートとして呈示される。その様なものとして、描かれている順序とラベルが付されているステップとは、提示される方法の一実施態様を示す。図示されている方法の１つ以上のステップ、或いはその部分と機能、論理、或いは効果に関して同等の他のステップ及び方法にも想到し得る。更に、使用されるフォーマット及びシンボルは、該方法の論理ステップを説明するために提供されており、本発明の範囲を限定するものではないと理解される。該フローチャートにおいて種々のタイプの矢印及び線が使用され得るけれども、それらは、対応する方法の範囲を限定しないと理解される。実際、該方法の論理の流れだけを示すために何らかの矢印又は他のコネクタを使用することができる。例えば、矢印は、描かれている方法の列挙されている複数のステップ間の不特定の長さの待機又は監視期間を示し得る。更に、具体的な方法が行われる順序は、図示されている対応ステップの順序と厳密に一致しても良いし、そうでなくても良い。
【００６０】
データ移動は、通常、データが現在格納されているソース・システムと、それにデータを移動させるべきターゲット・システムとを含む。フローチャート４００により示されている図８のアルゴリズムでは、ソース・データ保持システム３０８（図５）に存在するデータ・オブジェクトがターゲット・データ保持システム３１０に移される。この実施態様では、両方のデータ保持システム３０８，３１０がフロント・エンド・エージェント３３２ａ，３３２ｂ及びバック・エンド・エージェント３３４ａ，３３４ｂを含んでいて、ファブリック３０４を通して互いに通信する。移動プロセスは、この例では保持されるデータのソース・データ保持システム３０８からの移動を開始したターゲット・データ保持システム３１０の見地から記述される。
【００６１】
移動方法は、ターゲット・データ保持システム３１０のフロント・エンド・エージェント３３４ｂが移動開始メッセージをソース・データ保持システムのフロント・エンド・エージェント３３２ａに送ることにより移動プロセスを開始４０４した時に始まり得る４０２。明瞭を期すると、開始はターゲット・データ保持システムから始まらなくても良くてソース・データ保持システム３０８又はホスト・アプリケーション３１８などの外部プロセスから始まっても良いことを当業者は認めるであろう。この例では、ソース・データ保持システム３０８は開始メッセージに対して応答を与える。開始フロント・エンド・エージェント３３４ｂは、これを評価する４０６。もしソース・データ保持システム３０８が移動開始リクエストを拒否すれば、方法４００は終了する４９９。移動開始メッセージの拒否は、ソース・データ保持システム３０８が現在使用禁止にされている可能性があるので、生じ得る。
【００６２】
もしソース・データ保持システム３０８が開始リクエストを受け入れれば、開始フロント・エンド・エージェント３３２ｂはソース・データ保持システム３０８のフロント・エンド・エージェント３３２ａにネゴシエーション・リクエストを送る４０８ことができる。該ネゴシエーション・リクエストは、ソース・フロント・エンド・エージェント３３２ｂに、この移動セッションについてのソースとしての該エージェントの役割を教える。ターゲット・フロント・エンド・エージェント３３２ｂは、ソース・フロント・エンド・エージェント３３２ａから移動されるべきオブジェクトを示すオブジェクト選択ポリシーを送ることができる。オブジェクト選択ポリシーは、１つ以上の基準の論理的結合を含むことができて、移動されるオブジェクト名がどの様に選択されるべきかを記述することができる。オブジェクト選択は、移動のために使用し得る１つ以上のオブジェクト名のリストを結果としてもたらすことができる。オブジェクト選択ポリシーについて以下で更に詳しく論じる。
【００６３】
ターゲット・フロント・エンド・エージェント３３２ｂは、ソース・フロント・エンド・エージェント３３２ａの応答を評価４１０する。もし否定ならば、データ移動マネージャ３２４は、ソース・フロント・エンド・エージェント３３２ａにより与えられたリターン・コードを評価４３０する。
【００６４】
次に、データ移動マネージャ３２４は、そのリターン・コードに基いて、ネゴシエーションを再試行するべきか否か判定４３２する。再試行についての１つの理由は、オブジェクト選択ポリシーがソース・データ移動マネージャ３２２により認識されていないオブジェクト名に帰着したということであり得る。この場合、ターゲット・フロント・エンド・エージェント３３２ｂは、異なるオブジェクト選択ポリシーを用いてデータ移動プロセスを再試行しようと試みることができる。もし再試行する判定４３２が肯定であれば、方法４００は別のネゴシエーション・リクエストを送る４０８。もし判定４３２が否定ならば、方法４００はエラー状態で終了４９９する。
【００６５】
もしターゲット・フロント・エンド・エージェント３３２ｂが応答を肯定結果に評価すれば、方法４００は続行される。次に、ソース・フロント・エンド３３２ａは、ソース・データ保持システム３０８から移動に適格なデータ・オブジェクトを選択４１１する。ソース・フロント・エンド３３２ａは、以下で説明されるいろいろな基準を統合したオブジェクト選択ポリシーに基いて移動に適格なデータ・オブジェクトを選択することができる。通常、ソース・フロント・エンド３３２ａは、移動されるべき１つ以上のオブジェクトの名前を含むリストを生成する。
【００６６】
ソース・データ保持システム３０８のフロント・エンド・エージェント３３２ａは、関連するバック・エンド・エージェント３３４ａに、該リスト上の選択されたデータ・オブジェクト３２（図１を参照）を引き出すように指示４１２する。フロント・エンド・エージェント３３２ａは、選択されたデータ・オブジェクト３２を、データ・オブジェクト３２を受け取るターゲット・システム３１０のフロント・エンド・エージェント３３４ｂに送る４１２。
【００６７】
次に、フロント・エンド・エージェント３３２ａは、転送されるデータについてチェックサムを計算４１３する。その後、ソース・システム３０８のフロント・エンド・エージェント３３２ａは、関連するバック・エンド・エージェント３３４ａに、保持時間、チェックサム、記憶場所、オーナー等のメタデータ・オブジェクト保持情報３０を引き出すように指示４１４する。フロント・エンド・エージェント３３２ａは、該オブジェクト保持情報をターゲット・システム３１０のフロント・エンド・エージェント３３２ｂに送る４１４。ターゲット・システムのフロント・エンド・エージェント３３２ｂは、計算されたチェックサムと送信されたチェックサムとを比較４１６する。もしそれらのチェックサムが一致しなければ、ターゲット・システムのフロント・エンド・エージェント３３２ｂは再試行カウンタをインクリメント４３４する。
【００６８】
ターゲット・システムのフロント・エンド・エージェント３３２ｂは、このカウンタを最大再試行カウンタと比較４３６する。もし再試行カウンタが最大再試行カウンタより大きければ、方法４００はエラー状態で終了する４９９。そうでなければ、方法４００は戻ってデータを送ること４１２及びデータを引き出すこと４１２を再試行する。
【００６９】
もしチェックサムが一致すれば、ターゲット・システムのフロント・エンド・エージェント３３２ｂは、残りの保持時間を計算しセット４１７する。その残りの保持時間は、ターゲット・データ保持システム３１０内の新しい保持時間になる。残りの保持時間は、該オブジェクトが格納されたときに該オブジェクトに割り当てられた総保持時間から既に経過した保持時間を引いた数学的な差により計算される。
【００７０】
次に、ターゲット・フロント・エンド・エージェント３３２ｂは、関連するバック・エンド・エージェント３３４ｂにデータ・オブジェクト３２とメタデータ・オブジェクト情報３０との両方を格納４１８する様に指示する。より正確には、バック・エンド・エージェント３３２ｂは、該データを格納し、ターゲット・システム３１０内の移動されたばかりのオブジェクトについて保持時間及び他のオブジェクト情報を使用することができる。バック・エンド・エージェント３３２ｂは、格納動作の結果を評価４２２する。その結果が有効であれば、バック・エンド・エージェント３３２ｂは移動完了メッセージをソース・フロント・エンド・エージェント３３２ａに送る４２８。このメッセージを受け取ると、ソース・フロント・エンド・エージェント３３２ａは、そのバック・エンド・エージェント３３４ａに、元の保持されるデータを削除するように指示４２９することができ、プロセスは首尾よく終了４９８する。もし格納動作が失敗したならば、方法４００は戻って再試行カウンタをインクリメント４３４する。
【００７１】
一実施態様では、方法４００の動作は各々の選択されたデータ・オブジェクトについて別々に実行される。代わりの実施態様では、方法４００は全ての選択されたオブジェクトについて一斉に実行される。
【００７２】
この実例としてのプロセスは、実行された各動作を記録することによって追跡記録の提供を容易にする。一実施態様では、データ移動マネージャ３２２，３２４は、各データ・オブジェクト３２及びメタデータ・オブジェクト情報３０を移動させる動作の進行を記録するように構成されたロガー（図示されていない）を含む。この追跡記録は、例えばＣＤ或いはＤＶＤなどの光学ワーム媒体に関連情報を格納することによって、一方または両方のデータ保持システム３０８，３１０において再書き込み不可能で削除不可能な媒体で保持され得る。
【００７３】
移動プロセス４００は、複数の別々の手段、すなわち（１）移動の開始がソース・データ保持システム３０８又はターゲットデータ保持システム３１０の中のユーザ設定可能なスケジュールに基くことができること、（２）移動が、ホスト・システム３０６又はアプリケーション３１８から、或いはソース３０８又はターゲット３１０データ保持システムからユーザによってトリガーされ得ること、（３）移動プロセスが、例えばソース・データ保持システム３０８の陳腐化或いはより新しいターゲット・データ保持システム３１０が利用可能であるなどの外部事象によりトリガーされ得ること、のうちの１つによってトリガーされ得る。
【００７４】
移動に適格なデータ・オブジェクトは、上で説明されたオブジェクト選択ポリシーに基いて選択される。開始をするフロント・エンド・エージェントはオブジェクト選択ポリシーを提供する。すると、ソース・フロント・エンド・エージェントは、移動されるべきオブジェクトのリストを作る。該選択ポリシーは１つの基準又はより多くの基準の論理的結合を含むことができて、次の基準すなわち（ａ）オブジェクトの年齢、（ｂ）アーカイバルの日付及び時間、（ｃ）１つの論理的な又は物理的な記憶場所に存在するオブジェクト、（ｄ）オーナーの名前、（ｅ）オブジェクトのサイズ、（ｆ）整列リスト、（ｇ）オブジェクト名の部分を表示するワイルド・カード、（ｈ）満期日及び（ｉ）イベントの受信又は削除ホールドなどの他の保持パラメータ、に基くことができる。例えば、選択ポリシーは２年より古い全てのオブジェクトを含むことができる。別のポリシーは、２年より古くて且つ特定のデータ記憶媒体に存在する全てのオブジェクトを含むことができる。論理的記憶場所はボリューム又はファイル・システムであり得、物理的記憶場所は、テープ、ディスク或いは光学媒体などの物理的記憶装置である。
【００７５】
図９のブロック図は、保持されるデータを移動させるプロセスを示す。始めに、ソース・バック・エンド・エージェント３３４ａは、保持されるデータのコピーをソース・データ保持システム３０８のプロトコルに従って作成５０２する。ソース・システム３０８のプロトコルは、データ保持システムの実施態様に基き、システムのタイプに応じてまちまちであり得る。関連するフロント・エンド・エージェント３３２ａは、そのコピーされたデータを共用のプロトコルに従って変換する。その共用のプロトコルは、フロント・エンド・エージェント３３２ａ，３３２ｂを介して種々のデータ保持システムを統合する。データ３２のコピーは、ターゲット・フロント・エンド・エージェント３３２ｂに送られる５０６。ターゲット・バック・エンド・エージェント３３４ｂは、受け取ったデータ３２をターゲット・データ保持システム３１０のプロトコルに従って変換５０８し、その後に該データを格納５１０する。好ましくは、保持時間、オーナー、チェックサム及び記憶場所などのメタデータ保持情報３０は該データと共に格納される。
【００７６】
本発明は、その精神或いは本質的特性から逸脱することなく他の特定の形で実施され得る。記載された実施態様はあらゆる面で単に例示的であって、限定をするものではないと見なされるべきである。従って、本発明の範囲は、上記の記述ではなくて添付されている請求項によって示される。該請求項の意味及び同等範囲に属するあらゆる変更はその範囲に含まれるべきである。
【図面の簡単な説明】
【００７７】
【図１】データ保持システムを含む在来のデータ管理システムを示すブロック図である。
【図２】複数の全く異なるタイプのデータ保持システムを含む在来のデータ移動システムを示すブロック図である。
【図３】本発明の一実施態様に従う、通信ネットワークを利用する代表的なデータ移動システムの側面を示すブロック図である。
【図４】本発明の一実施態様に従う、スイッチング・ファブリックを利用する代表的なデータ移動システムの側面を示すブロック図である。
【図５】本発明の他の実施態様に従う、データ移動Ｉ／Ｏインターフェースを利用する代表的なデータ移動システムの側面を示すブロック図である。
【図６】本発明の他の実施態様に従う共用のデータ移動Ｉ／Ｏインターフェースを利用する代表的なデータ移動システムの側面を示すブロック図である。
【図７】本発明の一実施態様に従う、共用のデータ移動マネージャを利用する代表的なデータ移動システムの側面を示すブロック図である。
【図８】本発明の一実施態様に従う、保持されるデータを移動させるためのプロセスを示すフローチャートである。
【図９】本発明の１実施態様に従う、保持されるデータを移動させるためのプロセスを示すブロック図である。
【符号の説明】
【００７８】
１０  データ管理システム
１２  クライアント・システム
１４  ドキュメント管理システム
１６  データ保持システム
２０  保持されるデータ
２２  保持されないデータ
２８  記憶装置
３０  メタデータ・オブジェクト
３２  保持されるデータ
３４  保持時間
１００  データ移動システム
１０２  スイッチ
１０４  ファブリック
１０６  ホスト・コンピュータ
１０８，１１０  データ保持システム
１１８  アプリケーション
１１２，１１４，１１６  Ｉ／Ｏインターフェース
１２０  保持されるデータ
２００  データ移動システム
２０２  ルータ
２０４  ネットワーク
２０６  ホスト・コンピュータ
２０８，２１０  データ保持システム
２１２，２１４，２１６  Ｉ／Ｏインターフェース
２１８  アプリケーション
２２０  保持されるデータ
２２２，２２４  データ移動マネージャ
２３０  移動されたデータ
２３２ａ、２３２ｂ  フロント・エンド
２３４ａ、２３４ｂ  バック・エンド
３００  データ移動システム
３０２  スイッチ
３０４  ファブリック
３０６  ホスト・コンピュータ
３０８，３１０  データ保持システム
３１２，３１４，３１６  Ｉ／Ｏインターフェース
３１８  アプリケーション
３２０  保持されるデータ
３２２，３２４  データ移動マネージャ
３３０  移動されたデータ
３３２ａ，３３２ｂ  フロント・エンド
３３４ａ，３３４ｂ  バック・エンド
３１２，３１４，３１６，３２６，３２８  Ｉ／Ｏインターフェース
３３６  Ｉ／Ｏインターフェース
３３８  共用データ移動マネージャ
４００  移動プロセス
４０２  開始
４０４  初期化
４０６  結果はＯＫ？
４０８  ネゴシエーション
４１０  結果はＯＫ？
４１１  データ・オブジェクトを選択する
４１２  データを送る／引き出す
４１３  チェックサムを計算する
４１４  情報を送る／引き出す
４１６  チェックサムＯＫ？
４１７  保持時間をセットする
４１８  データ及び情報を格納する
４２２  結果はＯＫ？
４２８  移動完了
４２９  ソース内のオブジェクトを削除する
４３０  結果を評価する
４３２  再試行？
４３４  カウンタをインクリメントする
４３６  カウンタ＜最大？
４９８  終了
４９９  異常終了
５０２  ソース・プロトコルに従ってデータのコピーを作成する
５０４  共用プロトコルに従ってデータのコピーを変換する
５０６  データのコピーを送信する
５０８  ターゲット・プロトコルに従ってデータのコピーを変換する
５１０  データのコピーを格納する
【図１】
0005165876.tif 000002
【図２】
0005165876.tif 000003
【図３】
0005165876.tif 000004
【図４】
0005165876.tif 000005
【図５】
0005165876.tif 000006
【図６】
0005165876.tif 000007
【図７】
0005165876.tif 000008
【図８】
0005165876.tif 000009
【図９】
0005165876.tif 000010