(57)【特許請求の範囲】
【請求項１】
コンテキストを有し且つコンテンツを持ったアプリケーションを更に有するシステムにおいて、モデル駆動手法を使用する柔軟性のあるデータ・アーカイブのための方法であって、コンピュータが、
前記アプリケーションのコンテンツを分析するステップと、
前記アプリケーションの前記コンテンツに基づいて、第１のデータ・アーカイブ仕様モデルを作成するステップであって、前記第１のデータ・アーカイブ仕様モデルは標準化された汎用モデル言語において生成され、前記第１のデータ・アーカイブ仕様モデルは、アーカイブ・データが保存されるべきか又はパージされるべきかどうかを示すアーカイブ・オペレーション・スケジュールを含む、前記作成するステップと、
前記第１のデータ・アーカイブ仕様モデルを変形させ、グラフィカル・モデル化ツールに基づいて前記アーカイブ・データをモデル化するステップと、
前記第１のデータ・アーカイブ仕様モデルから第２のデータ・アーカイブ仕様モデルを生成するステップと、
前記第２のデータ・アーカイブ仕様モデル及び前記コンテキストに基づいてアーカイブ・アプリケーションを構成するステップと、
前記アーカイブ・アプリケーションをデプロイし、データ・アーカイブを作成するステップと
を実行することを含む、前記方法。
【請求項２】
前記コンピュータが、
データ・アーカイブ要件を識別するステップと、
データ・タイプ、関連性、及びアーカイブ・ルールに関連する情報を捕捉するステップと
を実行することを更に含む、請求項１に記載の方法。
【請求項３】
前記コンピュータが、
データ、データ・タイプ、関連性、データ・フィルタリング条件、アーカイブ・ルール、並びに、データ・ソース及びアーカイブ・リポジトリに基づいて前記第２のデータ・アーカイブ仕様モデルを定義するステップ
を実行することを更に含む、請求項２に記載の方法。
【請求項４】
前記コンピュータが、
前記データ・アーカイブをテストするステップ
を実行することを更に含む、請求項１に記載の方法。
【請求項５】
前記コンピュータが、
アーカイブ結果を観察するステップと、
アーカイブ・モデル最適化のために前記アーカイブ結果をフィード・バックするステップと
を実行することを更に含む、請求項４に記載の方法。
【請求項６】
柔軟性のあるデータ・アーカイブのためのグラフィカル・データ・アーカイブ・メタモデルを使用する方法であって、コンピュータが、
アプリケーションのコンテンツを分析するステップと、
前記アプリケーションの前記コンテンツに基づいて、第１のデータ・アーカイブ仕様モデルを作成するステップであって、前記第１のデータ・アーカイブ仕様モデルは標準化された汎用モデル言語において生成され、前記第１のデータ・アーカイブ仕様モデルは、グラフィカル・データ・アーカイブ・メタモデルに基づく、前記生成するステップと、
１又はそれ以上の前記第１のデータ・アーカイブ仕様モデルに基づいてアーカイブ・データをモデル化するステップであって、前記グラフィカル・データ・アーカイブ・メタモデルは、下記命令を含むアーカイブ・スケジューリング・オペレーションを含み、当該命令が、
データをアーカイブする及びパージするステップと、
いつアーカイブ手順の実行を開始すべきかを表すステップと、
何がアーカイブされるべきかを表すステップと、
何をアーカイブすべきか及びアーカイブすべき量を識別するステップと、
を含む、前記モデル化するステップと
を実行することを含み、前記コンピュータが、前記第１のデータ・アーカイブ仕様モデルを変形させ、第２のデータ・アーカイブ仕様モデルを作成する、前記方法。
【請求項７】
前記アーカイブする及びパージするステップが、
パージ特性が真にセットされているとき、前記アーカイブされているデータをパージし、前記パージ特性が真にセットされていないとき、前記データをアーカイブするステップ
を含む、請求項６に記載の方法。
【請求項８】
前記いつアーカイブ手順の実行を開始すべきかを表すステップが、
いつアーカイブ・プロセスの実行を開始すべきかを識別するステップと、
アーカイブ・プロセスの２つ実行相互間のインターバルを識別するステップと
を含む、請求項７に記載の方法。
【請求項９】
前記何がアーカイブされるべきかを表すステップが、
一意的な識別標識（ＩＤ）を有するオブジェクトを関連付けるステップと、
前記オブジェクトをファイル又はテーブルとして分類するステップと
を含む、請求項８に記載の方法。
【請求項１０】
請求項１〜９のいずれか一項に記載の方法の各ステップを実行するシステム。
【請求項１１】
コンピュータに、請求項１〜９のいずれか一項に記載の方法の各ステップを実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル駆動手法を使用してデータ・アーカイブを行う方法及びシステムに関する。本発明は、モデル駆動手法を使って柔軟性のある汎用データ・アーカイビング・ソリューションを提供する。
【背景技術】
【０００２】
多くの企業はデータの爆発的増加（data explosion）の問題に悩まされている。データは、毎年、指数関数的な割合で増加し、その大部分は、アクティブ・データ、非アクティブ・データ、及び使用不能データの混在によって引き起こされる。企業がビジネス上の重要なデータを所定期間にわたって保存するということを、多くの政府規制が義務付けている。例えば、サーベンス・オクスリー法、医療保険の携行性と責任に関する法律（ＨＩＰＡＡ）及びバーゼルII（バーゼル合意の第２項）はいずれも、企業がビジネス上の重要なデータを所定期間にわたって保存することを義務付けている。非アクティブ・データ及び使用不能データのパーセンテージが運用環境において非線形的に増加していることを、統計が示している。この問題は次のような重大な結果を導くことになろう。
１． データの爆発的増加
２． アプリケーション・パフォーマンスの低下 
３． 情報技術（ＩＴ）のコスト、例えば、維持コスト、ハードウェア及び格納コスト等の増加。
【０００３】
データ・アーカイビングは、操作環境から非アクティブ・データ及び使用不能データを選び、このデータを、将来の使用のためにアーカイブ・スペースに移動させるための実用的な手法である。非アクティブ・データが最早必要ではないとき、それをアーカイブ・スペースから取り除くことがある。これは、データ・パージとして知られている。従って、企業アプリケーションのパフォーマンスが増強されるだけでなく、コストも減少及び節約され得る。パフォーマンスの低下及びＩＴコストの増加を生じる「何もしないこと」によるアプローチとは別に、今日では３つの主要なデータ・アーカイブ・ソリューションが採用されている。
【０００４】
その第１は、データ・アーカイビングを手操作で行うことである。この場合、ユーザはデータを手操作で選択し、移動させ、及び取り除く。例えば、構造化照会言語（ＳＱＬ）を使って或いは一般的なデータベース・ユーティリティを使って照会を発生してリレーショナル・データベースに照会を行い、その照会結果をファイルとして保存し、しかる後、例えば、ファイル転送プロトコル（ＦＴＰ）を使ってそれらのファイルを別のロケーションに転送するのはデータベース管理者であってもよい。なお、ファイル転送プロトコル（ＦＴＰ）は、インターネットのようなＴＣＰ／ＩＰベースのネットワークを介してファイルを交換及び操作するために使用される標準的なネットワーク・プロトコルである。このソリューションは、簡単であるように見え、大きな前払い費用を生じないと思えるが、欠点は、それが高いリスクを生じ、頻繁にデータ保全性の問題を導くということであり、従って、この方法は企業にとって潜在的な損失であり、その結果、災害さえ生じ得るものである。
【０００５】
第２は、十分な立案及び財政支援を与えられる場合に、アプリケーションが自身の特定の「データ・アーカイブ」機能を持つことである。このソリューションには次のような欠点がある。
【０００６】
第１の欠点は、アプリケーションが書き直される必要があるとき、データ・アーカイブ機能又はコンポーネントも、密結合アーキテクチャのために書き直される必要があるということである。
【０００７】
第２の欠点は、ユーザが分析、設計、具現化、及び試験のような付加的なアーカイブ機能開発を行わなければならないので、それがプロジェクト開発のライフ・サイクルを長引かせるということである。
【０００８】
第３の欠点は、すべてのプロジェクトがアーカイブ機能の実施の際に資源を追加しなければならず、従って追加コストが存在するということである。
【０００９】
もう１つの欠点は、データ・アーカイブ機能が、特殊なタイプのデータに対して高度に特殊化され、且つ種々のアプリケーションに対するデータ・アーカイブ要件の変化を満たすに十分に汎用的ではない、ということである。
【００１０】
第３の主要なデータ・アーカイブ・ソリューションは、既製のデータ・アーカイブ製品を使用することである。多くのソフトウェア会社が自社のデータ・アーカイブ製品を提案している。例えば、インターナショナル・ビジネス・マシーンズ・コーポレーション（ＩＢＭ社）、ヒューレット・パッカード社（ＨＰ）、オラクル社、ＳＡＰ  ＡＧ、及び他の企業は、データ・アーカイブ製品を開発している。これらのデータ・アーカイブ製品は、一般に、データ・アーカイブ用の構成可能なコンソール及びプログラム可能なツールを提供することがある。
【００１１】
しかし、これらの現用の製品は制限事項も有する。そのような制限事項の１つは、データ・ソース及びロケーション・サポートが制限されているということである。これらのツールのほとんどは、特殊のリレーショナル・データベース（例えば、IBM DB2、Oracle Database（一般に、Oracle RDBMS、又は単にOracleと呼ばれる）等）しかサポートせず、テーブル或いはフラット・ファイルに対するアーカイブをサポートするだけである。
【００１２】
もう１つの制限事項は、データ・タイプ・サポートが制限されるということである。ほとんどの現用のデータ・アーカイブ製品は、リレーショナル・データベースにおける一般的のデータ・タイプしかサポートしない。
【００１３】
更に、或るアーカイブ・ツールは、ビジネス・ロジックをまったく考慮してないバックアップのようなドキュメント（ファイル）をコピーするだけである。
【００１４】
最後に、現用のアーカイブ・ツールは、アーカイブ・ルールの変更に対して十分な柔軟性がない。或るアーカイブ・ツールは、ユーザが選択し得る大規模なアーカイブ・ルールを一体化しているが、これらのルールは、システム内にハード・コード化され、変更することが難しい。
【００１５】
上記の問題点及び欠点はこれらのソリューションの一般的使用を制限する。知られているように、企業環境においては、データベースに保存されたデータのみならず、ファイル、ドキュメント、電子メール、及びＸＭＬ（拡張可能マークアップ言語）に保存されたデータも存在する。
【００１６】
更に、それは少数の、基本的な、粗雑な、及び不変のアーカイブ・ルールしか持たない。例えば、どのような記憶装置が対象物をプールするか、ファイルが使用中である場合、何を及びどのくらいの期間保持すべきであるか、というルールしか持たない。従って、上述したような関連した問題点を解決する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【００１７】
本発明の目的は、データ・アーカイビングのためのシステム及び方法を提供することにある。更に、本発明は、モデル駆動型手法を使用する、柔軟性のある汎用データ・アーカイビンブ・ソリューションを提供することにある。それは、システム用のメタモデルを定義を伴うものとなる。
【課題を解決するための手段】
【００１８】
本発明のデータ・アーカイブは、オリジナル・データ・リポジトリからアーカイブ・データ・リポジトリにデータを移動させるというオペレーションである。ユーザは、データのどの部分を移動すべきかを記述したアーカイブ条件を指定し得る。その条件が無効である場合、即ち、ユーザが、データをアーカイブしている間如何なる条件も指定しない場合、そのデータは完全にアーカイブ・リポジトリへ移されるであろう。その条件が無効でない場合、アーカイブ条件を満たさないデータは、オリジナル・データ・リポジトリに留まるであろう。
【００１９】
本発明は、実コンテキストを有し、更にコンテンツを持ったアプリケーションを有するシステムにおいてモデル駆動手法を使用する、柔軟性のあるデータ・アーカイブのための方法を提供する。その方法は、アプリケーションのコンテンツを分析するステップと、アーカイブ・データを定義し、モデル化するステップと、第１のデータ・アーカイブ仕様モデルを作成するステップと、第１のデータ・アーカイブ仕様モデルを変形させるステップと、第２のデータ・アーカイブ仕様モデルを生成するステップと、第２のデータ・アーカイブ仕様モデル及び実コンテキストに基づいてアーカイブ・アプリケーションを構成するステップと、第２のデータ・アーカイブ仕様モデルをデプロイし、データ・アーカイブを作成するステップと、を有し得る。
【００２０】
更に、本発明は、実コンテキストを有し、ＣＰＵ、コンピュータ可読メモリ及びコンピュータ可読記憶媒体、並びにコンテンツを具備したアプリケーションを更に有し、モデル駆動手法を使用する、柔軟性のあるデータ・アーカイブのためのコンピュータ・システムを提供する。そのコンピュータ・システムは、アプリケーション・コンテンツを分析するプログラム命令を有し、アプリケーション・コンテンツを分析するためのアナライザと、アーカイブ・データを定義及びモデル化して第１のデータ・アーカイブ仕様モデルを作成するための定義及びモデル化コンポーネントであって、アーカイブ・データを定義及びモデル化して第１のデータ・アーカイブ仕様モデルを作成するための定義及びモデル化コンポーネントに対するプログラム命令を有し得る、定義及びモデル化コンポーネントと、前記第１のデータ・アーカイブ仕様モデルを変形させて第２のデータ・アーカイブ仕様モデルを作成するための変形器であって、前記第１のデータ・アーカイブ仕様モデルを変形させて前記第２のデータ・アーカイブ仕様モデルを生成するためのプログラム命令を有し得る、変形器と、前記モデルをデプロイしてデータ・アーカイブを作成するためのデプロイ・コンポーネントを有し、前記モデルをデプロイしてデータ・アーカイブを作成するプログラム命令を有し得るデータ・アーカイブ仕様コンポーネントと、前記第２のデータ・アーカイブ仕様モデル及び実コンテキストに基づいてアーカイブ・アプリケーションを構成するためのアーカイブ・アプリケーション・コンポーネントであって、前記第２のデータ・アーカイブ仕様モデル及び実コンテキストに基づいてアーカイブ・アプリケーションを構成するプログラム命令を有し得るアーカイブ・アプリケーション・コンポーネントと、を有し、前記プログラム命令はコンピュータ可読メモリを介してＣＰＵによる実行のためにコンピュータ可読記憶装置に格納される。
【００２１】
更に、本発明は、柔軟性のあるデータ・アーカイブのためのグラフィカル・データ・アーカイブ・メタモデルを提供する。そのメタモデルは、データをアーカイブ及びパージするためのアーカイブ要素と、いつアーカイブ手順の実行を開始すべきかを表わすためのスケジューリング要素と、何がアーカイブされるべきかを表わすためのオブジェクト要素と、何をアーカイブすべきか及びアーカイブすべき量を識別するためのアーカイブ条件要素とを有し得る。
【００２２】
更に、本発明は、処理装置、メモリ、バス、入出力（Ｉ／Ｏ）インターフェース、アプリケーションを含むシステムにおいて動作するためにコンピュータ可読媒体において具現化されるコンピュータ・プログラムを提供する。そのコンピュータ・プログラムは、実コンテキストを有し、更に、モデル駆動手法を使って柔軟性のあるデータ・アーカイブのためのコンテンツを具備したアプリケーションを有するシステムにおいて１つの方法を具現化する。その方法は、アプリケーション・コンテンツを分析するステップと、アーカイブ・データを定義及びモデル化するステップと、第１のデータ・アーカイブ仕様モデルを作成するステップと、第１のデータ・アーカイブ仕様モデルを変形させるステップと、第２のデータ・アーカイブ仕様モデルを生成するステップと、第２のデータ・アーカイブ仕様モデル及び実コンテキストに基づいてアーカイブ・アプリケーションを構成するステップと、第２のデータ・アーカイブ仕様モデルをデプロイして、データ・アーカイブを作成するステップとを有する。
【００２３】
更に、本発明は、コンピュータ可読コードをコンピューティング・システムに組み込むステップを含む、コンピューティング・インフラストラクチャをデプロイさせる方法を提供する。この方法は、コンピューティング・システムと結合したコードが、実コンテキストを有し、更にコンテンツを持ったアプリケーションを有するシステムにおいてモデル駆動手法を使って柔軟性のあるデータ・アーカイブを行うためのプロセスを遂行することができる。そのプロセスは、アプリケーション・コンテンツを分析するステップと、アーカイブ・データを定義し、モデル化するステップと、第１のデータ・アーカイブ仕様モデルを作成するステップと、第１のデータ・アーカイブ仕様モデルを変形させるステップと、第２のデータ・アーカイブ仕様モデルを生成するステップと、第２のデータ・アーカイブ仕様モデル及び実コンテキストに基づいてアーカイブ・アプリケーションを構成するステップと、第２のデータ・アーカイブ仕様モデルをデプロイして、データ・アーカイブを作成するステップとを有し得る。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施例を具現化するに適したデータ処理システムのブロックである。
【図２】本発明の実施例を具現化するネットワークの概略図である。
【図３】本発明の方法の実施例を示すフローチャートである。
【図４】本発明のシステム及び方法の実施例の概略図である。
【図５】本発明のメタモデルのブロック図である。
【図６】本発明のシステム及び方法のもう１つの実施例の概略図である。
【発明を実施するための形態】
【００２５】
本発明の実施例は、データをアーカイブするためのシステム及び方法を含む。そのシステム及び方法は、企業のビジネス・オブジェクト・レベルに関するデータ・アーカイビングを考慮し、データベース・レコード、テーブル、及びファイル・レベルに関するデータ・アーカイビングを考慮しない。データ・アーカイビングはビジネス向けであり、異なる企業アプリケーションは異なるデータ・アーカイブ・ルールを有する。個々のアプリケーション、データベース、及びシステムとは無関係に、ビジネス向けの柔軟性のある一般的なエンド・ツー・エンド・データ・アーカイブ・ソリューションを持つことが非常に重要である。
【００２６】
図１は、本発明の実施例を具現化するに適したデータ処理システム１０２を有し得るシステム１００を示す。データ処理システム１０２は、ディスプレイ１２０、外部装置１１６に接続されたコンピュータ・システム１０４、及び／又はコンピュータ・システム１０４に対するインターフェースをユーザに提供するために、Ｉ／Ｏインターフェース１１４を介して接続された他の周辺装置を有する。コンピュータ・システム１０４は、処理装置１０６、Ｉ／Ｏインターフェース１１４、ネットワーク・アダプタ１３８、及びメモリ１１０のようなモジュール相互間で内部コミュニケーションを行うための内部バス１１２を持ち得る。メモリ１１０は、ランダム・アクセス・メモリ（ＲＡＭ）１３０及びキャッシュ１３２を持ち得る。記憶装置システム１１８又は他の形式のメモリがコンピュータ・システム１０４に接続されてもよい。ＲＡＭは、記憶されたデータが任意の順序で（即ち、ランダムに）アクセスされことを可能にする集積回路の形体を取り得る。記憶装置システム１１８は、テープ、磁気ディスク、及び光ディスクの形体を取り得るし、一般にデータの長期記憶のために使用される。キャッシュ１３２は、他の場所に格納された又は以前に計算されたオリジナル値を複製したデータの集合体を格納するためのメモリである。この場合、オリジナル・データは、より長いアクセス・タイムのために、キャッシュを読取るコストに比べてフェッチ又は計算するには費用のかかるものになる。言いかえれば、キャッシュは、頻繁にアクセスされたデータを迅速なアクセスのために格納し得る一時的記憶域である。データが一旦キャッシュに格納されると、そのデータは、オリジナル・データを再フェッチ又は再計算することよりも、むしろそのキャッシュされたコピーをアクセスすることによってそれ以後効果的に利用可能となる。代表的なコンピュータ・アプリケーションにおけるアクセス・パターンは参照の局所性を持つので、キャッシュは多くのコンピューティング分野において極めて有効であることがわかっている。
【００２７】
図２は本発明の実施例を具現化するためのネットワーク・システム２００を示す。ネットワーク・システム２００は、ネットワーク２１０、又はネットワーク接続２０６、２０８を介してデータ処理装置２０２、２０４のような相互接続されたコンピュータのグループを有し、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）又はインターネットワークのようなタイプのものであってもよい。プリンタ２１２及び記憶装置２１４は、ネットワーク接続２１６及び２１８を介してネットワーク２１０に接続され得る。基本ネットワーク・コンポーネントは、ネットワーク・インターフェース・カード、リピータ、ハブ、ブリッジ、スイッチ、及びルータを含み得る。データ処理装置２０２及び２０４は、ウェブ・サーバ又はパーソナル・コンピュータのようなコンピュータ、或いは他のユーザ・エージェントであってもよい。ウェブ・サーバは、一般に、クライアント（ウェブ・ブラウザのようなユーザ・エージェント）からのＨＴＴＰ要求を受け入れ、通常、ＨＴＭＬドキュメント及びリンクされたオブジェクト（イメージ等）のようなウェブ・ページであるオプショナル・データ・コンテンツと共にそれらにＨＴＴＰ応答を供給することに関与するハードウェア及びソフトウェアを有する。本明細書では、用語「ウェブ・ブラウザ」が使用されるが、インターネット上の情報資源を検索し、提示し、全探索（traverse）する任意のアプリケーションを考慮されたい。
【００２８】
本発明の実施例には、柔軟性のある汎用のデータ・アーカイブ・ソリューションを使用するために４つの主要なステップが存在する。
【００２９】
第１のステップは、アプリケーション・コンテンツを分析することである。アプリケーション・コンテンツを分析することによって、データ・アーカイブ要件が識別され、データ・タイプ、関連性、及びアーカイブ・ルールに関する情報が捕捉され得る。
【００３０】
第２のステップは、アーカイブ・データを定義し、モデル化することである。データを定義及びアーカイブすることによって、本発明の実施例では、提供されるメタモデルに基づいて、データ・アーカイブ・モデルが定義され、グラフィカル・モデル化ツール、例えば、エクリプス（Eclipse）・ベースのツールに基づいたデータ・アーカイブがモデル化され得る。エクリプスは、それを拡張するために統合開発環境（ＩＤＥ）及びプラグイン方式を含む多言語ソフトウェア開発環境である。「メタモデル化」は、或る領域内の「概念」（もの、用語等）の集合体の構造である。モデルは、実世界における現象の抽象的概念である。メタモデルは、モデル自体のプロパティを強調する更に別の抽象的概念である。
【００３１】
第２のステップの完了後、ＵＭＬにおけるデータ・アーカイブ仕様モデルが作成され得る。統合モデル化言語（ＵＭＬ）は、ソフトウェア・エンジニアリングの分野における標準化された汎用モデル化言語である。本発明の実施例を使用すると、次のようなアーカイブされるべきもの、例えば、データ、データ・タイプ、関連性、データ・フィルタリング条件、及びアーカイブする時及びアーカイブする方法、即ち、アーカイブ・ルール、のような企業アプリケーションにおけるアーカイブ・データのセットに関する種々の見解を指定及びモデル化することが可能である。
【００３２】
第３のステップは、モデル変形を行ってアーカイブ仕様（ＸＭＬベースのような）を生成すること、及びアーカイブ仕様及び実コンテキストに基づいてアーカイブ・アプリケーションを構成することである。
【００３３】
第４のステップは、モデルをデプロイさせ、アーカイブ・アプリケーションをテストすることである。任意選択的には、本発明の実施例における方法及びシステムは、アーカイブ結果を観察し、アーカイブ・モデル最適化機構にフィード・バックすることによってアーカイブ・モデルを最適化し得る。
【００３４】
本発明の実施例におけるシステム及び方法は多くの利点を有する。それは、操作上のアプリケーションのパフォーマンスを改善すること及び管理コスト、ハードウェア及び保管コストを節約することにより、ビジネス上の利点を提供する。それは、アーカイブ要件に対する迅速な応答を提供し、規制順守に関するリスクを緩和する。それは、プロジェクト・ライフ・サイクルを短くすることにより市場投入までの時間を減少させる。それは、対応するデータ・アーカイブ製品をてこ入れすることによりデータ管理市場の能力を高め得るし、対応するデータ・アーカイブ製品をてこ入れすることによりデータ市場からの収入を増加させ得る。それは、そのソリューションがモデル駆動の開発方法に基づいているために、それが柔軟性のあるものになるので、技術的な利点を提供し得し、グラフィカル・モデル化ツールが利用可能であるために良好なユーザ体験を提供し得る。
【００３５】
本発明の実施例におけるモデル駆動型の方法及びシステムは、指定されたアーカイブ・アプリケーションの構成の代わりに、ユーザがアーカイブ要件及びルールに多くの焦点を与えることを可能にする。それは、多くの既存のアーカイブ・ツールをサポートし得る（ＸＭＬベースのアーカイブ仕様のような）オープン・スタンダード・ベースのものになり得る。ＸＭＬベースのアーカイブ仕様は、アーカイブ用の標準的なデータ・モデルと見なされ得る。
【００３６】
本発明の実施例におけるモデル駆動型の方法及びシステムは、データ・アーカイブ・ソリューションが独立的に作用し得る、或いは、IBM DB2 Archive Expert 又は SAP AGのSAP Archive Toolのような既存の企業アーカイブ・ソリューションと共に作用し得る、指定されたデータ又は指定されたデータ記憶装置／管理システムに単に限定されない汎用のデータ・アーカイブ・ソリューションを提供する。
【００３７】
本発明の実施例における１つの方法は次のようなステップを遂行する。
１．企業アプリケーションのデータ・アーカイブ・コンテキストを分析する。
２．データ・アーカイブ仕様モデルを定義する。
３．データ・アーカイブ・モデル・ベースの仕様からＸＭＬベースの仕様への変形を遂行する。
４．データ・アーカイブ・モデルをデプロイさせ、データ・アーカイブを遂行する。 
【００３８】
一旦変形が終了すると、ネイティブ・アーカイブ・コード／ルール／仕様が、対応するアーカイブ・エンジンにデプロイされるであろう。しかる後、新たなデータ・アーカイブ・アプリケーションが作動し始め得る。１つの実施例では、データ・アーカイブ・ソリューションは、柔軟性のある拡張可能なメタモデル・コンポーネント内にある。データ・アーカイブ定義のための必要なすべてのメタデータ情報がデータ・アーカイブ・メタモデル内にある。
【００３９】
図３は、ＣＰＵ、コンピュータ可読メモリ、及びコンピュータ可読記憶媒体を有するコンピュータ・システムにおける本発明の方法ステップ及びコンピュータ・システム３００の一実施例を示す。ステップ３０２において、アプリケーション・コンテンツを分析するためのプログラム命令を持ち得るアプリケーション・コンテキストが分析される。ステップ３０４では、アーカイブ・データを定義及びモデル化して第１のデータ・アーカイブ仕様モデルを作成するための定義及びモデル化コンポーネントに対するプログラム命令を持ち得るアーカイブ・モデルが定義される。ステップ３０６では、そのモデルは、第１のデータ・アーカイブ仕様モデルを変形させて第２のデータ・アーカイブ仕様モデルを生成するためのプログラム命令によって変形させられ、ステップ３０８においてデプロイされる。ステップ３０８は、そのモデルをデプロイしてデータ・アーカイブを作成するようにプログラム命令を利用し得る。コンピュータ・システムは、第２のデータ・アーカイブ仕様モデル及び実コンテキストに基づいてアーカイブ・アプリケーションを構成するためのプログラム命令を利用し得る。その場合、そのプログラム命令は、コンピュータ可読メモリを介してＣＰＵによる実行のためにコンピュータ可読記憶媒体上に記憶される。コンピュータ・システムは、更に、データ・アーカイブをテストするためのプログラム命令を持ち得る。アプリケーション・コンテンツを分析するステップ３０２は、データ・アーカイブ要件を識別するステップ３１８においてデータ・アーカイブ要件を識別し、データ情報（タイプ、関連性等）及びアーカイブ・ルールを認識するステップ３２０においてデータ情報及びアーカイブ・ルールを認識する。アーカイブ・モデルを定義するステップ３０４は、ステップ３２２において、１つの提供されたメタモデルを使用して要件及び分析結果に従ってそのモデルを定義し、ステップ３２４において、ロケーション、条件、スケジュール等のようなモデル化要素の属性を指定する。モデル変形ステップ３０６は、ステップ３２６において、モデル化結果に基づいてＸＭＬベースのアーカイブ仕様を生成し、ステップ３２８において、アーカイブ仕様及び実コンテキストに基づいてアーカイブ・アプリケーションを構成する。アーカイブ・モデルをデプロイするステップ３０８は、ステップ３３０においてその生成された結果を実環境にデプロイし、ステップ３３２においてアーカイブ・アプリケーションをテストする。
【００４０】
図４は、企業アプリケーション４０２、分析コンポーネント４０４、モデル化コンポーネント４０６、変形コンポーネント４０８、アーカイブ・リポジトリ４０５、並びに、デプロイ及び実行のコンポーネント４１０を有するデータ・アーカイブ・アプリケーションを生成するモデル駆動手法を持つ本発明の実施例の例示的システム及び方法４００を示す。企業アプリケーション４０２は、リレーショナル・データベース４１４、ファイル・リポジトリ４１６、及びＸＭＰコンテンツを格納するコンテンツ・リポジトリ４１８を使用し得る。分析コンポーネント４０４は、事前定義されたアーカイブ・メタモデル４２４及びアーカイブ・モデル化ツール４２６を有する。モデル化コンポーネント４０６はアーカイブ・モデル・コンポーネント４２８を有する。変形コンポーネント４０８は、ＸＭＬベースのアーカイブ仕様４３０を有する。アーカイブ・リポジトリ４０５は、リレーショナル・データベース４１９、ファイル・リポジトリ４２０、及びＸＭＬを格納するコンテンツ・リポジトリ４２２を使用し得る。デプロイ及び実行アーカイブ・インフラストラクチャ４１０はデプロイ及び実行コンポーネント４０９を有し、更に、そのインフラストラクチャ４１０は、アーカイブ・フィーチャ４１、パージ・フィーチャ４２、ＩＢＭ  ＤＢ２アーカイブ・エキスパート４３６、ＳＡＰアーカイブ・ツール（ＳＡＲＡ）４３８、及びＨＰアーカイブ・ツール４３４を有する。
【００４１】
図５は、本発明のデータ・アーカイブ・ソリューション・メタモデル５００の実施例を示す。データ・アーカイブ・ソリューション・メタモデル５００は、startTime：ストリング及びInterval：ストリングのような多数のコンポーネントを有するスケジューリング要素（Entity）５５０を持ち得る。スケジューリング要素５５０は、スケジューラ・コンポーネントを伝達するための接続線５５２を介してアーカイブ要素５０２に接続され得る。アーカイブ要素５０２は、objectSet：オブジェクト、Schedular：スケジュール、archiveCondition：アーカイブ条件、及びpurge：ブールのような多数のコンポーネントを持ち得る。アーカイブ要素５０２は、archiveConditionを伝達するために接続線５０６を介してアーカイブ条件要素５０４に接続され、接続線５１６を介してOjectSetを伝達するためにオブジェクト要素５１４に接続され得る。アーカイブ条件要素５０４は、owenerObject：オブジェクト及びEvaluationSet：評価のようなコンポーネントを持ち得る。アーカイブ条件要素５０４は、評価コンポーネントを伝達するために接続線５１０を介して評価要素５０８に接続され、owenerObjectコンポーネントを伝達するために接続線５０６を介してオブジェクト要素５１４に接続され得る。評価要素５０８は、evalOp：評価、srcValSpeci：価値仕様、及びdstValSpeci：価値仕様のようなコンポーネントを有し得る。評価要素５０８は、evalOpコンポーネントを伝達するために、及びEvaluOpEnumコンポーネントとして変動性ポイント要素５１８に格納するために、接続線５２０を介して変動性ポイント要素５１８に接続され得る。
【００４２】
ID：整数、srcLocation：ロケーション、dstLocation：ロケーション、及びobjectOwner：オーナーのようなコンポーネントを有するオブジェクト要素５１４は、srcLocationコンポーネントを伝達して変動性ポイント（ロケーション）要素５４０にロケーションとして格納するために変動性ポイント（ロケーション）要素５４０に接続され得る。変動性ポイント（ロケーション）要素５４０は、ファイル・ロケーション要素５３８からデータを受けるためにpath：ストリング・コンポーネント及びFileName：ストリング・コンポーネントのようなコンポーネントを有し得るファイル・ロケーション要素５３８に接続され得る。変動性ポイント（ロケーション）要素５４０は、更に、Server：ストリング、user：ストリング、password：ストリング、tableSpace：ストリング、dbname：ストリング、及びtablename：ストリングのような多数のコンポーネントを有するテーブル・ロケーション要素５３６に接続され得る。
【００４３】
オブジェクト要素５１４は、接続線５４６を介してownerObjectコンポーネントを伝達するために属性要素５３４に接続され得る。属性要素５３４は、ownerObject：オブジェクト、attriName：ストリング、及びattriType：属性のようなコンポーネントを有し、接続線５４８を介して価値仕様要素５２６に接続され得る。価値仕様要素５２６は、接続線５５０を介して、constVal：ストリング及びconstType：データのようなコンポーネントを有するコンスタント要素５２８にも接続され得る。価値仕様要素５２６は、Operator：operEnum及びvalueSequenceのようなコンポーネントを有し得る表現要素５２２にも接続され得る。表現要素５２２は、更、OperEnumとして格納されたOperatorコンポーネントを伝達するために変動性ポイント（OperForm）要素５２４に接続され得る。もう１つの変動性ポイント（データ・タイプ）要素５３０はデータ・タイプ要素を含む。
【００４４】
このメタモデルにおける主要な要素は、全体のアーカイブ処理手順全体を表わすアーカイブ要素５０２である。パージ・プロパティ（コンポーネント）が真としてセットされる場合、この要素はパージ・オペレーションを表わす。
【００４５】
そのほかに、それはアーカイブ・オペレーションを表わす。アーカイブ要素のいくつかのパラメータ（コンポーネント）は次のとおりである。
objectSet：このアーカイブ・プロセスにおいてアーカイブされる必要があるすべてのオブジェクト。
scheduler：このアーカイブ・プロセスのスケジュール。
archiveCondition：このアーカイブ・プロセスおけるオブジェクトに対するすべての条件。
purge：アーカイブ要素がアーカイブ・オペレーション中であるか又はパージ・オペレーション中であるかを表わすブール値。
スケジューリング要素５５０は、アーカイブ手順の全体の実行を始めるべき時を表わす。スケジューリング要素の幾つかのパラメータは次のようになる。startTimeはアーカイブ・プロセスの実行をいつ始めるべきかを識別し、インターバルは２つの実行間のインターバルを記述する。例えば、第１の実行の後、第２の実行は「インターバル」によって表わされた時間を待った後に作動し始めるであろう。オブジェクト要素５１４は、何がアーカイブされるべきかを表わす。オブジェクト要素５１４は、基本的に２つのタイプ、即ち、ファイル（ディレクトリが含まれる）及びテーブル、のどちらかとして分類され得る。オブジェクトは、アーカイブされるとき、他のオブジェクトによって抑止され得る。各オブジェクトは、アーカイブ・プロセス範囲内に一意的な識別標識（ＩＤ）を有する。対応するアーカイブ・プロセスでは、オブジェクトがそれのＩＤによってアクセスされ得る。ＩＤのタイプは、ユニフォーム・リソース・アイデンティファイヤ（ＵＲＩ）である。ＵＲＩは、インターネット上のリソースを識別又は指名するために使用される文字のストリングから成る。
SrcLocation：ソース・データ・リポジトリの仕様。
dstLocation：アーカイブ・データ・リポジトリの仕様。 
ArchiveCondition：ArchiveCondition要素は、アーカイブされるべきもの及びアーカイブするべき量を示す。オブジェクト要素からのデータは、オブジェクトがArchiveConditionにおいて表わされ条件を満たさない場合、アーカイブされないであろう。ときには、オブジェクトはその条件を満たすけれども、その中のすべてのデータがアーカイブされ得るとは限らない。ArchiveConditionにおいて指定された条件を満たすデータの部分だけが、最終的にアーカイブされ得る。
Evaluation：１つの評価は、特定のアーカイブ・オブジェクトに対する１つの独立したアーカイブ条件に対応する。
ValueSpecificationExpression：オペレータが直列的オペランドに適用される。オペランドは、任意のValueSpecificatIonエンティティ、即ち、属性、定数、又は数式であってもよい。「属性」は、アーカイブされたデータの属性名及びタイプを記述するためのものである。「ロケーション」は、データ・ソース及びアーカイブ・リポジトリをモデル化し、データ・アーカイブを行なうべき場所をモデル化するためのものである。
【００４６】
種々のデータ、データ・タイプ及びデータ・リポジトリ、並びに管理システムが存在するので、データ・アーカイブ・メタモデルは、変動性ポイントを提供することによって柔軟性及び拡張性を提供する。これら変動性ポイントは、図５の破線の円で識別される。
【００４７】
変動性ポイント「ロケーション」５４０：異種のデータ・アーカイブ・リポジトリに関して、「ロケーション」要素から継承された新しいタイプのロケーションを容易に導入することが可能である。 図５における例は、ファイル及びリレーショナル・データベース・テーブル・ロケーションを示すが、ユーザは、ロケーションをＩＭＳセグメント又はＸＭＬリポジトリ・ロケーションまで拡張することができる。IBM Information Management System（ＩＭＳ）は、広範なトランザクション処理能力を備えた結合階層型データベース及び情報管理システムである。ＸＭＬ（Extensible Markup Language）は、ドキュメントを電子的にエンコードするためのルール・セットである。
「AttributeType」（属性５３４）：メタデータ・タイプに対しては、AttributeTypeと呼ばれる列挙型が定義される。新しいメタデータ・タイプを新しい列挙型として容易に追加することが可能である。
「DataType」（変動性ポイント５３０における）： データ・タイプに対しては、DataTypeと呼ばれる列挙型が定義される。他の新しいデータ・タイプが新しい列挙型として追加され得る。
【００４８】
データ・アーカイブ条件に関して、２つの列挙タイプ要素は、（即ち、変動性ポイント５１８において「EvaluOpEnum」及び表現要素５２２において「OperEnum」）柔軟性及び拡張性をサポートするためにと定義される。
【００４９】
下記事項は、簡単ではあるが、対応する関係と共にアーカイブ・マルチテーブル及びファイルに対する典型的なシナリオである。
１． 「アプリケーション・コンテンツの分析」：どのデータ・オブジェクトがアーカイブされる必要があるか、及び宛先はどこであるかを理解するために、アプリケーションが分析される。
２．「アーカイブ・モデルの定義」：例えば、テーブル名「table1」のテーブル、テーブル名「table2」のテーブル、及びファイル名「file1」のファイルのような、アーカイブされる必要がある３つのデータ・オブジェクトが存在する。table1及びtable2におけるデータはリレーショナル・データであってもよい。file1の１つの「アブソリューション（absolution）・パス」という属性が「file1タイプ」のファイルをtable2におけるデータに関連付ける。しかる後、データ・アーカイブ仕様モデルが作成される。
３．「変形」：次のステップは、上記のデータ・アーカイブ・モデルをＸＭＬベースの仕様に変形させ、仕様に基づいてデータ・アーカイブ・アプリケーションを実コードで生成することである。
４．「デプロイメント」：最終ステップにおいて、データ・アーカイブ・アプリケーションが、対応するアーカイブ・エンジン（ツール）にデプロイされ得る。しかる後、データ・アーカイブ・アプリケーションがロール・アウトし、実エンタープライズ・アプリケーションのために働く。
【００５０】
図６は、本発明の好ましい実施例において柔軟性のある汎用データ・アーカイブ・システム６００における変形及びデプロイメント・フローを示す。システム６００は、ソース・リポジトリ６０２及びアーカイブ・リポジトリ６０４を有する。ソース・リポジトリ６０２はデータベースＤＢ６０６及びファイル・アーカイブ６０８を有し、アーカイブ・リポジトリ６０４はデータベースＤＢ６１０及びファイル・アーカイブ６１２を有する。プロセスはデータ・アーカイブ・モデラ６１４及びデータ・アーカイブ・ツール６１６を含む。データ・アーカイブ・モデラ６１４は、ソース・リポジトリ６０２からアナリスト信号６２０を受け取ることによって分析プロセスを支援する。それは変形プロセスを遂行し、アーカイブ仕様及びアーカイブ・コード６１８に変形メッセージ６２２を送る。しかる後、それは、デプロイ・メッセージ６２４を介してデータ・アーカイブ・ツール６１６にデプロイされる。データ・アーカイブ・ツール６１６はソース・リポジトリ６０２に選択命令又は削除命令を供給する。データ・アーカイブ・ツール６１６は、データが保存されるべきか又はパージされるべきかを表わすために、アーカイブ・リポジトリ６０４に保存／更新命令又はパージ命令を搬送する。
【００５１】
本発明の実施例は、本明細書においてデータをアーカイブするシステム及び方法として示され、説明されたが、他のシステム及び方法も含み得る。本発明の実施例はデータをアーカイブするためのビジネス・アプリケーションも提供するが、本発明は更に様々な代替実施例も提供することは当然である。例えば、１つの実施例では、本発明は、システムが対するコンピュータ・インフラストラクチャが、データのアーカイビングを許容する可能にするコンピュータ・プログラム・コードを含むコンピュータ可読／使用可能媒体を提供する。このためには、コンピュータ可読／使用可能媒体は、本発明の実施例の様々なプロセス・ステップの各々を具現化するプログラム・コードを含む。
【００５２】
コンピュータ可読媒体又はコンピュータ使用可能媒体という用語は、プログラム・コードの任意のタイプの１つ又は複数個の物理的実施例を含むことは当然である。特に、コンピュータ可読媒体／使用可能媒体は、メモリ及び／又は記憶装置システム（例えば、固定ディスク、リード・オンリ・メモリ、ランダム・アクセス・メモリ、キャッシュ・メモリ等）のようなコンピューティング装置の１つ又は複数個（例えば、コンパクト・ディスク、磁気ディスク、テープ等）のデータ記憶装置部分における１つ又は複数個のポータブル記憶装置製品において具体化されたプログラム・コードを含み得るし、ネットワーク上を（例えば、プログラム・コードの有線／無線の電子的配布時に）移動するデータ信号（例えば、伝播信号）を含み得る。
【００５３】
別の実施例では、本発明は、データをアーカイブするためのコンピュータ支援される方法を提供する。本発明のこの実施例では、コンピュータ化されたインフラストラクチャが提供され、コンピュータ化されたインフラストラクチャにデプロイされ得る本発明の実施例のプロセス・ステップを遂行するための１つ又は複数個のシステムが提供され得る。
【００５４】
本発明の実施例のシステムをデプロイするプロセスは、コンピュータ可読媒体からのプログラム・コードをコンピュータ・システムのようなコンピューティング装置上にインストールし、１つ又は複数個のコンピューティング装置をコンピュータ・インフラストラクチャに追加し、コンピュータ化されたインフラストラクチャが本発明の実施例のプロセス・ステップを遂行することを可能にするようにコンピュータ・インフラストラクチャの１つ又は複数個の既存のシステムを組み込み及び／又は修正する、という１つ又は複数個のプロセス・ステップを含み得る。
【００５５】
本明細書で使用されるように、用語「プログラム・コード」及び「コンピュータ・プログラム・コード」は同義であり、それらは、情報処理機能を有するコンピューティング装置に特定の機能を直接遂行させたり、或いは、（ａ）他の言語、コード、又は表記法への変換、及び／又は、（ｂ）異なる物質的形体における複製、のどちらか一方又は両方の後に遂行させたりすることを意図された命令セットの任意の表現を、任意の言語、コード、又は表記法において行うことを意味する、ということは当然である。このためには、１つ又は複数個のアプリケーション／ソフトウェア・プログラム、コンポーネント・ソフトウェア／機能のライブラリ、オペレーティング・システム、特定のコンピューティング及び／又はＩ／Ｏ装置用の基礎的Ｉ／Ｏシステム／ドライバ等の１つ又は複数個として、プログラム・コードを具体化することも可能である。
【００５６】
本発明の種々の態様に関する上記の記載は説明を目的として行われたものである。それは、余すところのないこと或いは開示された厳密な形態に本発明を限定することを意図するものではなく、明らかに、多くの修正及び変更が可能である。当業者には明らかであるそのような修正及び変更は、「特許請求の範囲」により定義されるような本発明の技術的範囲内に含まれるものと考えられる。
【図１】
0005443615.tif 000002
【図２】
0005443615.tif 000003
【図３】
0005443615.tif 000004
【図４】
0005443615.tif 000005
【図５】
0005443615.tif 000006
【図６】
0005443615.tif 000007