(57)【要約】  ソースデータ抽出のプロセスの一部としてソースデータを選択する方法であって、方法は１つ以上のコンピュータープロセッサによって実行され、ソースデータの少なくとも第１の部分を選択するステップと、ソースデータの第１の部分に変数を割り当てて、ソースデータの第１の部分が１つ以上のコンピュータープロセッサによって変数を使って参照され抽出されることを可能とするステップと、を含む方法。
2015514258.tif 000002
【特許請求の範囲】
【請求項１】
ソースデータ抽出のプロセスの一部としてソースデータを選択する方法であって、方法は１つ以上のコンピュータープロセッサによって実行され、
ソースデータの少なくとも第１の部分を選択するステップと、
ソースデータの第１の部分に変数を割り当てて、ソースデータの第１の部分が１つ以上のコンピュータープロセッサによって変数を使って参照され抽出されることを可能とするステップと、
を含む方法。
【請求項２】
ターゲットアプリケーションにアクセス可能なターゲットデータを生成するデータ移行における使用のためにソースアプリケーションにアクセス可能なソースデータを選択する方法であって、方法は１つ以上のコンピュータープロセッサによって実行され、
ソースデータの少なくとも第１の部分を選択するステップと、
ソースデータの第１の部分に変数を割り当てて、ターゲットデータを生成する際にソースデータの第１の部分が１つ以上のコンピュータープロセッサによって変数を使って参照されることを可能とするステップと、
を含む方法。
【請求項３】
ソースアプリケーションからターゲットアプリケーションへの移行の一部としてソースアプリケーションにアクセス可能なソースデータからターゲットアプリケーションにアクセル可能なターゲットデータを生成する方法であって、方法は１つ以上のコンピュータープロセッサによって実行され、
ソースデータの少なくとも第１の部分を選択するステップと、
ソースデータの第１の部分に変数を割り当てて、ソースデータからの更なるターゲットデータの後続の生成の際にソースデータの第１の部分が１つ以上のコンピュータープロセッサによって変数を使って参照されることを可能とするステップと、
を含む方法。
【請求項４】
ソースデータの少なくとも一部分を選択するステップが、
ソースデータストア内のデータエントリーを定義する定義データを受け取ることと、
データ特性を定義する特性データを受け取ることであって、特性データは、ソースデータストア内のデータエントリーを選択するために１つ以上のコンピュータープロセッサによって使われることと、
の一方または両方を含む、請求項１−３のいずれか１つの方法。
【請求項５】
定義データを受け取るステップが１つ以上のサブ変数を受け取るステップを含み、１つ以上のサブ変数の各々は、
ソースデータの第２の部分と、
１つ以上の更なるサブ変数、
の１つ以上を表す、請求項４に記載の方法。
【請求項６】
１つ以上の更なるサブ変数は、１つ以上の変数またはサブ変数を含み得る、請求項５に記載の方法。
【請求項７】
ソースデータの少なくとも一部分を選択するステップが、サブ変数の階層を選択することを含み、サブ変数の各々は、ソースデータの一部分を表す、請求項１−３のいずれか１つに記載の方法。
【請求項８】
ソースエントリーのセットを生成するステップを更に含み、各ソースエントリーは、ソースデータストア内のデータエントリーに対応し、１つ以上の変数、サブ変数または更なるサブ変数と関連付けられている、請求項１−７のいずれか１つに記載の方法。
【請求項９】
ソースデータストア内の対応するデータエントリーから生成された１つ上のそれぞれのターゲットデータエントリーを受け取るステップと、
１つ以上のそれぞれの受け取ったターゲットデータエントリーの各々を、対応するソースエントリーか関連付けられている１つ以上の変数、サブ変数または更なるサブ変数と関連付けるステップと、
を更に含む、請求項８に記載の方法。
【請求項１０】
ソースデータストア内の対応するデータエントリーと関連付けられた１つ以上の失敗データエントリーを受け取るステップであって、失敗データは、ソースデータストア内のデータエントリーの不成功な抽出、有効化または移行の結果として生成されるステップと、
１つ以上の失敗データエントリーの各々を、対応するソースエントリーか関連付けられている１つ以上の変数、サブ変数または更なるサブ変数と関連付けるステップと、
を更に含む、請求項８に記載の方法。
【請求項１１】
ソースデータベース内の各対応するデータエントリーから１つ以上のそれぞれのターゲットデータエントリーを生成しようと試みるステップと、
もしソースデータストア内の対応するデータエントリーから１つ以上のそれぞれのターゲットデータエントリーが成功裡に生成されれば、１つ以上のそれぞれのターゲットデータエントリーを、対応するソースエントリーか関連付けられている１つ以上の変数、サブ変数または更なるサブ変数と関連付けるステップと、
もしソースデータストア内の対応するデータエントリーから１つ以上のそれぞれのターゲットデータエントリーが成功裡に生成されなければ、
移行失敗を表す失敗データを生成し、
失敗データを、対応するソースエントリーか関連付けられている１つ以上の変数、サブ変数または更なるサブ変数と関連付けるステップと、
を更に含む、請求項８に記載の方法。
【請求項１２】
ソースデータストア内の各対応するデータエントリーはソース値と関連付けられており、各それぞれのターゲットデータエントリーはターゲット値と関連付けられており、方法が、ソース値を１つ以上の変数、サブ変数または更なるサブ変数と関連付け、各成功裡に生成された対応するターゲットデータエントリーについて、ターゲット値を１つ以上の変数、サブ変数または更なるサブ変数と関連付けるステップを更に含む、請求項９または１１に記載の方法。
【請求項１３】
ソース値とターゲット値の各々は、金銭的価値に対応する、請求項１２に記載の方法。
【請求項１４】
ソース値とターゲット値の各々は、
未払いの請求の数量、または
保険プレミアム
の１つに対応する、請求項１３に記載の方法。
【請求項１５】
比較結果データを生成する方法であって、方法は１つ以上のコンピュータープロセッサによって実行され、
ソースデータストア内のソースデータエントリーを受け取るステップであって、ソースデータエントリーはソース値と関連付けられているステップと、
ソースデータエントリーから生成された第１のターゲットデータエントリーを受け取るステップであって、第１のターゲットデータエントリーは第１のターゲット値と関連付けられているステップと、
ソースデータエントリーから生成された第２のターゲットデータエントリーを受け取るステップであって、第２のターゲットデータエントリーは第２のターゲット値と関連付けられているステップと、
第１のターゲット値と第２のターゲット値を比較して、比較結果データを生成するステップと、
を含む方法。
【請求項１６】
第１のターゲット値と第２のターゲット値を比較するステップは、第１のターゲット値と第２のターゲット値をそれぞれのソース値と比較するステップを含む、請求項１５に記載の方法。
【請求項１７】
ソースデータからターゲットデータを生成する方法であって、方法は１つ以上のコンピュータープロセッサによって実行され、
ソースデータストア内のデータエントリーを受け取るステップであって、１つ以上のソースデータエントリーはソース値と関連付けられているステップと、
１つ以上のソースデータエントリーの各々から第１のターゲットデータエントリーを生成するステップであって、それぞれの第１のターゲットデータエントリーの各々は第１のターゲット値と関連付けられているステップと、
１つ以上のソースデータエントリーの各々から第２のターゲットデータエントリーを生成するステップであって、それぞれの第２のターゲットデータエントリーの各々は第２のターゲット値と関連付けられているステップと、
それぞれの第１のターゲット値と第２のターゲット値の各々を比較して、比較結果データを生成するステップと、
を含む方法。
【請求項１８】
それぞれの第１のターゲット値と第２のターゲット値の各々を比較するステップは、それぞれの第１のターゲット値と第２のターゲット値の各々をそれぞれのソース値と比較するステップを含む、請求項１７に記載の方法。
【請求項１９】
ソース値と第１のターゲット値と第２のターゲット値は、金銭的価値に対応する、請求項１５−１８のいずれか１つに記載の方法。
【請求項２０】
ソース値とターゲット値の各々は、
未払いの請求の数量、または
保険プレミアム
の１つに対応する、請求項１９に記載の方法。
【請求項２１】
図面を参照してここまでに記載された通りの方法。
【請求項２２】
請求項１−２１のいずれか１つに記載された方法を実行するためのコンピューター実行可能な命令を格納するコンピューター読み取り可能な媒体。
【請求項２３】
ソースコンピューティングアプリケーションからターゲットコンピューティングアプリケーションへの移行の一部としてソースコンピューティングアプリケーションと適合性のあるソースデータからターゲットコンピューティングソフトウェアアプリケーションと適合性のあるターゲットデータを生成するシステムであって、
ソースデータを格納するソースデータストアと、
ソースデータストアに格納されたソースデータの少なくとも第１の部分を選択し、ソースデータの第１の部分に変数を割り当てて、ソースデータからの更なるターゲットデータの後続の生成の際にソースデータの第１の部分が１つ以上のコンピュータープロセッサによって変数を使って参照されることを可能とする、１つ以上のコンピュータープロセッサと、
を含むシステム。
【請求項２４】
１つ以上のコンピュータープロセッサが、
ソースデータストアからデータを抽出する、
ソースデータストアから抽出されたデータを変換する、または
ソースデータストアから抽出されて変換されたデータを、割り当てられた変数を使ってターゲットデータストア中にロードする、
請求項２３に記載のシステム。
【請求項２５】
１つ以上のコンピュータープロセッサが、
ソースデータストア内のデータエントリーを定義する定義データと、
ソースデータストア内のデータエントリーのデータ特性を定義する特性データ、
の一方または両方を使ってソースデータストア内からデータエントリーを選択する、
請求項２３に記載のシステム。
【請求項２６】
１つ以上のコンピュータープロセッサが、後続の抽出、変換またはローディングのためにソースデータストア内のデータエントリーを選択するために特性データを解決する、請求項２５に記載のシステム。
【請求項２７】
１つ以上のコンピュータープロセッサが、変数階層の一部である変数をソースデータの第１の部分に割り当てる、請求項２５に記載のシステム。
【請求項２８】
変数階層が、１つ以上のサブ変数および更なるサブ変数を含む、請求項２７に記載のシステム。
【請求項２９】
図面を参照してここまでに記載された通りのシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は全般的に、例えばソースアプリケーションからターゲットアプリケーションへのデータ移行の一部としての、例えばソースデータの有効化を含んだ、ソースデータをターゲットデータに移行するための方法に関する。
【背景技術】
【０００２】
彼らのコンピューターソフトウェアをアップグレードすることを望むビジネスは一般的に、ソースアプリケーションを新たなアプリケーションで置き換える。これは一般的に、レガシー（またはソース）アプリケーションによって以前に作成され、管理され、および／または制御されたデータを、新たな、またはターゲットアプリケーションによって管理され、および／または制御されるようにすることが関与する。しかし、ソースアプリケーションとターゲットアプリケーションによって使われるデータストアの内部データ構造は典型的には入れ替え可能ではないので、ソースアプリケーションデータストアからターゲットアプリケーションデータストアへのデータ移行が一般的に執り行われる。データ移行は典型的には、ソースアプリケーションデータストアからターゲットアプリケーションデータストア中へのデータの抽出、変換およびローディング（または「ETL」）が関与する。このプロセスは、時々ソースアプリケーションからターゲット、または新たなアプリケーション中にデータをコピーすることと呼ばれる。小さなデータ容量については、ソースアプリケーションから新たなアプリケーション中にデータを手動でコピーするために人々を雇用することがコスト効率的であることができる。しかし、より大きなデータ容量については、自動化または半自動化データ移行アプローチが典型的には用いられる。
【０００３】
ソースアプリケーションデータストアから新たなアプリケーションデータストアへのデータの移行は、ビジネスにとっては相当な仕事を表す。そのような移行は典型的には、多くの人々が関与し、多くの月の間実行され、２つの区別されたフェーズで動作する：1つ目は、データ移行ソフトウェアが作成されて証明される構築およびテストフェーズであり；2つ目は、データ移行ソフトウェアの実際の実行（「ゴーライブ」フェーズとしても知られる）であり、それは新たなアプリケーションデータストアをソースアプリケーションデータストアからのデータでポピュレートすることによって製作使用のために新たなアプリケーションを準備する。「ゴーライブ」フェーズは、単独のイベントとして行われるかまたは拡張された期間に渡って実装されることができる。例えば、保険会社は、そのポートフォリオ全体をそのソースアプリケーションからその新たなプリケーション中に単独の移行実行で移行することができ、あるいはそれは1年の間に渡って週毎の移行を実行することができ、それらが更新のための締め切りに入るようにポリシーを選択する。
【０００４】
構築およびテストフェーズは、ソースアプリケーションデータストア中のデータの充分な量が新たなアプリケーションデータストアに移行されることと、移行されたデータが正確でレガシーデータと一貫していることを確かなものとするために、データ移行ソフトウェアの複数回のテスト実行が関与することができる。これはしばしば、「ゴーライブ」フェーズにおいて使われるために移行ソフトウェアが充分に正確で完全であるまで、移行の正確性と完全性を向上するために複数回のテスト実行の間で移行ソフトウェアが変形される、時間が掛かる反復プロセスが関与する。
【０００５】
ソースアプリケーション中のデータの新たなまたはターゲットアプリケーションへの移行を容易にし、従来技術の１つ以上の不利点または欠点に対処するかまたはそれを改善し、あるいは少なくとも有用な代替案を提供することが望まれる。
【発明の概要】
【０００６】
少なくとも１つの実施形態では、本発明は、ソースデータ抽出のプロセスの一部としてソースデータを選択する方法であって、方法は１つ以上のコンピュータープロセッサによって実行され、
ソースデータの少なくとも第１の部分を選択するステップと、
ソースデータの第１の部分に変数を割り当てて、ソースデータの第１の部分が１つ以上のコンピュータープロセッサによって変数を使って参照され抽出されることを可能とするステップと、
を含む方法、を提供する。
【０００７】
本発明の実施形態はまた、ターゲットアプリケーションと適合性のあるターゲットデータを生成するデータ移行における使用のためにソースアプリケーションと適合性のあるソースデータを選択する方法であって、方法は１つ以上のコンピュータープロセッサによって実行され、
ソースデータの少なくとも第１の部分を選択するステップと、
ソースデータの第１の部分に変数を割り当てて、ターゲットデータを生成する際にソースデータの第１の部分が１つ以上のコンピュータープロセッサによって変数を使って参照されることを可能とするステップと、
を含む方法、を提供する。
【０００８】
本発明の実施形態はまた、ソースアプリケーションからターゲットアプリケーションへの移行の一部としてソースアプリケーションと適合性のあるソースデータからターゲットアプリケーションと適合性のあるターゲットデータを生成する方法であって、方法は１つ以上のコンピュータープロセッサによって実行され、
ソースデータの少なくとも第１の部分を選択するステップと、
ソースデータの第１の部分に変数を割り当てて、ソースデータからの更なるターゲットデータの後続の生成の際にソースデータの第１の部分が１つ以上のコンピュータープロセッサによって変数を使って参照されることを可能とするステップと、
を含む方法、を提供する。
【０００９】
本発明の実施形態はまた、比較結果データを生成する方法であって、方法は１つ以上のコンピュータープロセッサによって実行され、
ソースデータストア内のソースデータエントリーを受け取るステップであって、ソースデータエントリーはソース値と関連付けられているステップと、
ソースデータエントリーから生成された第１のターゲットデータエントリーを受け取るステップであって、第１のターゲットデータエントリーは第１のターゲット値と関連付けられているステップと、
ソースデータエントリーから生成された第２のターゲットデータエントリーを受け取るステップであって、第２のターゲットデータエントリーは第２のターゲット値と関連付けられているステップと、
第１のターゲット値と第２のターゲット値を比較して、比較結果データを生成するステップと、
を含む方法、を提供する。
【００１０】
少なくともいくつかの実施形態では、本発明はまた、ソースコンピューティングアプリケーションからターゲットコンピューティングアプリケーションへの移行の一部としてソースコンピューティングアプリケーションと適合性のあるソースデータからターゲットコンピューティングソフトウェアアプリケーションと適合性のあるターゲットデータを生成するシステムであって、
ソースデータを格納するソースデータストアと、
ソースデータストアに格納されたソースデータの少なくとも第１の部分を選択し、ソースデータの第１の部分に変数を割り当てて、ソースデータからの更なるターゲットデータの後続の生成の際にソースデータの第１の部分が１つ以上のコンピュータープロセッサによって変数を使って参照されることを可能とする、１つ以上のコンピュータープロセッサと、
を含むシステム、を提供する。
【００１１】
本発明のいくつかの実施形態を、例としてだけ、付随する図面を参照して、以下に記載する。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の一実施形態に従ったデータスコーピングおよび移行システムの構成的な図である。
【図２】図２は、データスコープテンプレートを定義し得るキーエンティティ関係を描写する関係図である。
【図３】図３は、データスコープテンプレートの例示的事例からなるテーブルである。
【図４】図４は、変数の階層の描写である。
【図５】図５は、未解決の階層的データスコープテンプレートの例示的ＸＭＬ構造である。
【図６】図６は、解決された階層的データスコープテンプレートの例示的ＸＭＬ構造である。
【図７】図７と７ａは、（ターゲットデータエントリーを識別する）ターゲットデータキー、比較データおよび失敗データからなる結果を含んだ、解決されたデータスコープテンプレートの例示的ＸＭＬ構造のそれぞれ第１および第２の部分である。
【図８】図８は、定義データ、特性データ、およびサブ変数の階層を使ったデータスコープテンプレートの構築のための例示的プロセスを描写したフロー図である。
【図９】図９は、ソースエントリー、失敗データ、ソース値およびターゲット値のリストの生成を含んだ、ソースデータキー解決およびデータ移行のための例示的プロセスを描写した図である。
【図１０】図１０は、失敗データ報告における比較データの使用を描写した例示的な失敗データおよび比較報告である。
【図１１】図１１は、金銭的調停における比較データの使用を描写した例示的な金銭的調停報告である。
【図１２】図１２は、比較データの概略図である。
【図１３】図１３は、本発明の実施形態での使用のために好適なコンピューターシステムまたはプロセッサのアーキテクチャーを描写した例示的なアーキテクチャー図である。
【発明を実施するための形態】
【００１３】
概観
上述した通り、データ移行プロセスは一般に、ＥＴＬプロセスが関与する。データ移行プロセスをテストする時には、移行のためのソースデータベースからデータの一部またはサブセットが選択され、その後抽出される。ソースデータベースから選択されたデータの一部またはサブセットは、データベースの内容の全てかまたはデータベースの内容の規定された部分の全てであっても良い。本発明のいくつかの実施形態では、抽出されたデータは、それが不規則なデータ（例えば、エリアコードフィールドにおける電話番号）を含んでいないことを確かにするために、有効化されても良い。有効化されたデータは、それから移行される。
【００１４】
本発明の実施形態は、その後の抽出と、可能性として有効化および／またはターゲットデータ（それはターゲットアプリケーションと適合性のあるデータか、または中間形態のデータであっても良い）への移行のために、ソースデータの一部を表すソースエントリーのセットを選択するための方法を提供する。この点では、データ移行は、ソースアプリケーションと適合性のあるデータからターゲットアプリケーションでの使用のために好適なデータへの完全な移行であっても良く、または完全な移行プロセス内の移行ステップの１つ（例えば、ソースデータから中間形態への移行、中間形態からターゲットアプリケーションによって使用可能な形態へのデータの移行、または２つの中間形態の間でのデータの移行）であっても良い。
【００１５】
そのような移行をテストする時には、これがソースデータと移行、抽出または有効化ロジックの特定のタイプの振る舞いにフォーカスすることを移行ソフトウェアのテストに可能とするであろうことから、ソースデータの一部を表すソースエントリーのセットを指定することが有用であろう。
【００１６】
例えば、保険データを移行する時には、もし開発者が自動車保険ポリシーを移行するという特定のタスクを割り当てられているとすると、開発者は自動車に関する保険ポリシーの一部からのポリシーだけを選択することを望み得る。この部分以外の移行ポリシーは開発者の気を散らし、移行プロセスの持続時間を延長し、コンピューター資源を無駄にするであろう。
【００１７】
別の例として、「ライブ」製作データを移行する時、例えば、１つのシステムから別のものに移行する時には、要求は利用可能なソースデータの全てかまたは一部だけを移行することであっても良い。もし移行が適用されるであろうソースデータの部分を単純かつ容易に指定することが可能であれば、データは並行して移行されるべき部分に分割されることができ、よって移行プロセス全体の持続時間を短縮する。ソースデータはまた、データの残りによって続かれる「パイロット」フェーズのような、データ移行フェーズに分割されることができる。保険業界では、ポリシーは、それらが更新のための締め切りに入るような週毎のフェーズで移行されることができる。本発明の実施形態は、柔軟で拡張可能で、再利用可能なスコーピングメカニズムを提供することによってソースデータ選択を容易にする。（「スコーピング」には、プロセス、この場合には抽出および／または移行プロセス、において使用されるべきソースデータの部分を識別することが関与する。）
本発明の一実施形態に従ったソフトウェアツールセットは、移行プロセス中に操作されるべきデータをスコープする能力を提供する。
【００１８】
データがソースデータベースから抽出されるべきであるところでは、本発明の実施形態は、ソースデータを選択するためのコンピューター実装された方法であって、方法は、ソースデータの少なくとも一部分を選択するステップと、変数をこの識別された部分に割り当てるステップを含むもの、を提供する。抽出されるべきソースデータの一部分は、抽出プロセスの後続のステップ（あらゆる後続の有効化または移行プロセスを含む）が、ソースデータの一部分を参照するのに変数を使うことができるように、変数を使って参照されても良い。
【００１９】
同様に、（ソースアプリケーションにアクセス可能で適合性のあるデータである）ソースデータの一部分が、（そのデータ移行プロセスが、ターゲットアプリケーションに適合性がありアクセス可能であるデータである、ターゲットデータを生成する）データ移行プロセスにおいて使われるべきであるところでは、ソースデータのその部分が選択されて変数を割り当てられても良い。この変数は、ターゲットデータを生成するためにデータ移行プロセスにおいてその後使われても良い。
【００２０】
複数の移行実行が実行されるところ（例えば、移行ロジックが有効であることを確かにするための、「ビルド」フェーズ中）では、変数は、後続の移行実行において（つまり、ソースデータからの更なるターゲットデータの後続の生成において）使われても良い。
【００２１】
変数は、データスコープテンプレートによって、ソースデータの一部分に割り当てられても良い。図３を参照して以下で更に説明されるように、データスコープテンプレート３３２は、ソースデータの一部分を識別しているデータに変数（「名称」のような）を割り当てても良い。（ヘッダ列を別にして、図３における各列は、別々のデータスコープテンプレートである。）ソースデータの一部分を識別するデータスコープテンプレートの部分は、データスコープ定義３３４と呼ばれる。データスコープテンプレートは、複数のデータスコープ定義を含むことができ、（代替的にまたは追加的に）変数３３６の１つ以上の階層からなることができる。
【００２２】
変数に割り当てられるべきソースデータの一部分の識別は、一部分を識別する識別データを受け取ることが関与しても良い。この識別データは一般的に、オペレータ入力または構成ファイルから導出される。識別データは、それが受け取られた後はデータスコープテンプレート中に格納されても良い。上で指摘したように、データスコープテンプレート３３２内のそのような情報は、データスコープ定義３３４と呼ばれる。データスコープテンプレートは、データスコープ定義３３４の構成可能な混合を含んでいても良い。データスコープ定義の第１のタイプは、ソースデータストア内のデータエントリーを定義する定義データ３３８（例えば、保険ポリシーのデータベースにおけるポリシー番号のような、データベースにおける特定のデータキー）からなる。データスコープ定義の第2のタイプは、解釈可能な定義であり、それはデータ特性を定義する特性データ３４０からなり、そこで特性データ３４０は、ソースデータストア内のデータエントリーを記述により識別するのに使われる。特性データは、特定のデータエントリーの識別を可能とするために解釈される。例えば、特性データは、「自動車ポリシーの１０％」または「来月失効することになる全てのポリシー」を定義しても良い。
【００２３】
もし解釈可能な定義（つまり、特性データを含んだ定義）が使われれば、特性データは、ソースデータストア内のデータエントリーの特定のセットへと解決される。この特定データの特定のデータエントリーへの解決は、一度だけなされる必要がある。特性データを有するデータスコープテンプレートは、もしデータスコープテンプレートがその後再利用されれば、特性データの代わりに解決されたデータエントリーが使われても良いように、解決されたデータエントリーを格納するかまたは参照するように変形されても良い。解決されたデータスコープテンプレートは従って一般的に、移行プロセスの部分として使われた時に定義データだけを使い、特性データの全ては以前に解決されている。
【００２４】
データスコープテンプレートの１つの用途は、データ移行ソフトウェアまたはロジックの回帰テストを容易にすることである。データ移行の回帰テストは、変更された移行プロセスにおけるデータスコープテンプレートの繰り返し使用の結果を比較することによって達成されても良い。
【００２５】
データ移行プロセスは、暫定的なターゲット値を生成するためにソース値を変換する。完全な移行には、データ変換のシーケンスが関与し、各変換が暫定値を生成し、最終の変換がターゲット値を生成する。変換されるべき各ソース値について、本発明の実施形態は、（中間形態における移行プロセス中に一時的に格納された暫定値を含んだ）ソース値に対応するターゲットシステムにおいて生成されている値を記録する方法を提供する。更には、本発明の実施形態は、ソース、暫定およびターゲット値を比較する方法を提供する。例えば、もし保険データ移行における値として「プレミアム」が指名されていれば、ターゲットプレミアム値は、各ポリシーについてのソースプレミアム値に調停されることができる。これは、移行プロセスの監査を容易にする。分散があるところでは、暫定値が、移行プロセス中のどこで失敗が起こったのかを見るためにチェックされることができ、データ移行ソフトウェアまたはロジックの調停とデバッグ（矯正）を援助する。
【００２６】
以下の記載は、発明の理解と説明の簡単のために、主に保険業界からの例を採用する。但し、発明の実施形態は、あらゆる産業におけるデータ移行の文脈において使われても良く、保険データ移行は単にそれらの１つである。
【００２７】
定義
以下の用語が、この記載で使われる。
【００２８】
比較データは、関連付けられた比較値とそれらの対応する比較名称についての集団的表現である。（図１２の項目１２０２を参照。）
比較名称（図１２の項目１２０４を参照）は、１つ以上の関連付けられた比較値に対応するラベルを指し、データスコープテンプレート実行結果ファイル中にその対応する比較値１２０６と共に記録される。比較名称は、その対応する比較値を少なくとも部分的に表記または記述しても良い。比較名称の例は、例示的な保険データ移行の文脈では、「プレミアム収入」、「未払いの請求の信頼性」、または「請求の支払い」を含み、その各々は１つ以上の比較値に対応する。
【００２９】
比較結果データは、（共通の比較名称と関連付けられた比較値である）関連付けられた比較値を比較した結果を表すデータを指す。以下の「比較値」定義において記載された例では、比較名称「未払いの請求の信頼性」についての比較結果データは、＄１０，０００のソース比較値（図１２の項目１２０８を参照）を＄６，０００のターゲット比較値（図１２の項目１２１０を参照）と比較することによって生成される。比較結果データ値は、従って、＄４，０００である。別の例では、比較名称は「開始日付」であっても良く、ソース比較値が「２０−１１−２０１１」であり、ターゲット比較値が「２２−１１−２０１１」である。比較結果は、ソース比較値がターゲット比較値と同じであるかどうかを指し示すブール値であっても良い。代替的に、または追加して、比較結果は、ソース比較値とターゲット比較値の間の差（例えば、２日）であっても良い。
【００３０】
第１の移行プロセスが、第１のターゲット比較値（第１のターゲット値）に結果としてなり、第２の移行プロセスが、第２のターゲット比較値（第２のターゲット値）に結果としてなるところでは、比較結果データは、第１のターゲット値を第２のターゲット値と比較することによって生成されても良い。
【００３１】
比較値は、データエントリーの属性を指す（図１２の項目１２０６を参照）。データエントリーは、ソースデータストア（１２０８）かまたはターゲットデータストア（１２１０）中のデータエントリーであっても良い。データエントリーはまた、抽出または移行プロセス中に一時的に作成されたエントリーであっても良い。複数の比較値は、それらが共通のソースデータストアエントリーの共通の属性から導出されているところでは、お互いと関連付けられていても良い。例えば、移行プロセスの１回以上の実行の１つ以上のステップ中に、暫定的または一時的なデータエントリーが（移行プロセスの監査またはテストを容易にするために）共通のソースデータストアエントリーから生成されても良い。もし移行プロセスが成功であれば、ターゲットデータストアエントリーが生成される。一時的データエントリーとターゲットデータストアエントリーの各々は、そこからそれらが生成されているところのソースデータストアエントリーと共通する属性を有していても良く、それらの属性は「関連付けられた」と考えられ、単一で共通の比較名称と対応する（例えば、図１２の項目１２０２を参照）。
【００３２】
比較値１２０６の関連付けられたセットは常に、少なくとも１つのソース値１２０８を含み、移行が成功であったところではターゲット値１２１０も有する。第１の移行が第１のターゲット値に結果としてなっても良く、第２の移行が第２のターゲット値に結果としてなっても良く、それらの両方が比較値の例である。上述した通り、比較値の関連付けられたセットはまた、移行プロセスの様々なステージを表している暫定的ターゲット値１２１２を含んでいても良い。比較名称１２０４（例えば、未払いの請求の信頼性）についての比較値１２０６は、データ移行プロセスにおいてどこでエラーが導入されたかを決定するのに有用である。例えば、ソースデータストアエントリー１２０８は、比較名称「未払いの請求の信頼性」に対応する、未払いの請求の信頼性を表記する属性を有していても良い。この比較名称のためのソースデータストア中の比較値は、＄１０，０００であっても良い。もし（それもまた比較名称「未払いの請求の信頼性」と関連付けられている）ターゲットデータストア中の関連付けられた比較値１２１０が＄６，０００（即ち、＄４，０００の分散）であれば、「未払いの請求の信頼性」の比較名称と関連付けられた暫定的比較値１２１２が、移行プロセス中のどこでエラー（分散）が導入されたかを見るために再調査されることができる。比較値は、持続的に格納されても良く、（比較結果データを生成するのに使われても良い）データ移行プロセスの２回の実行の結果の比較を容易にする。
【００３３】
データスコープ特性は、データ特性を定義する特性データを指し、ソースデータストア内のデータエントリーを識別するために使われる。それは、データスコープテンプレートのデータ属性の形を取ることができる。それは、抽出または移行プロセス中にデータスコープテンプレートが最初に使われる時に、解釈されてソースデータキーへと解決される。一般の保険移行の文脈における特性データの例は「ポリシーの１０％」であり、別の例は「２００個の請求」である。
【００３４】
データスコープ定義（図３の項目３４０を参照）は、ソースデータキー（定義データ）（図３の項目３３８を参照）とデータスコープ特性（特性データ）（図３の項目３４０を参照）の集団的表現である。本実施形態では、データスコープ定義はほぼ常に、データスコープテンプレートの一部を形成する。
【００３５】
変数階層は、親子関係でリンクされた変数の順序付けられたセットである。子供は、あらゆる階層内で無制限な数の兄弟と、あらゆる階層内で無制限の数の世代の祖先を有することができる。子供は、複数の異なる階層に参加しても良い。変数階層が、データスコープテンプレートの階層を使って実装されても良い。子供の変数がサブ変数と呼ばれても良く、孫の変数が更なるサブ変数と呼ばれても良い。
【００３６】
データスコープテンプレートは、コンピューター読み取り可能な文書であり（図３の列も参照）、それは空の構造であっても、変数に割り当てられるべきデータを定義する１つ以上のデータスコープ定義を含んでいても良い。それはまた（あるいは代替的に）、その他の変数を含むかまたは参照しても良く、変数の階層を含むかまたは参照しても良い。以下で更に記載されるように、データスコープテンプレートは一般に、データスコープテンプレート中で参照されたデータスコープ定義によって定義されたデータに変数を割り当てる。それは（代替的にかまたは追加で）、１つ以上のサブ変数か、または更なるサブ変数を含んだサブ変数の階層によって、全体かまたは部分が定義されたデータに変数を割り当てても良い。
【００３７】
移行は、ターゲットデータストア中への格納のためにデータを変形し、それをターゲットアプリケーションと適合性があるようにするのに要求されるあらゆる変換を含んだ、ソースデータストアとターゲットデータストアの間のデータの動きである。
【００３８】
ソースデータキーは、ソースデータストア内のデータエントリーを定義する定義データを指す。それは一般には固有の識別子である。例示的な保険の文脈では、ソースデータキーによって定義されたデータエントリーは、保険ポリシー番号または請求番号であっても良い。
【００３９】
ソースデータストアは、ソースアプリケーションによって使われる構成および構造中にデータを格納する１つ以上のレポジトリを指し、例えば、データベース、データウェアハウス、およびＷｅｂＳｅｒｖｉｃｅアプリケーションプログラミングインターフェース（ＡＰＩｓ）を通してアクセス可能なデータストアを含んだその他のデータストア、を含むことができる。
【００４０】
ターゲットデータキーは、ターゲットデータストア内のデータエントリーを定義する固有の識別子を指す。
【００４１】
ターゲットデータストアは、新しい（またはターゲット）アプリケーションによって使われる構成および構造中にデータを格納する１つ以上のレポジトリを指し、例えば、データベース、データウェアハウス、およびＷｅｂＳｅｒｖｉｃｅＡＰＩｓを通してアクセス可能なデータストアを含んだその他のデータストア、を含むことができる。ターゲットデータストアは、ターゲットデータを格納しても良く、ここでターゲットデータは完全な移行プロセスの結果である。ターゲットデータが中間である（従ってその最終形態にはない）ところでは、それは別の格納場所またはデバイスに格納されても良い。
【００４２】
図１は、データスコーピングおよび移行システム１００を描く。移行システム１００は一般に、ソースデータストア１０４と、コンピュータープロセッサ１０６と、ターゲットデータストア１０８を含む。コンピュータープロセッサ１０６は、１つ以上の物理的コンピュータープロセッサからなっても良く、それは物理的および／または地理的に分布していても良く、あるいは共通のロジックボードに固定されていても良い、それは、論理的コンピュータープロセッサであり、それはあらゆる数の物理的プロセッサ上で実行している複数のプロセッサまたはスレッドからなっても良い。
【００４３】
記載された実施形態では、コンピュータープロセッサ１０６は、図１３に示されるように、３２ビットまたは６４ビットＩｎｔｅｌアーキテクチャーに基づいたコンピューターシステムのような標準的なコンピューターシステムであり、プロセッサ１０６によって実行され、以下で更に記載される方法が、図１３に示されるように、コンピューターシステムと関連付けられた不揮発性（例えば、ハードディスク）ストレージ１３０４上に格納された１つ以上のソフトウェアモジュール１３０２のプログラミング命令の形で実装されている。但し、以下で記載するプロセスの少なくとも部分は、アプリケーション特定集積回路（ＡＳＩＣｓ）および／またはフィールドプログラミングゲートアレイ（ＦＰＧＡｓ）のような、１つ以上の専用のハードウェアコンポーネンツとして代替的に実装されることができることが明らかである。
【００４４】
システム１０６は、バス１３１６によって全て相互接続された、ランダムアクセスメモリー（ＲＡＭ）１３０６と、少なくとも１つのプロセッサ１３０８と、外部インターフェース１３１０、１３１２、１３１４を含んだ、標準的なコンピューターコンポーネンツを含む。外部インターフェースは、ユニバーサルシリアルバス（ＵＳＢ）インターフェース１３１０を含むことができ、それらの少なくとも１つは、キーボードとマウス１３１８のようなポインティングデバイスと、システム１０６をインターネット１３２０のような通信ネットワークに接続することができるネットワークインターフェースコネクター（ＮＩＣ）１３１２と、ＬＣＤパネルディスプレイ１３２２のようなディスプレイデバイスに接続されているディスプレイアダプター１３１４、に接続されている。
【００４５】
システム１０６はまた、Linux（登録商標）またはMicrosoft Windows（登録商標）のようなオペレーティングシステム１３２４を含んだ、多数の標準的なソフトウェアモジュールを含む。
【００４６】
ソースデータストア１０４とターゲットデータストア１０８は、電子的ストレージのあらゆる形でのデータを含んでいても良い。データベースが、レポジトリの一般的なタイプである。（ソースデータストア１０４やターゲットデータストア１０８のような）データレポジトリとの相互作用は、構造化照会言語（ＳＱＬ）、アプリケーションプログラミングインターフェース（ＡＰＩ）のあらゆるその他の形態、またはそれらのあらゆる組み合わせ、を介するものであることができる。
【００４７】
データスコープテンプレート−特性データおよび定義データ
上述した通り、データスコープテンプレート１０２は、抽出または移行されるべきソースデータストア１０４中のソースデータの少なくとも一部分（または、どのターゲットデータから、中間または最終形態のそのデータが生成され得るか）を指定する。それは好ましくは、コンピューター読み取り可能な文書の形を取る。そこからターゲットデータが生成されるべきソースデータの少なくとも一部分の選択（当該技術において「データスコーピング」と呼ばれる）は、定義データを通して達成されても良く、それはソースデータキーと、特性データ（もしそれらが以前に解釈されていなければ、ソースデータキーを識別するためのコンピュータープロセッサ１０６による抽出または移行プロセス中に解釈される（即ち、解決される）データスコープ特性）と、変数、サブ変数および／または更なるサブ変数、またはそれらのあらゆる組み合わせの階層的集団の特定のセットを含んだ１つ以上の固定された定義を表す。
【００４８】
データスコープ特性のような特性データと、ソースデータキーのような定義データと、（サブ変数と更なるサブ変数を含むことができる）変数階層を含んだ１つ以上の変数、を含んだデータスコープテンプレート１０２は、ユーザーインターフェース１１２を介して維持されることができる。
【００４９】
データスコープテンプレート１０２の特性データと定義データは、レポジトリ１１０中に格納される。レポジトリ１１０はまた、可能性としてリレーショナルテーブルおよび／または拡張可能なマークアップ言語（ＸＭＬ）の形態で、データスコープテンプレート１０２を格納しても良い。
【００５０】
抽出またはデータ移行プロセスの実行に際して、コンピュータープロセッサ１０６はレポジトリ１１０からデータスコープテンプレート１０２を取り出す。
【００５１】
特性データの解決
コンピュータープロセッサ１０６によるデータスコープテンプレート１０２の最初の処理において、データスコープテンプレート１０２（および、例えば、子供データスコープテンプレートを通して、データスコープテンプレート１０２によって参照されたあらゆる特性データ）のあらゆる特性データは、コンピュータープロセッサ１０６によって定義データへと解決され、それはソースデータキーの特定のセットの形を取る。言い換えると、コンピュータープロセッサ１０６は、抽出または移行されるべきソースデータストア１０４内の特定のデータエントリーを識別するために特性データを使う。これは、特性データをデータスコープビルダープロセス１１４に渡すことにより達成される。データスコープビルダープロセス１１４は、特性データから決定された定義データ（定義データはソースデータキーの形を取る）をコンピュータープロセッサ１０６に返し、それは一方でソースデータキーをデータスコープテンプレート１０２中に書き込み、「実行時データスコープキーリスト」中にそれらを含める。実行時データスコープキーリストは、抽出または移行プロセスにおいて使われるソースデータキーの全てを識別する、コンピュータープロセッサ１０６によって維持された一時的リストである。一実施形態では、データスコープビルダープロセス１１４は、定義データをデータスコープテンプレート１０２中に直接書き込んでも良い。
【００５２】
失敗および比較データを生成し格納すること
実行時データスコープキーリスト中の特定のソースデータキーが、移行または抽出のためのデータをスコープ（つまり、抽出または移行されるべきソースデータの一部分を選択）するために、コンピュータープロセッサ１０６によって使われる。データ移行または抽出プロセスの一部として、データスコープテンプレート結果容器１３２が構築される。それはデータスコープテンプレート１０２を含み、データスコープテンプレート実行結果１３０も含み得る。データスコープテンプレート実行結果１３０は、データスコープテンプレート１０２中の各ソースデータキーと関連付けられたターゲットデータキーと、失敗データと、（移行プロセスの様々なステージにおける比較名称と関連付けられた比較値を表す）比較データを含み得る。成功裡に生成されたターゲットデータは、１つ以上のターゲットデータストア１０８中に格納される。例えば、ターゲットデータは、データウェアハウスと関連付けられたターゲットデータストアと、保険ポリシーを処理するためのアプリケーションと関連付けられたターゲットデータストア中に同時に格納されても良い。
【００５３】
データ移行または抽出プロセスの終結において、データスコープテンプレート１０２（あらゆる新たに解決されたソースデータキーを含む）と、データスコープテンプレート実行結果１３０（比較データ、失敗データ、およびターゲットデータエントリーを表すターゲットデータキーを含む）からなる、データスコープテンプレート結果容器１３２は、レポジトリ１１０中に格納される。
【００５４】
ソースデータキーの重複排除
ソースエントリーを表す特定のソースデータキーは、同じデータスコープテンプレート１０２内の複数のデータスコープ定義によって、または変数階層内のデータスコープテンプレート１０２のあらゆる組み合わせによって、参照されても良い。この状況では、特定のソースデータキーは、データ移行または抽出のために一度だけ処理される（つまり、ターゲットデータがソースデータキーによって表されたソースデータから一度だけ生成される）。これは、実行時データスコープキーリストの生成によって容易にされ、それは処理されるべきソースデータを表すソースデータキーを含む）。実行時データスコープキーリストは、ソースエントリー（ソースデータキー）のセットであり、そこでは各ソースエントリーがソースデータストア内のデータエントリーと対応し、１つ以上の変数、サブ変数または更なるサブ変数と関連付けされている。実行時データスコープキーリストは、あらゆる重複を排除するべく処理される。レポジトリ１１０中に格納されたあらゆる比較データ、失敗データおよびターゲットデータキーが、対応するソースデータキーを参照する各データスコープテンプレート１０２と関連付けられる。言い換えると、抽出または移行が成功であるところでは、記載された実施形態のシステムは、抽出または移行プロセスを通して対応するソースデータエントリーから生成された１つ以上のそれぞれのターゲットデータエントリーを受け取り、それぞれのターゲットデータエントリーの各々を、対応するソースデータエントリーと関連付けられた変数、サブ変数、または更なるサブ変数と関連付ける。加えて、ソースデータエントリーの不成功な抽出、有効化または移行の結果として生成されたあらゆる失敗データもまた、対応するソースデータエントリーと関連付けられた変数、サブ変数、または更なるサブ変数と関連付けられる。なかんずく、これは、データスコープテンプレート１０２の各使用が前の使用（例えば、移行プロセスの実行）に対して比較されることを許容する。
【００５５】
例えば、自動車に関連する保険ポリシーが選択され、変数「車保険」が割り当てられると仮定する。１０個の関係のあるポリシーがあり、それらの各々はそれを識別する対応するキー（ソースデータキー）を有する。割引された保険ポリシーもまた選択され、変数「割引された」が割り当てられる。１０個の割引されたポリシーがあり、それらの２つは自動車ポリシーでもある。実行時データスコープキーリストが生成され、１８個のソースデータキーを含む（それらの各々は、１つ以上の変数、サブ変数、または更なるサブ変数と関連付けられている）。（割引された自動車保険に関連する）これらのソースデータキーの２つは、「車保険」変数と「割引された」変数の両方に割り当てられる。
【００５６】
１８個のソースデータキーの各々について、データ有効化、抽出または移行は成功するか失敗するかのどちらかである。データ移行が成功するところでは、ターゲットデータが生成され、各ターゲットデータキーが、対応するソースデータキーと関連する変数または複数の変数と関連付けられる。それで自動車保険に関連するソースデータキーから生成されたターゲットデータキーはまた、変数「車保険」も割り当てられる。同様に、データ抽出、有効化または移行が失敗するところでは、失敗データが生成され、失敗データが、対応するソースデータキーと関連する変数と関連付けられる。もし「車保険」変数が割り当てられたソースデータキーの５０％だけが成功裡に抽出、有効化または移行されれば、ソースデータキーの５つは関連付けられたターゲットデータキーを有し、残り５つのソースデータキーは関連付けられた失敗データを有する。「車保険」変数は、５０％の成功率を有する。
【００５７】
もし失敗データと関連付けられている「車保険」ソースデータキーの１つがまた「割引された」変数に割り当てられていれば、それは再抽出、再移行または再有効化されるように試みられず、失敗データが「車保険」および「割引された」変数の両方に対してカウントする（割り当てられる）
もしデータスコープテンプレート１０２が（その後の移行プロセスまたはテストプロセスにおいて）その後再利用されれば、レポジトリ１１０中に格納されたソースデータキーが使われ、あらゆる解釈可能な定義（特性データ）が再評価されることの必要を避ける。
【００５８】
システム１００は、ビジネス分析者、開発者、およびデータ移行のテスターと、ビジネスによる製作使用のためのデータでターゲットアプリケーションがポピュレートされていることに結果としてなる「ゴーライブ」データ移行を実行するサポートスタッフによる使用が意図されている。
【００５９】
設計はいかなる特定の産業にも縛られない。但し、それば一般的な保険（または「資産および事故」）産業によって使われるもののような複雑な財務アプリケーションの必要に非常に好適である。
【００６０】
変数を使ったデータスコーピングの恩恵
変数を使うことの利点は、移行プロジェクトの開発フェーズ中および製作「ライブ」移行中に実現される。利点は次の通りである。
【００６１】
１．（ソースデータの全てではなく）データの一部分を選択する能力は、移行プロセスがより素早く実行されることを意味し、プロセスの信頼性および／または正確性を証明するためにより多くのテスト移行が実行されることを許容する。それはまた、プロジェクトの開発フェーズ中に要求されるコンピューター資源の量を削減する。
【００６２】
２．データスコープテンプレート内で持続的なソースデータキー（定義データ）のセットを定義する能力は、データスコープテンプレートを使う移行プロセスを再実行することが（ソースデータが再選択される必要がないので）効率的でかつ（同じソースデータキーが常に選択されるので）正確であることを意味する。
【００６３】
３．移行プロセスの開発フェーズ中には、ターゲットシステムがソースシステムデータをサポートするために変形されなければならないことと、それらの変形が増分的に配付されることが一般的である。例えば、保険データ移行では、ターゲットシステムは、それがホームおよび内容物ポリシーをサポートする数ヶ月前に自動車ポリシーをサポートしても良い。実効的なデータスコーピングメカニズム無しでは、開発者とテスターは、ターゲットシステムが特定のソースデータをサポートしないことによる失敗データを除去するためにテスト結果をフィルタしなければならない。そのような失敗データは、気を散らすことができ、容易に区分可能でないかもしれない。ターゲットシステムによってサポートされているソースデータの部分に移行プロセスを制限する（およびターゲットシステムのサポートが増加するにつれてソースデータのスコープを漸進的に増加する）能力は、開発およびテストプロセスを顕著に援助する。
【００６４】
４．階層的変数とデータスコープテンプレートは回帰テストを大いに援助する。例えば、それらは、新しいソフトウェアをテストする時には開発者が回帰テスト変数またはデータスコープテンプレートを常に含めて、回帰テストが通過していなければ、それらの開発環境からシステムテスト環境にソフトウェアを奨励しないことを、プロジェクトマネージャーが強要することを許容する。開発者の視点からは、これは単に彼または彼女の新しいプログラムコードをユニットテストするために彼または彼女が構築したデータスコープテンプレートのサブ変数または子供として回帰テストスイート変数データスコープテンプレートを追加する事柄である。
【００６５】
５．（移行プログラマーがそれを移行プロセス中に構築するのではなく）データセットを解決するためにデータソースビルダー１１４を使うことは、カプセル化され、良くテストされて一貫性がある解決アルゴリズムに結果としてなる。アルゴリズムは、それらが一箇所にあるのでより容易に維持される。このカプセル化は、ソースシステムの複雑さを理解している専門家が、解決のために提供された特性データを正しく解釈するのに使われることを許容する。
【００６６】
６．テストデータを識別する従来の方法は、シナリオを識別して、それらの判断基準に合うデータを提供することをデータ移行開発者に求めるビジネス分析者が関与する。これは、誤った解釈のリスクが関与する。データスコープテンプレート中への包含ために彼ら独自のソースデータキー（定義データ）を提供することのビジネス分析者およびテスターの能力は、この誤った解釈のリスクを削減し、ビジネスが既知の問題データを識別することを許容する。保険産業では、それはデータ処理スタッフが問題を有するか複雑であるとして識別したポリシーからデータスコープテンプレートが構築されても良いことを意味する。これは処理スタッフと管理によるより大きな関与を可能とする。それはまた、開発者への依存度を削減し、生産性を援助してコストを削減する。
【００６７】
７．移行プロジェクトの開発フェーズの終結の数ヶ月前に、「コードフリーズ」が通常実装され、それによりプログラムコードは変更されることができない。もしデータスコーピングロジックが有効化、抽出または移行ロジック中に一体化されていれば、それも凍結されてしまい、移行プロセスを更にテストするために新しいシナリオが導入されることができない。定義データと特性データを使うことにより、プログラムコードを変えること無しに凍結期間を通して新しいテストを作成することができる。
【００６８】
８．（失敗データと、（移行プロセスの様々なステージにおける比較名称と関連付けられた比較値を表す）比較データと、（ターゲットデータエントリーを表す）ターゲットデータキーの形での）客観的なテストの証拠の製作は、プロジェクトマネージャーがプロジェクトチームのメンバーのテストする努力を監視することを許容する。例えば、プロジェクトマネージャーは、開発者がシステムテスト環境への奨励のために彼の移行ロジック変更を提出する前に回帰テストスイートを実行して通過したかどうかを見ることができる。
【００６９】
９．移行タスクの実行は、特にもし利用可能なコンピューター資源（例えば、コンピュータープロセッサ）上に制約があれば、平凡ではないかもしれない。移行プロセスは、実行するのに数日かかることができ、専門家の入力を要求する複雑な設定および監視ステップが関与することができる。変数のマルチレベル階層またはデータスコープテンプレートを有する能力は、親子データスコープテンプレートおよび変数階層の恩恵を拡張する。それは、テストケースが設計されてコンポーネント形態で組み立てられ、単一移行実行で実行されることを可能とする。これは、いくつかの聴衆（例えば、開発者、システムテスター、受け入れテスターおよびプロジェクトマネージャー）の関心が単一の移行実行において対処されることを許容する。正確なスコーピングと先の移行実行において証明された階層の再利用と、失敗データと比較データのロギングは、ヒューマンエラーが移行実行を無効化する機会を削減する。
【００７０】
１０．移行プロセスの製作実行は、「クリーン」であることが期待され、抽出、有効化または移行されることが試みられた時に、失敗データに結果としてなるソースデータエントリーをもしあっても僅かにしか有していない。パフォーマンステストをする時、全てのデータエントリーが抽出、有効化および／または移行プロセス全体を通して成功裡に通過して、正確に製作実行をシミュレートするように、クリーンなデータサンプルでテストすることが有用である。「クリーン」な変数またはデータスコープテンプレートを作成することは、現実的なパフォーマンステストをサポートする。
【００７１】
１１．移行ロジックを徹底的にテストする（ソースデータの選択された部分、即ちデータスコープテンプレートによって表された）テストシナリオの設計は、複雑で時間の掛る活動であることができる。他の変数またはデータスコープテンプレートの子供として既存の変数またはデータスコープテンプレートを追加する能力は、既存のシナリオの再利用を許容する。
【００７２】
１２．データスコープ特性（即ち、特性データ）の特定のデータエントリー（即ち、ソースデータストア内のソースデータキーまたはデータエントリー）への自動化された解決は、定義されたシナリオを正確に表すテストケースを構築する効率的な方法を提供する。
【００７３】
１３．各ターゲットデータキーを（変数で表された）データスコープテンプレートとその対応するソースエントリーに関連付けることは、ソースデータとターゲットデータのエントリーの間にクリアなリンクがあるので、調停を援助する。変数（およびそれらの子孫）へのリンクは、（例えば、エンティティタイプまたはプロダクトタイプによる）データスコープ特性による分析を含んだ移行実行の結果のカテゴリーによる分析と、回帰テストの成功とターゲットアプリケーションにおける新たに導入された機能性の品質の評価を援助する。
【００７４】
１４．失敗データと（移行プロセスの様々なステージにおける比較名称と関連付けられた比較値を表す）比較データを生成することと、それを変数と関連付けることは、何故特定のソースデータエントリーが抽出、有効化または移行しないかを分析する能力を提供し、どのようにしてどこで抽出、有効化または移行プロセスが破綻したかを示す。これは、開発者が、課題に対処するための抽出、有効化または移行ロジックにどのような変更が要求されているかを評価し、ロジックを変更して抽出、有効化または移行プロセスを再実行することを許容する。（変形されたロジックで）異なる時間上のポイントにおいて実行された同じデータスコープテンプレートの（失敗データと比較結果データの形での）結果を比較することは、回帰テストとトレンド分析を可能とする。この回帰テストとトレンド分析は手動で執り行われることができるが、本発明の実施形態の１つの利点は、自動化された回帰テストとトレンド分析を容易にすることである。変数階層（またはデータスコープテンプレートの階層）を使って抽出、有効化または移行プロセスを実行することは、例えば、請求開発チームがプログラムコードを変形させる時はいつでも、請求回帰テストが失敗することを示しても良く、システムテスト環境への彼らの変更の配備に先立ってこのチームにはより厳格なテストが要求されることを指し示す。そのような計量は、データ抽出、有効化または移行開発チームの品質と進捗を追跡する際にプロジェクトマネージャーには貴重である。
【００７５】
１５．レポジトリ中に結果を格納することは、抽出、有効化または移行環境が、先の抽出、有効化または移行実行からの計量の損失無しに、変更／再構築／置換されることを許容する。
【００７６】
１６．履歴的比較データをレポジトリ中に永続的に格納することは、移行プロセスを変更することの比較データ上へのインパクトの分析を容易にして簡略化する。
【００７７】
１７．比較データの使用は、データ移行調停および監査プロセスの労力とコストを削減する。
【００７８】
図２は、データ移行におけるコンピュータープロセッサ１０６によるデータスコープテンプレート１０２の構築（データスコープテンプレート構築エンティティ２０１）とデータスコープテンプレート１０２の使用の結果の格納（データスコープテンプレート実行結果１３０）のためにレポジトリ１１０に在駐する例示的なリレーショナルデータベーステーブルを描いたエンティティ関係図である。データスコープテンプレート構築エンティティ２０１内のデータテーブル中に格納された情報は、データスコープテンプレート１０２を形成するＸＭＬを生成するのに使われる。データスコープヘッダ２０２が、ルートレベルエンティティである。データスコープテンプレート実行結果エンティティ２２７は、データスコープテンプレート１０２を使用したことの結果を格納する。このスキーマは、ソースデータの一部分に割り当てられた変数と、ソースエントリーとターゲットデータエントリーを表すキーと、特性データと、定義データと、失敗データと、ソース値とターゲット値を格納する。
【００７９】
データスコープテンプレート構築エンティティ２０１は、データスコープヘッダ２０２と、データスコープ定義２０４と、データスコープ階層２０８を含む。
【００８０】
データスコープヘッダ２０２は、ＧＵＩＤ２３０（グローバル一意識別子）によって一意に識別される。データスコープヘッダ２０２は、ソースデータの一部分に割り当てられた変数を含む。
【００８１】
データスコープ特性データ２０３は、ソースデータストア内のソースデータエントリーを識別するのに使われる解釈可能な（特性）データを含む。
【００８２】
データスコープヘッダ２０２中に格納されたデータの列は、オプションでデータスコープ定義２０４中に格納された０、１またはそれより多くの関連したデータ列を有することができる。データスコープ定義２０４は、ユーザーが特定のデータスコープテンプレートのデータ範囲を指定するための格納場所を提供する。
【００８３】
データの列がデータスコープ定義２０４に加えられる時には、列は、ソースデータストア内のデータエントリーを定義する定義データの形での固定された定義を作成するための詳細、またはソースデータストア内のデータエントリーを識別するのに使われ得る、特性データの形での解釈可能な定義、を含んでいても良い。
【００８４】
データスコープ定義２０４中に格納された固定された定義は、データスコープエンティティタイプ２２０中に格納されたエントリーへの参照を含み、データスコープ定義キー２１０中に格納された（ソースエントリーを識別する）ソースデータキーの特定のセットを提供する。
【００８５】
データスコープ定義２０４中に格納された（特性データの形での）解釈可能な定義は、データスコープエンティティタイプ２２０、データスコープビルダーレジスタ２２２、データスコープ測度単位２２４中に格納されたエントリーへの参照を含み、オプションでデータスコープフィルタ２２６への参照を含むことができる。特性データが最初に処理される時には、定義が、（ソースエントリーを表す）ソースデータキーの特定のセットへと解決され、それはそれからデータスコープ定義キー２１０中に格納されることができる。データスコープ定義２０４の後続の使用は、以前に解決されたソースデータキーが解釈可能な定義命令よりも優先されることに結果としてなる（これはつまり、特性データを解釈するのではなく、最初の使用で生成されたソースエントリーのリストが使われる）。
【００８６】
データスコープエンティティタイプ２２０は、ソースデータストア１０４中に一次データエンティティに関連するデータエンティティ名称のセットを格納し、異なる産業の細目に移行プロセスを容易に適合させるためのメカニズムを提供する。例えば、一般の保険の文脈では、一次データエンティティは典型的には「パーティ」、「ポリシー」および「請求」を含むであろう。
【００８７】
データスコープビルダーレジスタ２２２は、移行プロセスの実行中にユーザーが選んだデータスコープエンティティタイプ２２０に関するソースデータキーのリストへとデータスコープ定義２０４を解決するのに使われる、データスコープテンプレート解決アルゴリズム（つまり、ソースエントリーのリストを生成するために特性データを解釈するアルゴリズム）を識別するアルゴリズム名称のセットを格納する。データスコープテンプレート解決アルゴリズムの作成は典型的には、ソースデータストア１０４の高い可変性と産業特定の性質による特注の活動である。データスコープビルダーレジスタ２２２中にデータスコープテンプレート解決アルゴリズムを登録することは、非技術的ユーザーが適切なデータ解決アルゴリズムを容易に選択することを許容し、ユーザーインターフェース１１２が様々な産業において容易に再利用されることを許容する。
【００８８】
データスコープ測度単位２２４は、データスコープ定義２０４に適用される利用可能な測定単位のセットを格納する。典型的な測度単位は、「パーセント」と「ユニット」であり、ユーザーがデータスコープ定義２０４中のユニットの値についての相対的または絶対的な修飾子を選択することを許容する。
【００８９】
データスコープフィルタ２２６は、フィルタリング制約名称の階層的なセットを格納する。それらの制約は典型的には、ソースデータストア１０４中のデータの概念的部分に関連する。例えば、「ポリシー」という特定の保険のエンティティについては、「モーター」製品と「ホームおよび内容物」製品があっても良く、その両方がデータスコープフィルタ２２６エントリーとして追加されることができる。ユーザーは、フィルタ制約を選択することができ、それらはデータスコープビルダーレジスタ２２２において参照されたデータスコープテンプレート解決アルゴリズムによって適用される。それらは特性データの更なる形態である。
【００９０】
データスコープヘッダ２０２中に格納されたデータの列はオプションで、データスコープ階層２０８中に格納された０、１、またはそれより多くの関連するエントリーを有することができる。データスコープ階層２０８は、ユーザーがデータスコープヘッダ２０２中に格納された列の間の親子関係を格納することを許容する。これは、変数、サブ変数および更なるサブ変数の階層の作成を許容する。
【００９１】
データスコープテンプレート実行結果エンティティ２２７は、データスコープ失敗データ２３２を含む。失敗データは、データスコープ失敗データ２３２中に格納され、失敗データをその関連するソースデータキー（即ち、ソースエントリー、それは一方でソースデータキーを直接的または間接的に参照する変数と関連する）にリンクし、失敗データを回帰テスト分析のために利用可能とする。比較データは、データスコープ比較データ２３４中に格納され、比較データを回帰テスト分析、監査および調停のために利用可能とする。
【００９２】
図２によって描かれたエンティティ関係図は、達成されるべき発明の実施形態のいくつかの恩恵を許容するデータ格納デザインを描く。データスコープ特性データ２０３を使って特性データを定義する能力は、ユーザーが定義したシナリオと合うソースデータの部分の効率的かつ正確な選択をサポートする。（データスコープ定義キー２１０における）ソースデータキーの形での定義データの格納は、エンドユーザーが問題を有することが知られているかまたは複雑であるソースデータエントリーを指定することを許容する。それはまた、解決されたデータスコープテンプレートが再実行された時に同じソースデータキーを使うことを許容して、「類似同士」の比較を容易にする。データスコープ階層２０８によってサポートされた階層的構造を介したサブ変数のサポートは、様々なデータシナリオを表す変数とデータスコープテンプレートが容易に再利用されることができるので、テストにおける効率性を援助する。ソースデータキーとターゲットデータエントリーを表す（データスコープターゲットキー２３０中の）対応するターゲットデータキーの格納は、ユーザーがレガシー（ソース）およびターゲットアプリケーション中のデータエントリーを容易に比較することを許容して、テストにおける効率性を強化する。（データスコープ比較データ２３４中の）ソース値とターゲット値の形での比較データの格納は、より簡単でより効率的な監査および調停プロセスをサポートする。失敗データ（データスコープ失敗データ２３２）についてのサポートは、より効率的な欠陥識別を許容する。最後に、データスコープ特性データ２０３の、データスコープ定義２０４およびデータスコープ定義キー２１０を介したデータスコープ比較データ２３４およびデータスコープ失敗データ２３２との関連付けは、カテゴリーによる比較結果データおよび失敗データの分析を容易にする。これは、エンティティタイプおよび／またはフィルタによる効率的なレビューを許容し、「どのような比率の（エンティティタイプ）請求が失敗データを有するか？」や「モーターまたはホームポリシーがより大きなプレミアム分散を有するか？」のような質問に回答することを容易にするデータを提供する。
【００９３】
図３は、例示的なデータスコープテンプレート構築エンティティ２０１の様々なエレメンツを描いたテーブル３００である。テーブルの各列は、単一のデータスコープテンプレート１０２を表す。
【００９４】
変数「ポリシーの１０％」を割り当てるデータスコープテンプレート３０２は、全てのポリシーの１０％の選択を定義する定義を描く。データスコープテンプレート３０２は、図３に描かれたような特性データを含み、それはコンピュータープロセッサ１０６がソースデータストア（つまり、ソースデータストア１０４）内のデータエントリー（つまり、ソースデータキー）を選択するのに使う。（全てのポリシーの１０％である）ソースデータのこの部分は、ソースデータのこの部分が、ターゲットデータの生成および／またはソースデータからの更なるターゲットデータの生成を含んだ（つまり、第２以降の移行実行における）、抽出プロセスにおいて１つ以上のコンピュータープロセッサ１０６によって変数を使って参照されることを可能とするために、変数、即ち「全てのポリシーの１０％」が割り当てられる。
【００９５】
変数「６個の請求」を割り当てるデータスコープテンプレート３０６は同様に、６個のオープン請求のデータ特性を定義する特性データを含む。
【００９６】
変数「組み合わされたポリシー（０．００５％）と請求（６個）」を割り当てるデータスコープテンプレート３１０は、特性データと子供データスコープテンプレートの例示的な組み合わせを描く。このデータスコープテンプレート３１０は、「６個の請求」であるサブ変数に加えて特性データ（組み合わされたモーターポリシーの０．００５％）を含む。このサブ変数は、データスコープテンプレート３０６によって割り当てられたもので。それは（６個の請求である）ソースデータの第２の部分を識別する。このやり方で、変数「６個の請求」は、「組み合されたポリシー（０．００５％）と請求（６個）」変数と関連付けられたデータの第１の部分の定義において再利用されて、データスコープテンプレート３１０内で「６個の請求」の定義を別個に指定する必要を排除する。
【００９７】
変数「回帰テスト１」を割り当てるデータスコープテンプレート３１８は、サブ変数だけによって定義されるデータへの参照を含んだデータスコープテンプレートを描く。つまり、データスコープテンプレート３１８はソースデータストア１０４内のデータエントリーを定義する定義データに変数「回帰テスト１」を割り当て、ここで定義データは、それぞれ（データスコープテンプレート３０２によって割り当てられた）「ポリシーの１０％」と（データスコープテンプレート３０６によって割り当てられた）「６個の請求」と関連付けられたサブ変数「ポリシーの１０％」と「６個の請求」を含む。
【００９８】
変数「未払いの請求」を割り当てるデータスコープテンプレート３２０は、代替的なデータスコープテンプレートビルダー１１４の使用を描き、この場合には、ビルダー１１４は（「確定した」から区別された）「オープンな」請求のみを選択するであろう。
【００９９】
変数「モーターポリシー２０％＋３個の欠陥」を割り当てるデータスコープテンプレート３２２は、複数のデータスコープテンプレート定義の使用を描く。（特性データからなる）第１の定義は、自動車と関連するポリシーの２０％にポリシー選択を制限することをデータスコープテンプレートビルダー１１４に命令する。第２の定義は、それらに対してプロジェクト欠陥が記録されていることになっている（ソースエントリーを表す）３個のポリシーキーの固定されたリストの形で定義データを提供する。それらのポリシーキーは、直接的な使用のために（定義データとして）データスコープ定義キー２１０テーブル中に挿入される。
【０１００】
変数「回帰テスト２」を割り当てるデータスコープテンプレート３２８は、データスコープ定義（特性データによって定義された、２５個のホーム保険ポリシー）とサブ変数のリストの両方を含んだ複合データスコープテンプレートを描く。「回帰テスト２」変数のサブ変数としての「回帰テスト１」変数の包含は、複数レベル変数階層を作成する能力を描く。この文脈では、変数「回帰テスト１」は「回帰テスト２」のサブ変数であり、「全てのポリシーの１０％」と「６個の請求」は両方とも「回帰テスト２」の更なるサブ変数である。
【０１０１】
変数「２個の指定されたグラスポリシー」を割り当てるデータスコープテンプレート３３０は、グラスポリシーを表すために選択された、定義されたエントリー（定義データ）のリストを含む。
【０１０２】
図３に描かれたような変数の恩恵は、それらが、個人またはグループにとって関心のあるデータの容易で信頼性のある選択を許容することである。その特性（例えば、自動車ポリシー）かまたはソースエントリーを表す定義データ（例えば、既知の欠陥をもった保険ポリシーのリスト）に基づいてデータを選択しても、本発明の実施形態は、要求されたデータの容易な選択を許容し、そのデータを識別と再利用の容易さのために変数と関連付けて、要求されていない（およびそれで気の散らしを引き起こし得る）データを除外する。構造化された変数命名規則の使用は、各変数の目的の人間的な理解を更に向上するであろう。更なる恩恵は、階層内の変数が再利用されても良いことであり、それは回帰テストの文脈において特に重要である。
【０１０３】
図４は、変数階層４００への変数の合成を描いたブロック図である。それは、変数、サブ変数および更なるサブ変数の階層を示す。変数の各々は、データスコープテンプレートによってソースデータの第１の部分に割り当てられる。変数階層は、時間に渡って構築されることができ、開発とテストを心配しているユーザーがますます包括的なテストケースを作成して実行することを許容する。ユーザーが変数Ａ４０２を作成した（または割り当てた）後、それは孤立して使われることができ、回帰テスト分析のためにデータスコープテンプレート実行結果において（例えば、比較データと失敗データ、および可能性としてターゲットデータキーを含んだ）その使用の結果がそれに対して記録される。ユーザーが変数Ｂ４０３を作成したか割り当てた後、それもまた孤立して使われることができ、回帰テスト分析のためにデータスコープテンプレート実行結果においてその使用の結果がそれに対して記録される。
【０１０４】
ユーザーが変数Ｃ４０４を割り当てるデータスコープテンプレートを作成し、それからそれぞれ変数Ａ４０２と変数Ｂ４０３を割り当てるデータスコープテンプレートへの親子関係を作った後、変数Ｃ４０４を割り当てるデータスコープテンプレートのコンピュータープロセッサ１０６による処理は、全ての子供データスコープテンプレート（と従って変数Ａ４０２と変数Ｂ４０３である、それらがそれぞれ割り当てる変数）の使用に結果としてなる。
【０１０５】
変数（例えば、変数Ａ４０２）は、変数階層を介して（例えば、変数Ｃ４０４を介して）直接的または間接的に使われることができるが、レポジトリ１１０における結果の記録には違いがない。各ケースでは、結果はデータスコープテンプレート実行結果１３０において変数に対して記録され、後続の抽出または移行または回帰テスト分析において使われても良い。
【０１０６】
ユーザーが作成した変数階層は、テストシナリオの幅広い範囲をモデル化できる。例えば、変数Ｇ４０８は、４個の直接的なサブ変数（変数Ｃ−Ｆ）を有し、それが割り当てられたデータスコープテンプレートが処理される時には、それは、変数Ａ４０２と変数Ｂ４０３を含んだ、全てのサブ変数および更なるサブ変数を割り当てるデータスコープテンプレートの処理に結果としてなる。変数Ｎ４１０が、更なる階層合成を例示する。
【０１０７】
図４内に描かれたようなサブ変数および更なるサブ変数の階層の使用は、多数の利点を提供する。第１に、それは回帰テストを援助する。例えば、それは、新しいソフトウェアをテストする時には開発者が回帰テスト変数またはデータスコープテンプレートを常に含めて、回帰テストが通過していなければ、それらの開発環境からシステムテスト環境にソフトウェアを奨励しないことを、プロジェクトマネージャーが強要することを許容する。第２に、それは、異なるグループの関心を表している多数のデータスコープテンプレートが単一のテスト実行において実行されることを許容する。これは、資源（例えば、コンピュータープロセッサ）が限られており、夜にテスト移行を実行することだけが可能であり得るところで重要である。鍵となる恩恵は再利用であり、移行ロジックを徹底的にテストする（ソースデータの選択された部分によって表された）テストシナリオの設計は、複雑で時間の掛る活動であることができる。他の変数の子供として既存の変数を追加する能力は、既存のシナリオの再利用を許容する。
【０１０８】
図５は、変数「組み合されたポリシー（０．００５％）と請求（６個）」（図３参照）を割り当てる、データスコープテンプレート３１０に対応する未解決の階層的データスコープテンプレートの例示的なＸＭＬ構造５００を描く。言い換えると、それは、ソースデータストア内のデータエントリーを選択するための特性データの使用と、特性データを変数と関連付けることを描く。ＸＭＬ構造５００は、ルート<DataScopeTemplate>タグ５０２を含む。このタグは、（“name”とラベル付けされた）変数“Combined policies (.005%) and claims (6)”をＸＭＬ構造５００の残りにおいて識別されたデータに割り当てる。<DataScopeTemplate>タグ５０２は、それ自体の<DataScopeDefinition>タグ５０４を有し、それはデータ特性（即ち、自動車ポリシーの０，００５％）を定義する特性データである。ルート<DataScopeTemplate>タグ５０２は、それが（変数“Claims (6)”を割り当てる）子供<DataScopeTemplate>タグ５０６を含み、それはまたそれ自体の（サブ変数と関連付けられたソースデータの一部分を特性データによって識別する）<DataScopeDefinition>タグ５０８を有するので、階層的である。データスコープテンプレートは、それがデータスコープテンプレートを解決するためのパラメータ（即ち、特性データ）（即ち、<DataScopeDefinition>タグ５０４におけるモーターポリシーの０．００５％と<DataScopeDefinition>タグ５０８における６個の指定されていないオープンな請求）を含むので、未解決と考えられ、<DataScopeDefinition>タグは（ソースエントリーを表す）特定のソースデータキーを格納するいかなる<Key>タグも未だに含んでいない。
【０１０９】
図５に（および後に図６と７に）描かれたような、データを格納して搬送するためのＸＭＬの使用は、データに、強く型付けされたデータ構造と、人間による読み取り可能性と、柔軟なデータ搬送方法（即ち、搬送方法はデータベース通信プロトコルに制限されない）を提供する。ＸＭＬの使用はまた、データスコープテンプレートが、バージョン管理システムにおいてかまたは技術的仕様書においてさえ、参照文書として格納されることを許容する。ＸＭＬ構造は、解釈するのが簡単であるので、ＸＭＬ構造をナビゲートして読むためにデータスコープビルダー１１４を書くことは容易である。データスコープテンプレートとデータスコープテンプレート結果容器を圧縮するデータ圧縮ＸＭＬエンベロープが、もし望ましければ容易に追加されることができる。
【０１１０】
図６は、変数「組み合されたポリシー（０．００５％）と請求（６個）」（図３参照）を割り当てるデータスコープテンプレート３１０に対応する、解決された階層的データスコープテンプレートの例示的なＸＭＬ構造６００を描く。言い換えると、それは、ソースデータストア内のデータエントリーを選択するために特性データから生成されたソースエントリーのリストを描き、そこでは各ソースエントリーがソースデータストア内のデータエントリーに対応し、変数と関連付けられている。それは図５で使われたのと同じ例であるが、解決されている。データスコープテンプレートは、ソースエントリーのリストを含んだ<Key>タグ（６０６、６０７、６０８、６１６）によって立証されるように、各<DataScopeDefinition>タグについて、データスコープテンプレート解決プロセスが完了している（つまり、コンピュータープロセッサ１０６が、ソースデータストア内のデータエントリーを識別するための特性データ（ソースデータキー）を使うためにデータスコープビルダー１１４を呼び出している）ので、解決されている。ＸＭＬ構造６００は、ルート<DataScopeTemplate>タグ６０２と子供<DataScopeTemplate>タグ６１０を含む。を含む。<DataScopeDefinition>タグ６０４と６１１は、特性データを（ソースエントリーを表す）ソースデータキーへと解決したデータスコープテンプレート解決アルゴリズムがそれらに適用されている。<DataScopeDefinition>タグ６０４では、「モーターポリシーの０．００５％」が<Key>タグ（６０６、６０７および６０８）として掲載された３個のポリシーであると決定された。<DataScopeDefinition>タグ６０４のEntityType=“Policy”属性は、含まれた<Key>タグが“Policy keys”であると識別する。同様に、<DataScopeDefinition>タグ６１１の解決されたソースデータキーは、<Key>タグ６１６において掲載された６個のオープンな請求を返した。
【０１１１】
この例では、ソースデータキーは、データスコープビルダー１１４によって特性データからソースエントリーのリストとして生成されている。ソースデータストア内のデータエントリーを定義する定義データを受け取ることは、同じ結果を生み出したであろうが、データスコープビルダー１１４についての必要を自明なものとしたであろう。
【０１１２】
図７と７ａは一緒に、データスコープテンプレート結果容器によって表された実行されたデータスコープテンプレートの例示的なＸＭＬ構造を描く。ＸＭＬ構造は、図７と７ａに渡っている。それは、解決された階層的データスコープテンプレートと、抽出／有効化／移行結果からなる。それは、ターゲットデータキーと、（移行プロセスの様々なステージにおける比較名称と関連付けられた比較値を表す）比較データと、失敗データを含み、変数「組み合されたポリシー（０．００５％）と請求（６個）」（図３参照）を割り当てるデータスコープテンプレート３１０に対応する。それは、移行失敗を表す失敗データと、ソース値と関連付けられたソースデータエントリーと、ターゲット値と関連付けられたターゲットデータエントリーを描き、ここで失敗データ、ソース値およびターゲット値は、ソースエントリーに対応する変数と関連付けられている。それはまた、対応するソースデータエントリーが関連付けられている変数にターゲットエントリーを関連付けることを描く。それは図６において使われたのと同じ例であるが、それは結果を含む。
【０１１３】
トップレベルタグは<DataScopeTemplateResultsContainer>７０１である。次のレベルには、（図６でのように）<DataScopeTemplate>７０２と<DataScopeTemplateExecutionResults>７０４がある。<DataScopeTemplateExecutionResults>は、２つのキーエレメンツからなる：ターゲットデータキーを（ターゲットデータエントリーとソースエントリーと関連付けているソースデータキーにリンクする<KeyMap>７０６と、<ResultSet>７１４である。<ResultSet>７１４は、各“Policy”ソースデータキーについての失敗データと、（移行プロセスの様々なステージにおける比較名称と関連付けられた比較値を表す）比較データを含む。<Result>タグ７１６はソースデータキー４４２８２１８に関連し、<Result>タグ７５０はソースデータキー８４５５４５２に関連し、<Result>タグ７７０はソースデータキー２８３３２５４に関連する。<Result>７１６は、特定のソースデータキーについての失敗データを示す<FailureResultSet>７２０と、特定のソースデータキーについての比較データを示す<ComparisonResultSet>７３０からなる。この比較データは、比較名称“premium”に対応するソース値とターゲット値（比較値）を描く。ソースおよびターゲット値は、保険プレミアムに関連する金銭的口座と関連付けられた金銭的価値を表していても良い。
【０１１４】
<Result>タグ７１６の下のソースデータキー４４２８２１８のための<FailureResultSet>７２０と<ComparisonResultSet>７３０は、<DataScopeTemplateExecutionResults>７０４中に格納された有用なデータを描く。このデータの後続の使用は、図１０の回帰分析報告（列１０２０）と図１１の調停報告（列１１２０）において描かれている。
【０１１５】
<FailureResultSet>７２０は、“Invalid Start Date”（７２２）の失敗タイプを示す。それは、（無効開始日付によって引き起こされた）移行失敗を表す失敗データの生成と失敗データと<DataScopeTemplate>タグ７０２において参照された“Combined policies (.005%) and claims (6)”変数との関連付けを描く。
【０１１６】
<ComparisonResultSet>７３０は、７３２、７３６、７４０および７４４でラベル付けされる、４つの<ComparisonResult>エントリーを含む。<ComparisonResult>７３２は、＄３，１２５．１５の“Source”保険プレミアム金銭的価値（また図１１の参照番号１１５０にも示されている）を含み、ソースデータストア（StageName=“Source1”）内のソース値を描いている。<ComparisonResult>７３６は、＄４，０８６．８６（参照番号７３７）の“Extract”保険プレミアム値（また図１１の参照番号１１５２にも示されている）を含み、（暫定的）ターゲットデータストア（StageName=“Extract”）内のターゲット値を描いている。<ComparisonResult>７４０は、ゼロの“Transform”保険プレミアム値（参照番号７４１）（また図１１の参照番号１１５４にも示されている）を含み、ターゲットデータストア（StageName=“Transform”）内のターゲット値を描いている。<ComparisonResult>７４４は、ゼロの“Target”保険プレミアム（また図１１の参照番号１１５６にも示されている）を含み、ターゲットデータストア（StageName=“Target1”）内のターゲット値を描いている。“Extract”保険プレミアム値７３７と“Transform”保険プレミアム値７４１は、暫定的ターゲットプレミアム値の例である。<ComparisonResult>の各々についての保険プレミアム値を比較することが比較結果データを生成する。
【０１１７】
<Result>タグ７５０の下のソースデータキー８４５５４５２のための<FailureResultSet>７５２と<ComparisonResultSet>７６０は、<DataScopeTemplateExecutionResults>７０４によって格納された有用なデータを描く。このデータの使用は、図１０の回帰分析報告（列１０２４）と図１１の調停報告（列１１２４）において後に描かれている。それは、移行失敗を表す失敗データ、ソースデータストア内のソース値、ターゲットデータストア内のターゲット値の生成と、失敗データ、ソース値およびターゲット値の各々の変数との関連付けの更なる描写である。
【０１１８】
ソースデータキー２８３３２５４のための<Result>タグ７７０は、図１１の調停報告（列１１４４）において更に描かれている。それは、ソースデータストア内のソース値のターゲットデータストア内のターゲット値への成功裡の移行と、ターゲット値の変数との関連付けの描写である。それは、それが<FailureResultSet>タグ７７２に対していかなる失敗データも含んでおらず、保険プレミアム値についての<ComparisonResult>が７１０．８０のソースデータストア（７７４）から７１０．８０のターゲットデータストア（７７６）まで同一であるので、成功である。
【０１１９】
図７と７ａに描かれたデータ構造は、いくつかの恩恵を供する。第１に、それは失敗とソース値とターゲット値の情報を格納し、いつどのように失敗データと比較結果データが生成されたかを強調しており、これは抽出、変換および／または移行ソフトウェアの「デバッギング」のプロセスを簡略化する。ＸＭＬフォーマットの使用の別の恩恵は、それがデータ搬送メカニズムと<DataScopeTemplateResultsContainer>７０１のデータレポジトリ１１０へのローディングにおいて柔軟性を許容することである。例えば、データレポジトリ１１０とコンピュータープロセッサ１０６が、別々のコンピューターネットワークにおいて設置されることができ、ネットワークブリッジ（例えば、ファイルトランスポートプロトコル（ＦＴＰ）を介して）が、レポジトリ１１０からの読み取りとそれへの書き込みを容易にするために実装されることができる。移行結果データをソースデータキーとターゲットデータキーに関連付ける形で格納することの更なる恩恵は、それが、（図１０と１１において後に描かれるような）回帰テストと調停を援助することである。回帰テストおよび調停報告能力は、<DataScopeTemplateResultsContainer>７０１データが図２のエンティティ関係図によって描かれたようなリレーショナルデータベース構造中に格納される時に更に強化される。<DataScopeTemplateResultsContainer>７０１データを格納することのもっと更なる恩恵は、それが、データスコープテンプレートが処理されたことの客観的な証拠を提供することである。これは、テストプロトコルが観察されたことをチェックする時にプロジェクトマネージャーにとって非常に有用である。
【０１２０】
図８は、データスコープテンプレート構築プロセス８００を描いたプロセス図である。それは、定義データを受け取り、特性データを受け取り、オプションでサブ変数の階層を生成することによって、ソースデータの部分を変数と関連付けするプロセスを描いている。
【０１２１】
ステップ８０１では、変数が作成され、ヘッダ詳細がデータスコープテンプレートに追加される（ステップ８０１）。１つ以上の既存の変数とステップ８０１で作成された新しいものの間に階層的リンクを作成するために、サブ変数の階層が追加されても良い（ステップ８０２）。
【０１２２】
ステップ８０４では、含まれるべきデータ項目の識別を可能とするために、データスコープ定義がテンプレートに追加されても良い。データスコープ定義は、ソースデータストア１０４のようなソースデータストア内のデータエントリーを定義する定義データの形での固定された定義であっても良く、またはソースデータストア内のデータエントリーを識別するために使われ得るデータ特性を定義する特性データの形での解釈可能な定義であっても良い。
【０１２３】
もしデータスコープ定義が定義データを含めば、データスコープエンティティが選択され、（ソースエントリーを表す）ソースデータキーの特定のセットがオペレーターから命令上にロードされる（ステップ８１０）。このやり方で、データスコープテンプレートのデータスコープ定義が手動で解決されても良い。「ソースデータキーをロード」ステップ８１０を図６の例示的な解決された階層的データスコープテンプレート６００と比較すると、もし<DataScopeDefinition>タグ６０４が固定された定義として作成されたなら、<Key>タグ（６０６、６０７および６０８）がオペレータ−からの明示的な命令上にロードされるであろう。言い換えると、<Key>タグ（６０６、６０７および６０８）は、特性データかまたは定義データのどちらから作成されたとしても、同じに見えるであろう。
【０１２４】
もしデータスコープ定義が特性データを含めば、コンピュータープロセッサ１０６は、コンピュータープロセッサ１０６がデータスコープテンプレートを解決するのに必要な特性データを受け取る（ステップ８１２）。ステップ８１２の一部として提供されたデータスコープ特性は、エンティティタイプ（例えば、“Policy”、“Claim”）、データスコープ定義を解決するのに使われるべきアルゴリズムを決定するためのデータスコープテンプレートビルダー識別、測度単位（例えば、［ユニット］、「パーセント」）、ユニットの数、およびフィルタ（例えば、「モーターポリシーのみ」または「全て」）、を含んでいても良い。
【０１２５】
図８は、データスコープテンプレート構築プロセスの簡潔さと効率性を描いている。変数の作成と、ソースデータキー、特性データおよびその他の変数さえも（よって先のデータスコープテンプレート構築努力を再利用する）との関連付けのために簡潔なプロセスを有することは、技術的および非技術的スタッフの両方がシステムを使うことを許容する。
【０１２６】
図９は、ソースデータキー解決とデータ移行プロセスを描いた図である。それは、ソースエントリーのリストの生成と、失敗データ、ソース値およびターゲット値の生成と、失敗データ、ソース値、ターゲット値、およびターゲットデータエントリーの変数および対応するソースエントリーとの関係付けを描いている。
【０１２７】
初期化の際に、移行プロセスはレポジトリ１１０からデータスコープテンプレート１０２を読み込み、データエントリー（ソースデータキー）を定義する定義データとデータ特性を定義する特性データを受け取る（ステップ９０２）。ソースデータキーは、ステップ９１１において「実行時データスコープキーリスト」中にロードされる。上述したように、ステップ９１１において生成された実行時データスコープキーリストは。ソースエントリー（ソースデータキー）のセットからなり、そこでは各ソースエントリーがソースデータストア内のデータエントリーに対応し、１つ以上の変数、サブ変数または更なるサブ変数と関連付けられている。
【０１２８】
ステップ９０５では、データスコープオーケストレータ−プログラムが各データスコープ定義についての特性データを読み込み、解釈（または解決）ワークを定義されたデータスコープテンプレートビルダープログラム１１４に割り当てる。上で説明したように、データスコープテンプレートビルダー１１４は、特定のソースシステムからの特定のソースデータキーに特性データを解決するために設計された特注のプログラムである。データスコープテンプレートビルダー１１４はそれから、データスコープ定義２０４の命令を読み込み、データスコープ特性データ２０３の命令（即ち、特性データ）に従って指名されたデータスコープエンティティタイプ２２０についての（ソースエントリーを表す）ソースデータキーのセットを選択する（ステップ９０４）。ソースデータキーが、ステップ９１１において実行時データスコープキーリストに追加され、（ステップ９０７において）データスコープテンプレート１０２に追加される。
【０１２９】
プロセスは、データスコープテンプレート１０２（およびあらゆる子供データスコープテンプレート）においてデータスコープ定義によって参照された各データスコープビルダー１１４について継続する。
【０１３０】
一旦全てのデータスコープ定義が解決されて、実行時データスコープキーリスト中にロードされれば、重複したソースデータキーを除去することによって、ソースデータキーの区別されたセットが実行時データスコープキーリストから作成される（ステップ９０６）。この区別されたリストは、コンピュータープロセッサ１０６によって移行されるべきソースエントリーを表す。
【０１３１】
特定のソースデータキーがデータスコープテンプレート内の１つより多くのデータスコープ定義に現れる場合には、データスコープテンプレートを参照する移行がコンピュータープロセッサ１０６によって実行された時に、そのソースデータキーは一度だけ処理される。但し、あらゆるターゲットデータ、失敗データおよび比較データがソースデータキーと関連付けられているように、ソースデータキーは、その中にそれが現れる各データスコープ定義と関連付けられている。
【０１３２】
コンピュータープロセッサ１０６は、ソースデータキーの区別されたセットによって識別されたソースデータの部分を移行する（ステップ９０８）。
【０１３３】
もし移行プロセス中に移行失敗が失敗データを生成すれば、失敗したデータエントリーについての失敗データと（移行プロセスの様々なステージにおける比較名称と関連付けられた比較値を表す）あらゆる比較データが、データスコープテンプレート実行結果１３０中に記録され（ステップ９１０）、それらの対応する（ソースデータエントリーを表す）ソースデータキーが関連付けられているデータスコープテンプレートに割り当てられた変数と関連付けられる。
【０１３４】
もしデータが成功裡に移行されたら（つまり、もしターゲットデータエントリーが、ソースデータキーによって識別されたソースデータストアにおけるデータエントリーの各々から成功裡に生成されれば）、ターゲットデータエントリーがターゲットデータストア（例えば、ターゲットデータストア１０８）中にロードされる（ステップ９１４）。
【０１３５】
移行実行についてのターゲットデータキーとあらゆる比較データは、データスコープテンプレート実行結果１３０中に記録され（ステップ９１２）、それらの対応するソースデータキー（ソースエントリー）が関連付けられているデータスコープテンプレートによって割り当てられた変数と関連付けられる。
【０１３６】
移行プロセスの終結において、データスコープテンプレート１０２とデータスコープテンプレート実行結果１３０を含んだデータスコープテンプレート結果容器１３２が、レポジトリ１１０中に格納される（ステップ９１６）。
【０１３７】
図９のプロセスを描写するために、図５、６、７および７ａのＸＭＬ構造を考える。もし図５のデータスコープテンプレートが処理されていたならば、それは未解決の定義（特性データ）としてデータスコープビルダー１１４に渡されるであろう（ステップ９０４と９０５）。これは、ソースエントリーのリスト（キー６０６、６０７、６０８および６１６）を生成し、それらをデータスコープテンプレート１０２中に書き込むだろう（図６に描かれたように）。後続のまたは繰り返しの処理では、データスコープテンプレート定義は既に解決されているであろうから、一旦データスコープテンプレートがステップ９０２で読み込まれたら、ソースデータキーが実行時データスコープキーリストに直ちに追加され（ステップ９１１）、プロセスはそれから直接、ソースデータキーの区別されたセットを作成することに進むであろう（ステップ９０６）。（<DataScopeTemplateExecutionResults>７０４によって描かれた）データスコープテンプレート実行結果は、（ターゲットデータキーをソースデータキーにリンクし、１つ以上のそれぞれのターゲットデータエントリーを対応するソースエントリーが関連付けられている１つ以上の変数、サブ変数または更なるサブ変数と関連付けることを含んだ）<KeyMap>７０６と、<FailureResultSet>７２０（つまり、対応するソースエントリーが関連付けられている１つ以上の変数、サブ変数または更なるサブ変数と関連付けている、失敗データ）と、<ComparisonResultSet>７３０（ソース値とターゲット値からなる、比較データ）として、格納されるであろう。
【０１３８】
図９によって描かれたプロセスは、いくつかの利点を有する。それは、特性データと定義データに基づいて処理のためのデータを正確に選択する。それは、いくら多くの階層内のデータスコープテンプレートがそれを含むかに拘わらず、各ソースエントリーを一度処理して、処理効率性を援助する。それは、ターゲットデータキーを記録して、ソースおよびターゲットシステムの間のリンクを提供する。更には、それは、図１０と図１１において後に描かれているように、報告の目的とデータ（計量）分析のために使われることができる比較データを記録する。
【０１３９】
図１０は、回帰分析報告における比較結果データの使用を描いたテーブル１０００である。それは、失敗データとソース値の使用と有用性と、２回の移行実行からのソースデータの比較を描いている。報告は、移行における（１００２でラベル付けされた）変数「組み合されたポリシー（０．００５％）と請求（６個）」の（２０１１年１１月２０日（１００４）と２０１１年１１月２１日（１００６）の）２回の使用から結果として得られる要約された失敗データを比較する。報告は、各失敗についての要約された比較データと比較結果データを示すことによって失敗データの金銭的なインパクトを呈示する。この場合には、ソース値は保険プレミアムソース値と関連する。
【０１４０】
それは、移行プロセスにおいてどこで（「ステージ」１００８によって指し示されたように）となぜ（「失敗タイプ」１００９で指し示されたように）失敗が起こったのかを示すための失敗データの使用を強調している。図１０に描かれた情報は、いくつかの恩恵を有する。第１に、それは、エラーが対処されるべき順序に優先度を付けるのに使われることができる（例えば、最も大きい実質性（総計されたソース値上のインパクト「使用２比較値インパクト」１０１５）かまたは最も高いカウント（「使用２失敗カウント」：１０１１）をもったものにまず対処する）。第２に、失敗が起こったところのステージ１００８が、プロジェクトの進展を指し示す。例えば、もし全ての失敗が「ロード」ステージにおいてであったなら、これは「抽出」と「変換」のステージが実行されたことを示唆するであろう。但し、もし全ての失敗が「抽出」ステージにおいてであったなら、プロジェクトマネージャーは「変換」と「ロード」のステージの強健性を評価することができないであろう。第３に、それは、移行ソフトウェアへの変更のインパクトを示し、責任のあるチームがソフトウェアを改善しているかどうかを指し示す。例えば、列１０２０は、失敗カウントの動き１０１２が使用１（１０１０）から使用２への失敗カウントにおける削減（即ち、１エラーからゼロへ）を反映するので、改善を示す。ゼロエラーが典型的には望ましい結果であるので、この報告は使用１の１０１０から使用２の１０１１までの改善を描いている。（３，１２５．１５）の「比較値インパクトの動き」１０１６は、使用１の１０１４から使用２の１０１５までの削減（即ち、３，１２５．１５の分散からゼロの分散へ）を反映している。ゼロ分散は典型的には望ましい結果であるので、この報告は使用１の１０１４から使用２の１０１５までの改善を描いている。列１０２０における「使用１」値についての基になるデータが、<Result>タグ７１６の下で、図７に描かれている。同様に、列１０２４における「使用１」値についての基になるデータが、<Result>タグ７５０の下で、図７に描かれている。
【０１４１】
図１１は、「プレミアム」比較名称についての比較結果データに基づいたソースデータからターゲットデータへの詳細な調停報告を描いたテーブル１１００である。それは、比較結果データを生成するためのターゲットデータのソースデータとの比較と、失敗データの使用と、ターゲットデータエントリーの対応するソースエントリーが関連付けられている変数への関連付けを描いている。報告は、ターゲットアプリケーション「ターゲット１」（１１０６）への移行において２０１１年１１月２０日（１１０４）に変数「組み合されたポリシー（０．００５％）と請求（６個）」１１０２を使った結果を呈示する。それは、ソースおよびターゲット値を変数とソースおよびターゲットデータエントリーに関連付けて、比較結果データを作成するソースおよびターゲット値を比較する。更には、それは、比較結果データを説明するのを助けるために失敗データを使う。
【０１４２】
例えば、列１１２０は、ソースデータキー１１０８が３，１２５．１５のソースプレミアム１１５０と４，０６８．８６の抽出プレミアム１１５２を有していたことを示し、分散が抽出プロセス中に導入されたことを指し示す。それは、抽出されたデータにおける失敗のために、変換プレミアム１１５４もターゲットプレミアム１１５６も有していない。その失敗は、「無効開始日付」（１１１５）によるものであった。（比較結果データを反映する）その失敗分散１１１６と絶対分散１１１７のインパクトは、ソースプレミアム１１５０とターゲットプレミアム１１５６の間の差である。列１１２０における基になるデータが、<Result>タグ７１６の下で、図７に描かれている。更なる例が、列１１４４上に示されている。それは、ソースポリシー２８３３２５４が完全に調停したことを示す。ソース、抽出、変換およびターゲットプレミアムは全て等しく、分散と絶対分散はゼロである。列１１４４における基になるデータが、<Result>タグ７５０の下で、図７に描かれている。
【０１４３】
この例は単一のターゲットデータストアのローディングを描いているが、それはまた同時にロードされた２つのターゲットデータストア上の分散について報告するのに使われることもできる。例えば、それは、保険ポリシーを処理するためのアプリケーションおよびデータウェアハウスと関連付けられたターゲットデータストアを同時にローディングした結果について報告することができる。
【０１４４】
この報告は、いくつかの恩恵を有する。それは、ステージ１１１４、失敗タイプ１１１５、および分散の金銭的な実質性１１１６と１１１７を示すことによって調停の労力とコストを削減し、よって分析を簡略化する。それは、比較結果データを明らかに説明された粒状のフォーマットで呈示することによってデータ移行監査プロセスの労力とコストを削減する。
【０１４５】
多くの変形が、本発明の範囲から逸脱することなく、当業者には明らかであろう。
【０１４６】
この明細書におけるあらゆる先行出版物（またはそれから導出された情報）、またはあらゆる既知である事項への参照は、先行出版物（またはそれから導出された情報）または既知の事項が、この明細書が関連する努力の分野において共通の一般的な知識の一部を形成することの認定または承認または示唆のいかなる形としても取られることはなく、取られるべきではない。
【図１】
2015514258.tif 000003
【図２】
2015514258.tif 000004
【図３】
2015514258.tif 000005
【図４】
2015514258.tif 000006
【図５】
2015514258.tif 000007
【図６】
2015514258.tif 000008
【図７】
2015514258.tif 000009
【図７ａ】
2015514258.tif 000010
【図８】
2015514258.tif 000011
【図９】
2015514258.tif 000012
【図１０】
2015514258.tif 000013
【図１１】
2015514258.tif 000014
【図１２】
2015514258.tif 000015
【図１３】
2015514258.tif 000016
【国際調査報告】
2015514258.tif 000017
2015514258.tif 000018
2015514258.tif 000019
2015514258.tif 000020
2015514258.tif 000021