(57)【要約】記述の技術は一つ、もしくは複数の異種のデータ処理装置又は通信装置にデータを複製するためのものである。それは遠隔バックアップ、データの重複、コンテンツ配信、通信、観測又は計測を目的としている。第一段階においては、装置に作成、変更、また、装置を通過するデータの属性はリアルタイムで不揮発性、もしくは揮発性のストレッジに検索され、記録される。第二段階では、構成設定によりあらかじめ指定されているパターンと一致する属性はどのデータが複製され、どの装置に変更が加えられるかを判断するのに利用される。第三段階では、データの複製操作が実行される。理想的な実装例としては、記述の技術はホスト装置に実行されるアプリケーションに、又は論理回路や記憶装置にくみこまれることで適用されることが望ましい。記述の発明はシステムの冗長性の確保、又、エラー検出訂正機能、リンク上の再転送、RAID構成などエラーリカバリープロセスが容易なようにデザインされている。【選択図】      図１
2007511008.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置よりデータを変更するリクエストを受け、
メッセージキューに変更されたデータの属性を加え、
ストレッジ装置に変更されたデータの属性を保存し、
変更を実行し、データ変更操作のステータスを保存し、そして
クライアント装置から要請があった場合はクライアント装置に操作のステータスを伝えることを含むデータ複製方法。
【請求項２】
クライアント装置からリクエストを受けることはそのクライアント装置から別のクライアント装置にデータを転送することを含む請求項１の方法。
【請求項３】
データの変更を実行した装置から変更もしくは新しいデータ属性を少なくとも一つは取り込み、
ジャーナルメッセージキューに取り込んだデータ属性を加え、
ジャーナルキューから各メッセージを削除し、そして
データ変更を実行した装置にデータ属性が保存されている目標装置の指定されたパターンとデータ属性が一致した場合、そのメッセージのデータ属性を保存することをさらに含む請求項１の方法。
【請求項４】
目標装置へのデータ複製操作が停止していない場合、その目標装置のストレッジ装置から一つ、もしくはそれ以上のデータ属性を検索し、そして
目標装置へのデータ複製操作が停止していない場合、データ属性が表わしているコンテンツを目標装置に送ることをさらに含む請求項３の方法。
【請求項５】
ソース装置にあるデータ属性のリストと読み取り、データ属性が複製されるべきデータ属性のパターンと一致した場合、追加処理のため、データ属性のリストをジャーナルメッセージキューに加えることによって、ソース装置と目標装置のコンテンツの統合を実行するための複製操作をイニシャライズすることをさらに含む請求項４の方法。
【請求項６】
プログラム可能なプロセッサに、
クライアント装置からデータ変更のリクエストを受けること、
変更されたデータの属性をメッセージキューに加えること、
ストレッジ装置にデータ変更の属性を保存すること、
変更操作を実行し、その操作ステータスを保存すること、そして
クライアント装置からの要請があれば、その操作のステータスをクライアント装置に伝えること、
を実行させる命令を含む機械読み取り可能な媒体。
【請求項７】
プロセッサがクライアント装置からリクエストを受けるようにさせる命令は、そのクライアント装置から別のクライアント装置へのデータ転送のリクエストを受けることを含む請求項６の機械読み取り可能な媒体。
【請求項８】
プロセッサに以下のことを実行させる命令、
データの変更を実行した装置から変更もしくは新しいデータ属性を少なくとも一つは取り込むこと、
ジャーナルメッセージキューに取り込んだデータ属性を加えること、
ジャーナルキューから各メッセージを削除し、そして
データ変更を実行した装置にデータ属性が保存されている目標装置の指定されたパターンとデータ属性が一致した場合、そのメッセージのデータ属性を保存すること、
をさらに含む請求項６の機械読み取り可能な媒体。
【請求項９】
プロセッサに以下のことを実行させる命令、
目標装置へのデータ複製操作が停止していない場合、その目標装置のストレッジ装置から一つ、もしくはそれ以上のデータ属性を検索し、そして
目標装置へのデータ複製操作が停止していない場合、データ属性が表わしているコンテンツを目標装置に送ること、
をさらに含む請求項８の機械読み取り可能な媒体。
【請求項１０】
ソース装置にあるデータ属性のリストと読み取り、データ属性が複製されるべきデータ属性のパターンと一致した場合、追加処理のため、データ属性のリストをジャーナルメッセージキューに加えることによって、ソース装置と目標装置のコンテンツの統合を実行するためにプロセッサに複製操作をイニシャライズさせる命令をも含む、
請求項９の機械読み取り可能な媒体。
【請求項１１】
クライアント装置からデータ変更のリクエストをインターセプトできるパススルーコンポーネントと、
パススルーコンポーネントからデータ変更リクエストを受け、一つ、もしくは複数の遠隔記憶装置にデータの変更を複製するデータ複製エンジンとを含み、データ複製エンジンは、
パススルーコンポーネントからデータを変更するリクエストを受け、
メッセージキューに変更されたデータのデータ属性を加え、
一つ、もしくは複数の記憶装置にデータ属性を保存し、そして
変更操作を実行し、データ変更操作のステータスを保存する、
分散処理システムにおけるデータ複製操作を行う装置。
【請求項１２】
データ複製エンジンはデータ変更をリクエストしたクライアント装置が要求した場合、変更操作のステータスをクライアント装置に伝える請求項１１の装置。
【請求項１３】
データ複製エンジンはデータ属性を保存することによってデータ変更を同期式に捕らえ、データ複製操作を非同期式に実行する請求項１１の装置。
【請求項１４】
データ複製エンジンにはデータを目標装置に複製するためのトランスポートスレッドが含まれている請求項１１の装置。
【請求項１５】
データ複製エンジンは、
パススルーコンポーネントから一つ、もしくは複数のデ−タ変更の属性を検索するインプットスレッドと、
検索された属性を記憶するジャーナルキューと、そして
ジャーナルキューから属性を検索し、各々の属性を一つ以上のパスウェイの各々に挿入するジャーナルスレッドとを含み、各パスウェイが、
挿入された属性を記憶するパスウェイジャーナルと、
パスウェイジャーナルに記憶された属性を検索し、その属性によって表現されたデータを目標装置に複製するトランスポートスレッドに各々の属性を移すリモートスレッドと、
すでにワークジャーナルに属性が記憶されていない場合、リモートスレッドが検索した属性を記憶するワークジャーナルと、そして
ある属性の参照数がゼロの場合、その属性が記憶されているワークジャーナルとパスウェイジャーナルからそのような属性を削除する完了スレッドとを含む、請求項１２の装置。
【請求項１６】
分散処理システムのデータ複製に使われる装置であって、
クライアント装置からいくつかの中間クライアント装置へのデータ変更リクエストをインターセプトするパススルーコンポーネントと、そして
パススルーコンポーネントからデータ変更リクエストを受け、一つ、もしくは複数の遠隔記憶装置にデータの変更を複製するデータ複製エンジンとを含み、データ複製エンジンが、
パススルーコンポーネントからデータを変更するリクエストを受け、
メッセージキューに変更されたデータの属性を加え、
一つ、もしくは複数の記憶装置にデータ属性を保存し、そして
変更操作を実行し、データ変更操作のステータスを保存する装置。
【請求項１７】
クライアント装置から特定の中間クライアント装置へのデータ変更のリクエストをクライアント装置から受け、
メッセージキューに変更されたデータの属性を加え、
特定の中間記憶装置にデータ属性を保存し、
変更操作を実行し、データ変更操作のステータスを保存し、そして
クライアント装置のリクエストに応じて、変更操作のステータスをクライアント装置に伝えることを含むデータ複製方法。
【請求項１８】
それぞれの中間記憶装置に保存されているデータの属性を個々の中間記憶装置に対してあてがわれた別のいくつかの記憶装置にデータを複製することをさらに含む請求項１７の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータの複製に関連した発明である。特に異種のデータ処理装置及び/又はコミュニケーション装置から一対一もしくは複数の装置へのデータの複製に関連した発明である。
【背景技術】
【０００２】
データ複製は予期せぬ災害から情報資産を保護し、また、ビジネスの継続性を保証し、総所有コスト（TCO）を最小限に抑えながらデータを各要所に提供するために活用される。データ複製とはソース装置のデータを１つもしくは複数の目標装置にコピーすることである。目標装置はソース装置と同じホスト上に存在することも可能であり、また、遠隔の複数のホストに存在することも可能である。データ複製は装置の同期化、災害対策計画や事業継続計画の一環、コンテンツ配信、バックアップ統合又はサーバ移行等を理由に行われている。
【０００３】
企業にとって情報資産を保護することが最優先される。停電、洪水や竜巻などの天災、火事など人為的な災害やその他の災害が原因でITインフラストラクチャーが壊滅し、そこに保存されているデータを失うことになる。そのような災害に備え、企業情報を保護するために従来いくつか方法が導入されてきた。これらは多くの場合、ミラーテクノロジー（複製）を含むオフサイトバックアップ、耐障害性ハードウェア、そしてデータレプリケーションの利用を含む。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
データを必要な時に各ポイントに供給するには多大な費用がかかり、困難なこともある。使用されるポイントは複数のウェブサーバ、コンピュータクラスタノード、データエンジンによりデータが摂取される空間的に配信されたポイント、コラボラティブサーバ、データブローカー、データ再販業者、遠隔教育のエンドポイント、通信装置、ディスプレイ装置、アーカイブ又はバックアップのサービスポイントであったりする。データ複製のもう１つの用途はコンテンツを必要なポイントに配信することである。
【課題を解決するための手段】
【０００５】
一般的に、本発明は異種のデータ処理装置から一対一もしくは複数の装置へのリアルタイムでのデータの複製を可能にする技術に適用される。特にハイブリッドリアルタイムデータ複製技術は非同期式にデータの複製を行いながら、同期式に全てのデータの変更を捕らえる技術である。記述のハイブリッドリアルタイムデータ複製技術は変更されたデータ及びパススルーデータの両方の複製を含む。
【０００６】
同期式もしくは非同期式のいずれかを実行する従来のデータ複製技術と違い、記述のハイブリッドリアルタイムデータ複製技術はデータの保全性を維持しながら、長距離ネットワーク間の同期式データ複製に起因するレイテンシやネットワーク障害による制限を取り除くことが可能である。記述の技術はコンピュータ装置と同様、組み込みストレッジ装置、フラッシュメモリ、携帯電話、ディスプレイ、カメラ、医用画像機器などその他のインテリジェントディバイスにも応用される。さらに、記述の技術において、ソース装置と目標装置がアーキテクチュア及び構成面からしても、同種のものである必要はない。
【０００７】
記述の技術はビジネスの継続性及びコンテンツ配信の双方に活用できるものである。例えば、記述の技術はデータを二つのサーバ間で１：１単一方向又は両方向の構成でデータを複製することが可能であり、また、１：N構成で１つのホストから別のホスト、または複数のホストに同時にデータの複製を行うことも可能である。さらに、記述の技術はビジネスの継続性、コンテンツ配信、そしてバックアップ統合の為のソリューションをも提供する。特定の実装例においては、記述の技術はSolaris, HP-UX, IBM AIX, 等のUNIX（登録商標）系バージョンやLINUX（登録商標）にデータを複製する。
【０００８】
一つの実装例においては、本発明は以下を含むデータ複製方法に適用される。その複製方法とはクライアント装置からデータを変更する要請を受け、その変更されたデータの属性をメッセージキューに加え、変更個所のデータの属性をストレッジ装置に保存し、変更操作を実行し、データ変更操作のステータスを保存し、そしてクライアント装置からのリクエストがあれば、その操作のステータスをクライアント装置に伝えるというものである。
【０００９】
別の実装例においては、本発明は命令を含む機械読み取り可能な媒体に適用される。これらの命令によりプログラム可能なプロセッサはクライアント装置からデータを変更する要請を受け、その変更されたデータの属性をメッセージキューに加え、変更個所のデータの属性をストレッジ装置に保存し、変更操作を実行し、データ変更操作のステータスを保存し、そしてクライアント装置からのリクエストがあれば、その操作のステータスをクライアント装置に伝える。
【００１０】
また、別の実装例においては、本発明は分散処理システムにおけるデータの複製を実行するためのシステムに適用される。このシステムはパススルーコンポーネントとデータ複製エンジンから成る。パススルーコンポーネントはデータ変更要請をインターセプトし、データ複製エンジンはそのデータ変更要請をパススルーコンポーネントから受ける。そしてデータ複製エンジンはパススルーコンポーネントを通じてデータの変更を実行する要請をクライアント装置から受け、その変更されたデータの属性をメッセージキューに追加し、変更個所のデータの属性をストレッジ装置に保存し、変更操作を実行し、データ変更操作のステータスを保存し、そしてクライアント装置からのリクエストがあれば、その操作のステータスをクライアント装置に伝えることによってその変更データを一つ、もしくは複数の遠隔ストレッジ装置に複製する。
【００１１】
本発明にはいくつかの利点がある。例えば、本発明は一つの、もしくは複数の異種のデータ処理装置へのリアルタイムのデータ複製を可能にする技術を提供できる。ソース装置と目標装置が同種のアーキテクチュア、又は少なくとも同じ構成であることが求められる従来のデータ複製技術と違い、記述の技術はコンピュータ、ストレッジ装置、通信装置、センサー装置、観測及び計測装置など同種もしくは異種の装置からデータを送受信することが可能な装置のデータの複製を可能にする。加えて、記述の技術は非同期式に複製を実行しながら、同期式に全てのデータの変更を捕らえることができる。さらに、記述の技術は変更されたデータとパススルーデータの両方の複製を行う。
【００１２】
その上、記述の技術はビジネスの不断、災害リカバリーに備えて、バックアップの統合やバックアップ装置を構築することにより、顧客の情報資産を保護するための有利なデータ複製技術を提供することができる。記述の技術はコンテンツ配信の自動化をも可能にする。結果として、記述の技術はパフォーマンスに過大な影響を及ぼすことなく高水準のデータ保護と可用性を提供しながら、企業の情報資産の総所有コスト（TCO）削減にも貢献できる。
【００１３】
本発明の一つもしくはいくつかの実装例の詳細については添付の図や下記の説明に記載されている。本発明のその他の特徴、目的や利点については詳細説明や図、そして請求範囲に詳しく記載されている。
【発明を実施するための最良の形態】
【００１４】
図１は本発明が実装されている構成の一例がインプリメントされている操作環境の一例（操作環境２）を表わしたブロック図である。この実装例においてソース装置３０はネットワーク２０を通してクライアント装置１０A−１０N（以下まとめてクライアント装置１０と言及）と接続されている。ソース装置３０はソース装置３０が変更、作成、もしくは通過するデータ４０を目標装置５０に複製する。
【００１５】
目標装置５０はネットワーク２１を通して、クライアント装置１１A-１１N（以下まとめてクライアント装置１１と言及）に任意的に接続されている。一般的に、クライアント装置１０の一つ、もしくは複数の装置はソース装置３０にコンテンツを作成するか、あるいはデータをソース装置３０を通過させることによって一つ、もしくは複数のクライアント装置１０にデータ４０を送信する。ソース装置３０において変更されたデータや通過したデータは目標装置５０に複製される。結果として、データ複製を非同期式に実行しながら、変更された全てのデータを同期式に捕らえることによって、一つ、もしくは複数の異種のデータ処理装置間におけるデータ複製を行うことができる。そのように、記述のデータ複製技術は一つ、もしくは複数の同種又は異種の装置間でのデータの同期化、及び／又はデータコンテンツの配信を可能にする。また、記述のデータ複製技術は同じ装置内でのデータの同期化、及び／又はデータコンテンツの配信をも可能にする。
【００１６】
クライアント装置１０と１１はストレッジ装置、フラッシュメモリ、携帯電話、カメラ、医用画像機器やそのほかの通信、観測及び計測装置など同種もしくは異種の装置からデータを送受信することが可能な装置等のいずれか一つ、もしくは組み合わせであることが可能である。ネットワーク２０と２１には衛星、無線、パケットラジオ、リースライン、イーサネット（登録商標）、ATM,DSL,ブロードバンド等を含む、クライアント１０と１１間でデータ伝送が可能な、その他全てのネットワークの応用が可能である。
【００１７】
ハイブリッドリアルタイムデータ複製技術はソース装置３０、あるいは目標装置５０においてアプリケーションとして実行されるように構成されている。理想的な実装例において、ソース装置３０と目標装置５０はUNIX（登録商標）系OS、又はLINUX(登録商標), Solaris, HP-UX, IBMやAIXを含むその他のOSを使用するホストコンピュータ装置である。しかしながら、ソース装置３０と目標装置５０は装置のタイプ、アーキテクチュア、構成が同じものである必要はない。さらに、ハイブリッドリアルタイムデータレプリケーションシステムはハードウェア、ファームウェアそしてソフトウェアベースの実装に加えて、EEPROMやゲートアレー等の論理回路や記憶装置にもくみこむことが可能である。この分野の専門家は操作環境２は本発明の単なる一つの典型的な応用例に過ぎず、別の構成の応用も本発明の範疇を逸脱するものではないことが理解できるはずである。
【００１８】
例として、図解の１：１の構成において、ハイブリッドリアルタイムデータ複製技術は二つのサーバ間（この場合、ソース装置３０と目標装置５０）のデータの複製に適用される。NFS,ダイレクトコネクション、SAMBA、CIFSなどを使用する一つ、もしくは複数のクライアント装置１０によって変更されたデータはファイルシステムやOSにかかわらず、相互のサーバに複製される。図に表示されていないが、二つのサーバはLAN（構内通信網）又はインターネットなどの長距離ネットワークによって接続されていることも可能である。二つのサーバのどちらかが災害時にシャットダウンしたとしても、データはもう一つのサーバに複製され、保護されているのでリカバリーも即座に可能である。
【００１９】
また別の例として、コンピュータネットワーク上、又は装置のネットワーク上にある一つ、もしくは複数の分散された異種のプロダクションサーバや装置がこの技術を用いて一つ、もしくは複数の遠隔装置やストレッジバックアップ装置にデータを複製することも可能である。分散環境において異種の装置やサーバのデータが変更されると、速やかな災害復旧や高い可用性を保証するため、もしくは装置のコンテンツを同期化するためにデータのミラーリングが成され、記述の技術によって変更されたデータの一部、もしくは全てが一つ、もしくは複数の遠隔装置、ストレッジバックアップ装置や遠隔サーバに複製される。それからストレッジバックアップ装置や遠隔サーバのデータはプロダクションサーバのデータに影響を及ぼすことなく、他の永久記憶装置又は一時記憶装置にアーカイブすることができる。本発明が遠隔装置やサーバに実装されている例においては、装置やストレッジバックアップ装置にデータのポイントインタイムコピーを作成するために一時休止させることもできる。
【００２０】
別の例においては、ある装置内で変更されたデータ、もしくは単に通過したデータを確認し、ある構成内の一つ、もしくは複数の装置のデータを同じように変更することが求められることもある。例えば、あるユーザーは複数のコンピュータや装置が一定時間経過後、コンテンツが同じになるように同期化することを望むかもしれない。そのユーザーは複数の遠隔装置間のストレッジを同期化するために本発明を適用することができる。
【００２１】
また別の例では、記述の技術はコンピュータに内臓されているインテリジェントストレッジ装置に実行されるアプリケーションとして適用されることもある。その装置は独自のOSと本発明を統合することもできるし、又は、ホストコンピュータのOSとホストコンピュータに実装されている本発明を利用することができる。この装置はある一部、もしくは全てのデータオブジェクトをその他のインテリジェントディバイスに配信することのよって統合を図る。
【００２２】
別の例においてはカメラ又はセンサーが通信装置に接続されている。そのカメラやセンサー装置がデータを捕らえ、又はデータがその装置を通過すると、データの一部もしくは全部が記述の技術を適用することによって一つ、もしくは複数の遠隔装置にコピーされる。コンフィギュレーションフィルターの使用によりどのデータが配信されるかを決める。
【００２３】
記述のハイブリッドリアルタイムデータ複製技術はデータの保全性を維持しながら、長距離ネットワーク間の同期式データ複製に起因するレイテンシやネットワーク障害による制限を取り除くことが可能である。さらに、バックアップの統合やバックアップ装置を構築することにより、ビジネスの不断、災害リカバリーに備え、顧客の情報資産を保護するためのソリューションとしてハイブリッドリアルタイムデータ複製技術が活用されることが有力な利点である。その上、記述の技術はコンテンツ配信の自動化をも可能にする。結果として、記述の技術はパフォーマンスに過大な影響を及ぼすことなく高水準のデータ保護と可用性を提供しながら、企業の情報資産のTCO削減にも貢献できる。
【００２４】
図２は本発明が実装されている構成の一例が含まれている操作環境の一例（操作環境６２）を表わしたブロック図である。この図の実装例においては、ソース装置９０は変更、作成、あるいはソース装置９０を通過するデータ１００を複数の目標装置１１０A-１１０N（以下まとめて複数の目標装置１１０と言及）に複製する。ソース装置９０はクライアント装置７０A-７０N（以下まとめてクライアント装置７０と言及）にネットワーク８０を通して接続している。
【００２５】
一般的に、クライアント装置７０の一つ、もしくは複数の装置はソース装置９０のコンテンツを変更、又は作成し、あるいはデータ１００をソース装置９０を通過させることによって一つの、もしくは複数のクライアント装置７０にデータ１００を送信する。ソース装置９０において変更されたデータや通過したデータは目標装置１１０に複製される。明確には、この場合データの複製は複製操作を非同期式に実行しながら、変更されたデータを同期式に捕らえることによって達成される。そのように、記述のデータ複製技術は一つ、もしくは複数の同種又は異種の装置間でのデータの同期化、及び／又はデータコンテンツの配信を可能にする。また、記述のデータ複製技術は同じ装置内でのデータの同期化、及び／又はデータコンテンツの配信を可能にする。
【００２６】
図解の１：N構成において、記述のハイブリッドリアルタイムデータ複製技術は１つのホストから複数のホストに同時にデータの複製を実行する為に適用できる。例として、ヘルスケア・プロバイダがLINUX系のシングルホストからLINUX, AIX, Solaris等の複数の、異なるアーキテクチュアで構成されている遠隔のホストにデータをリアルタイムで配信するためにこの技術を活用することも可能である。
【００２７】
図３は本発明が実装されている構成の一例がインプリメントされている操作環境（操作環境１１２）の別例を表わしたブロック図である。この実装例においては、複数のソース装置１４０A−１４０N（以下まとめて複数のソース装置１４０と言及）は複数のソース装置１４０によって変更、作成、あるいは一つ、もしくは複数のソース装置１４０を通過したデータ１５０を目標装置１６０に複製する。複数のソース装置１４０はクライアント装置１２０A-１２０N（以下まとめてクライアント装置１２０と言及）にネットワーク１３０を通して接続している。目標装置１６０はネットワーク１３１を通して、クライアント装置１７０A-１７０N（以下まとめてクライアント装置１７０と言及）に任意的に接続されている。
【００２８】
一般的に、一つ、もしくは複数のクライアント装置１２０は一つ、もしくは複数のソース装置１４０のコンテンツを変更又は作成し、あるいはデータ１５０を一つ、もしくは複数のソース装置１４０を通過させることによって、データ１５０を別の一つ、もしくは複数のクライアント装置１２０に送信する。一つ、もしくは複数のソース装置１４０で発生し、もしくは通過するデータ変更は目標装置１６０に複製される。
【００２９】
結果として、データ複製を非同期式に実行しながら、変更された全てのデータを同期式に捕らえることによって、データ複製を達成することができる。そのように、記述のデータ複製技術は一つもしくは複数の同種又は異種の装置間でのデータの同期化、及び／又はデータコンテンツの配信を可能にする。また、記述のデータ複製技術は同じ装置内でのデータの同期化、及び／又はデータコンテンツの配信を可能にする。
【００３０】
図解のN:1の構成においては、記述のハイブリッドリアルタイムデータ複製技術はバックアップの統合やバックアップ装置の構築に活用することができる。例えば、ある金融機関においては、予期せぬ災害が発生した際に、ダウンタイムを最小限に復旧可能にするためにデータをオンラインに維持した状態でバックアップ統合を可能にする単一、もしくは複数のバックアップ装置の構築にこの技術を活用することができる。言い換えれば、単一の目標装置１６０を用いることによって複数のソース装置１４０のバックアップを統合することができる。
【００３１】
この技術はユーザーが主系統システムにアクセスしている状態でいつでもバックアップを実行することを可能にし、結果的に、バックアップのコストを削減することに貢献できる。言い換えれば、この技術はリアルタイムで実行される自動オンラインバックアップを可能にする。さらに、テープ装置によるバックアップもいつでも実行することができる。ユーザーはダウンタイムなしに継続的に２４/７でデータにアクセスできるので、結果的に、労働時間、給与の削減、また、従来オフピーク時にバックアップを実行することを強いられてきたことで発生するスタッフの時間外給の削減も実現できる。
【００３２】
セキュリティー拡張のため、この金融機関は二つのバックアップ装置により交互にバックアップを実行するフレキシブルなスケジュールを設定することによってデータ変更の完全な記録を作成し、同時にネットワーク上を通過するその他のデータに優先権を与えることもできる。記述のハイブリッドリアルタイムデータ複製技術の“一時停止”と“再開”の機能を利用することによって、ユーザーは定められた時間帯は複製操作を一旦停止させることができる。複製操作が再開されると、停止中に変更されたデータは全て目標装置に複製される。記述のハイブリッドリアルタイムデータ複製技術は時間的及び空間的観点からビジネスの継続性を確保できるように構成可能である。
【００３３】
図４は本発明の実装例で、カスケード又はファンアウトの単一ソースと複数の目標装置の構成において実行されるデータレプリケーションを表わしたブロック図である。
【００３４】
重要な点は、本発明は前述の構成のみに限定されないことである。例えば、１：１、１：N、カスケード構成を集中的に管理し、そこから全てのユーザーに配信されるような一つのリポジトリ（例：ファイル）に保存することも可能である。希望に応じて、ローカルのITマネージャに管理責任を委ねることも可能である。
【００３５】
例として、国際大学コンソーシアムと国内の各研究所の間でこのハイブリッドリアルタイムデータ複製技術を利用してお互いにコンテンツを配信し合い、地球気候の変化や生物化学等に関する共有のデータを加盟サイトに複製することによってこれらのデータを保護することができる。一つの加盟サイトの研究者達が取得したデータはこの方法で即座にその他の加盟サイトと共有することができる。
【００３６】
研究者の一人がデータを分析し、変更を加えると、それは即座に、ありのままの状態で世界中のサイトでアクセス可能になる。例えば、シドニー、オーストラリアの研究者達によって作成され、変更を加えられたデータはシアトル、シカゴをはじめ、スペインのマドリッドにも送信することができる。次の段階で、データは中間ホストを介して、その他のホストにも送信することが可能である。結論として、ハイブリッドリアルタイムデータ技術はレプリケーションマトリックスの管理を合理化し、コンテンツをリアルタイムで配信し、ソフトウェア導入の自動化を図り、且つ、ビジネスの継続性を保証することに活用される。
【００３７】
図５は本発明を適用したハイブリッドリアルタイムデータ複製装置２０２の実装例を表わしたブロック図である。装置はソース装置又は目標装置においてアプリケーションとして実行するように構成されているソフトウェアコンポーネントが含まれている。理想的な実装例において、ソース装置と目標装置はUNIX系OS、又はLINUX, Solaris, HP-UX, IBMやAIXを含むがそれに限定されないその他のOSを使用するホストコンピュータ装置である。図解の実装例では入出力（I/O）インターフェース２１２は装置２０２とホスト装置又は本発明が組み込まれている装置のコンポーネントとの間に位置付けられている。装置２０２はパススルーコンポーネント２１４、一つ、もしくは複数の変更キュー２２０（以下変更キュー２２０と言及）、そしてデータ複製エンジン２３０から構成されている。パススルーコンポーネント２１４、変更キュー２２０とデータ複製エンジン２３０は記述の発明の範疇を逸脱しないように、サブコンポーネントに分けられたり、単体のコンポーネントに含まれたりすることもある。
【００３８】
パススルーコンポーネント２１４は他のクライアント装置とホスト装置との間にあるI/Oインターフェース２１２とホスト装置の物理通信層、もしくはストレッジ抽象層との間に挿入される。データ変更要請２１０がパススルーコンポーネント２１４を通過すると、データの属性は後にデータ複製エンジン２３０によって検索されるまで変更キュー２２０に保存される。データをローカルに変更するためにデータ変更要請２１０はストレッジ抽象層２１６をも通過する。
【００３９】
図６はパススルーコンポーネント２１４（図５）のプロセスの一例をフローチャートに表わしたものである。はじめに、リクエストされたデータ変更操作が実行され（２４０）、操作が成功であれば（２４２）データ変更を表わす属性は変更キュー２２０に追加される（２４４）。変更操作が成功したことを知らせるリターンステータスも送られる（２４６）。もし、変更操作が失敗した場合は、その旨を知らせるリターンステータスが送られる。
【００４０】
図７はデータ複製エンジン２３０（図５）の実装例を図に表わしたものである。データ複製エンジン２３０は一つ、もしくは複数の構成ファイル又は構成コマンド（表示なし）を所有している。これらの構成ファイルやコマンドにはどの装置がデータを受信するか、どのデータを複製するか、いつ複製操作を停止するか、いつ複製操作を再開するか等の複製操作の指針に関する情報が含まれている。データ複製エンジン２３０は一つ、もしくはそれ以上の複製パスウェイ２８０A−２８０N（一つでも、総合しても以下パスウェイ２８０と言及）を所有している。データ複製エンジン２３０にはデータ複製操作を行うために同時に実行されるインプットスレッド２５０、ジャーナルスレッド２７０、完了スレッド３３０A−３３０N、リモートスレッド３００A−３００Nとトランスポートスレッド３２０A−３２０Nが含まれている。それぞれのパスウェイ２８０には対応する完了スレッド３３０A−３３０N、リモートスレッド３００A−３００Nとトランスポートスレッド３２０A−３２０Nが一つずつ含まれている。さらに、それぞれのパスウェイ２８０にはそれぞれ同じく対応するパスウェイジャーナル２９０Aが含まれている。
【００４１】
インプットスレッド２５０はパススルーコンポーネント２１４（図５）の変更キュー２２０から変更の属性を検索し、その属性をジャーナルキュー２６０に記憶する。同時に、ジャーナルスレッド２７０はジャーナルキュー２６０から属性を検索し、それぞれの属性もしくは項目をパスウェイ２８０の各々のバスウェイジャーナル２９０A−２９０Nに挿入する。ジャーナルスレッド２７０はもし、ある項目がすでにジャーナルキュー２６０に記録されている場合は参照数を記録する。
【００４２】
各々のパスウェイ２８０内で、リモートスレッド３００A−３００Nは対応するパスウェイジャーナル２９０A−２９０Nから同時に項目を検索する。ある項目がワークジャーナル３１０A−３１０Nに記録されていない場合、その項目はワークジャーナル３１０A−３１０Nに記憶されてからトランスポートスレッド３２０A−３２０Nに送られる。その項目がすでにワークジャーナル３１０A−３１０Nに記憶されている場合は、その項目の参照数を増やす。トランスポートスレッド３２０A−３２０Nは属性項目が表わしているデータの複製が完了した後、その項目を完了スレッド３３０A−３３０Nに送る。その項目は完了スレッド３３０A−３３０Nによりワークジャーナル３１０A−３１０Nから削除され、パスウェイジャーナル２９０A−２９０Nの参照数がゼロであれば、その項目はバスウェイジャーナル２９０A−２９０Nからも取り除かれる。ソフトウェアデザイン分野の専門家はこの実装例とは違うスレッド数、同時、直列又は並列コンポーネントの活用が記述の本発明の範疇を逸脱するものではないことを承知している。
【００４３】
図８はインプットスレッド２５０（図７）のプロセスの一例をフローチャートで表わしたものである。最初にデータの属性はパススルーコンポーネント２１４（図５）の変更キュー２２０（図５）から検索される（３４０）。属性項目の検索に成功した場合（３４２）、その項目はジャーナルキュー２６０（３４４）に記憶される。属性項目の検索が成功しなかった場合はインプットスレッド２５０は他の項目が入ってくるのを待ち（３４６）、別の項目の検索を試みる（３４０）。
【００４４】
図９はジャーナルスレッド２７０（図７）のプロセスの一例をフローチャートに表わしたものである。ジャーナルキュー２６０にデータが存在しない場合（３５２）、ジャーナルスレッド２７０はジャーナルキュー２６０にあるデータを待つ（３５０）。ジャーナルキュー２６０にデータが存在する場合、最初のデータ属性又は、項目が検索される（３５４）。各々の構成されたパスウェイ２８０（図７）において、検索されたデータ項目はそのパスウェイ２８０（３５６）の構成データと比較される。データ属性がそれぞれに特定のパスウェイ２８０の構成データと一致した場合、そのデータ属性は対応するパスウェイジャーナル２９０A−２９０N（３５８）に記憶される。パスウェイ２８０（図７）に含まれている全てのパスウェイがプロセスされた後（３６０）、ジャーナルスレッド２７０はジャーナルキュー２６０のデータの検索に移る。パスウェイ２８０（図７）に含まれる全てパスウェイの検索が完了していない場合は（３６０）次のパスウェイ２８０の検索を引き続き実行する（３６２）。
【００４５】
図１０はそれぞれのパスウェイ２８０（図７）にあるリモートスレッド３００A−３００N（図７）のプロセスの一例をフローチャートで表わしたものである。データの複製操作が停止していない状態で、データが対応する一つのパスウェイジャーナル２９０A−２９０N（図７）にある場合、そのデータは検索され、対応する一つのワークジャーナル３１０A−３１０N内に記憶される（３７０）。対応するトランスポートスレッド３２０A−３２０N（図７）が使用中でなければ（３７２）、そのデータは該当するトランスポートスレッドに送られる。対応するトランスポートスレッド３２０A−３２０N（図７）が使用中の場合は（３７２）データ複製操作は該当するトランスポートスレッドよりインプットを受けられるという知らせを待つ（３７６）。
【００４６】
図１１はそれぞれのパスウェイ２８０（図７）にあるトランスポートスレッド３２０A−３２０N（図７）のプロセスの一例をフローチャートで表わしたものである。対応する一つのリモートスレッド３００A−３００N（図７）からデータがない場合は（３８０）、対応する一つのトランスポートスレッド３２０A−３２０N（図７）はデータが得られたという知らせを待つ（３８２）。該当するリモートスレッド（図７）からデータが得られた時に、そのデータは検索され（３８４）、リモート装置に送られる（３８６）。データの複製が成功した場合（３８８）、そのデータ項目は成功と記され（３９０）、対応する一つの完了データスレッド３３０A−３３０N（図７）に送られる（３９２）。データの複製が不成功に終わった場合は、データ項目は不成功と記される（３９４）。データ属性はどちらかマークされると、そのデータは該当する一つの完了スレッド３３０A−３３０N（図７）に送られ、対応するトランスポートスレッド３２０A−３２０N（図７）は他に検索するデータがあるかどうかをチェックする（３８０）。トランスポートスレッド３２０A−３２０N（図７）は対応するリモートスレッド３１０A−３１０N（図７）と圧縮方法や適用レベルについて取り決める（表示なし）。トランスポートスレッド３２０A−３２０N（図７）は転送速度を監視し、構成設定条件（表示なし）に従い、転送速度を速めたり、減速したりするために圧縮方法やレベルを変える。
【００４７】
図１２はパスウェイ２８０（図７）内の完了スレッド３３０A-３３０N（図７）のプロセスの一例をフローチャートで表わしたものである。対応するトランスポートスレッド３２０A−３２０N（図７）からのデータが得られない場合（４００）、対応する完了スレッド３３０A-３２０N（図７）はデータが得られたという知らせを待つ（４０２）。データが得られた時に、該当するトランスポートスレッド（図７）からデータは検索される（４０４）。該当するトランスポートスレッド３２０A−３２０N（図７）がデータ検索を成功とマークした場合（４０６）、対応するパスウェイジャーナル２９０A−２９０N（図７）からデータは削除される（４０８）。その後、データは対応するワークジャーナル３１０A−３１０N（図７）から削除される（４１０）。該当するトランスポートスレッド３２０A−３２０N（図７）によってデータ検索が成功とマークされなかった時には、データは対応するワークジャーナル３１０A−３１０N（図７）から削除される。
【００４８】
記述のハイブリッドリアルタイムデータ複製技術は本発明が実装可能な操作環境においては一般的な汎用コンピュータシステムに適用できる。この操作環境はこの技術が適している操作環境の単なる一例に過ぎず、本発明の適用範囲または機能性をこれに制限する意図はないことを留意すべきである。パソコン、サーバコンピュータ、携帯及びラップトップコンピュータ、マルチプロセッサシステム、マイクロプロセッサシステム、プログラム可能な家電製品、ネットワークパソコン、ミニコンピュータ、メインフレームコンピュータ、分散コンピュータ環境等を含むがそれに限定されない、その他の周知のコンピュータシステム、操作環境、及び／又は構成も本発明の適用範囲である。
【００４９】
本発明がソフトウェアに適用された場合、機械読み取り可能、もしくはコンピュータ読み取り可能な媒体がコンピュータ読み取り可能な命令（例えばプログラムコード）を記憶し、プロセッサにより前述の技術を実行できるようにすることが可能である。例として、機械読み取り可能、もしくはコンピュータ読み取り可能な媒体とはランダムアクセスメモリ（RAM)、リードオンリーメモリ（ROM）、不揮発性メモリ（NVRAM）、ゲートアレー、電気的に消去可能なEEPROM、デジタルバーサタイルディスク（DVD）やその他の光ストレッジ、磁気カセット、磁気テープやその他の磁気記憶装置、又、必要なデータを記憶し、プロセッサによりアクセス可能なその他の媒体をも含む。機械読み取り可能な、もしくはコンピュータ読み取り可能な媒体はここに記述される技術の実行を指示するコンピュータ読み取り可能な命令を含むことができる。これらの実装例、又その他の実装例は以下の請求項の範疇を逸脱するものではない。
【図面の簡単な説明】
【００５０】
【図１】本発明の実装例で、単一ソース装置と単一目標装置の構成において実行されるハイブリッドリアルタイムデータレプリケーションを表わしたブロック図である。
【図２】本発明の実装例で、単一ソース装置と複数の目標装置の構成において実行されるハイブリッドリアルタイムデータレプリケーションを表わしたブロック図である。
【図３】本発明の実装例で、複数のソース装置と単一の目標装置の構成において実行されるハイブリッドリアルタイムデータを表わしたブロック図である。
【図４】本発明の実装例で、カスケード又はファンアウトの単一ソースと複数の目標装置の構成において実行されるハイブリッドリアルタイムデータレプリケーションを表わしたブロック図である。
【図５】本発明によるハイブリッドリアルタイムデータレプリケーションの一例を表わしたブロック図である。
【図６】図５にあるパススルーコンポーネントのプロセスの一例を表わしたフローチャートである。
【図７】図５にあるデータレプリケーションエンジンの実装例を表わした図である。
【図８】図７にあるインプットスレッドのプロセスの一例を表わしたフローチャートである。
【図９】図７にあるジャーナルスレッドのプロセスの一例を表わしたフローチャートである。
【図１０】図７にあるリモートスレッドのプロセスの一例を表わしたフローチャートである。
【図１１】図７にあるトランスポートスレッドのプロセスの一例を表わしたフローチャートである。
【図１２】図７にある完了スレッドのプロセスの一例を表わしたフローチャートである。
【符号の説明】
【００５１】
１０、１１、７０、１２０、１７０・・・クライアント装置  １１０・・・目標装置  １００、１５０・・・データ  １４０・・・ソース装置
【図１】
2007511008.tif 000003
【図２】
2007511008.tif 000004
【図３】
2007511008.tif 000005
【図４】
2007511008.tif 000006
【図５】
2007511008.tif 000007
【図６】
2007511008.tif 000008
【図７】
2007511008.tif 000009
【図８】
2007511008.tif 000010
【図９】
2007511008.tif 000011
【図１０】
2007511008.tif 000012
【図１１】
2007511008.tif 000013
【図１２】
2007511008.tif 000014
【国際調査報告】
2007511008.tif 000015
2007511008.tif 000016
2007511008.tif 000017