(57)【要約】  幾つかの態様により、データセットのデータプロファイルの生成の柔軟性及び効率を向上させるデータ処理システムを構成するための技法が提供される。データ処理システムは、データセットの値センサス及び妥当性確認センサスを別々の処理ステップにおいて作成してもよい。値センサスは、次いで、２つのセンサス間でデータセットのフィールド及び値のペアの一致を可能にする方法で、妥当性確認センサスを処理することによって、妥当性確認センサスの内容により強化されてもよい。
2021514500.tif 000002
【特許請求の範囲】
【請求項１】
複数のフィールドを定義する関連レコードフォーマットを有するデータセットと、それぞれが前記複数のフィールドの関連フィールド及び複数のカウント値を有する第１の複数の値を備える前記データセットに対する値センサスであって、それぞれのフィールド及び値の組み合わせが前記少なくとも１つのデータセットにおいて発生する回数をカウント値が示す、値センサスと、前記複数のフィールドの１つ以上のフィールドに対する無効性のための基準を定義する複数の妥当性確認ルールを備える妥当性確認仕様とに基づいてデータプロファイルを生成するようデータ処理システムを操作するコンピュータ実装方法であって、
前記データセット及び前記妥当性確認仕様に少なくとも一部基づいて妥当性確認センサスを生成することであって、前記妥当性確認センサスは、
それぞれが前記複数のフィールドの関連フィールドを有する第２の複数の値と、
無効性の複数の表示であって、無効性の各表示は前記第２の複数の値のうちの１つに関連付けられる、無効性の複数の表示と、を備えることと、
前記値センサス及び前記妥当性確認センサスに少なくとも部分的に基づいて、前記少なくとも１つのデータセットのデータプロファイルを生成することであって、前記データプロファイルを生成することは、
前記第２の複数の値及びそれらの関連フィールドのうちの１つを、前記第１の複数の値及びそれらの関連フィールドのうちの１つと一致させることと、
前記第２の複数の値及びそれらの関連フィールドのうちの一致する１つに関連付けられる妥当性確認センサスの無効性の表示により前記第１の複数の値及びそれらの関連フィールドのうちの１つを強化することによって、少なくとも部分的に前記値センサスの前記第１の複数の値に対するデータプロファイルを作成することとを含むことと、を含む、方法。
【請求項２】
前記データセットの前記データプロファイルは、前記複数のフィールドの第１のフィールドについて、前記妥当性確認仕様に従って有効である前記第１のフィールドに対する値を有する前記データセットの多数のレコードを指定する、請求項１に記載の方法。
【請求項３】
前記妥当性確認センサスを生成することは、前記データセットの１つ以上のレコードに対する無効性の表示を生成することを含む、請求項１に記載の方法。
【請求項４】
前記妥当性確認仕様に従って無効である前記データセットの多数のレコードの表示を生成することを更に含む、請求項１に記載の方法。
【請求項５】
前記妥当性確認センサスは、前記第２の複数の値のうちの第１の値にそれぞれ関連付けられる無効性の少なくとも２つの異なる表示を備える、請求項１に記載の方法。
【請求項６】
前記データセットの前記データプロファイルは、前記複数のフィールドの第１のフィールドについて、前記妥当性確認仕様に従ってヌル及び無効である前記第１のフィールドに対する値を有する前記データセットの多数のレコードを指定する、請求項１に記載の方法。
【請求項７】
前記レコードフォーマットに従って、前記データセットの内容をデータ構造に解析することと、
前記複数のフィールドの各フィールドに関連付けられる値の実現値を照合することと、
前記実現値のカウントを記録することとによって、
前記値センサスを生成することを更に含む、請求項１に記載の方法。
【請求項８】
コンピュータシステムであって、
少なくとも１つのプロセッサと、
少なくとも１つのユーザインタフェースデバイスと、
実行される場合、前記少なくとも１つのプロセッサに、
複数のフィールドを定義する関連レコードフォーマットを有するデータセットと、
それぞれが前記複数のフィールドの関連フィールド及び複数のカウント値を有する第１の複数の値を備える前記データセットに対する値センサスであって、それぞれのフィールド及び値の組み合わせが前記少なくとも１つのデータセットにおいて発生する回数をカウント値が示す、値センサスと、
前記複数のフィールドの１つ以上のフィールドに対する無効性のための基準を定義する複数の妥当性確認ルールを備える妥当性確認仕様と、
に基づいて、データプロファイルを生成する方法を実行させるプロセッサ実行可能命令を備える少なくとも１つのコンピュータ読取可能媒体と、を備え、
前記方法は、
前記データセット及び前記妥当性確認仕様に少なくとも部分的に基づいて、妥当性確認センサスを生成することであって、前記妥当性確認センサスは、
それぞれが前記複数のフィールドの関連フィールドを有する第２の複数の値と、
無効性の複数の表示であって、無効性の各表示は前記第２の複数の値のうちの１つに関連付けられる、無効性の複数の表示と、を備えることと、
前記値センサス及び前記妥当性確認センサスに少なくとも部分的に基づいて、
前記第２の複数の値及びそれらの関連フィールドのうちの１つを、前記第１の複数の値及びそれらの関連フィールドのうちの１つと一致させることと、
前記第２の複数の値及びそれらの関連フィールドのうちの一致する１つに関連付けられる妥当性確認センサスの無効性の表示により前記第１の複数の値及びそれらの関連フィールドのうちの１つを強化することによって、少なくとも部分的に前記値センサスの前記第１の複数の値に対するデータプロファイルを作成することと、
によって、前記少なくとも１つのデータセットのデータプロファイルを生成することと、を含む、コンピュータシステム。
【請求項９】
前記データセットの前記データプロファイルは、前記複数のフィールドの第１のフィールドについて、前記妥当性確認仕様に従って有効である前記第１のフィールドに対する値を有する前記データセットの多数のレコードを指定する、請求項８に記載のコンピュータシステム。
【請求項１０】
前記妥当性確認センサスを生成することは、前記データセットの１つ以上のレコードに対する無効性の表示を生成することを含む、請求項８に記載のコンピュータシステム。
【請求項１１】
前記プロセッサ実行可能命令は、更に、前記少なくとも１つのプロセッサに、前記妥当性確認仕様に従って無効である前記データセットの多数のレコードの表示を生成させる、請求項８に記載のコンピュータシステム。
【請求項１２】
前記妥当性確認センサスは、前記第２の複数の値のうちの第１の値にそれぞれ関連付けられる無効性の少なくとも２つの異なる表示を備える、請求項８に記載のコンピュータシステム。
【請求項１３】
前記データセットの前記データプロファイルは、前記複数のフィールドの第１のフィールドについて、前記妥当性確認仕様に従ってヌル及び無効である前記第１のフィールドに対する値を有する前記データセットの多数のレコードを指定する、請求項８に記載のコンピュータシステム。
【請求項１４】
前記プロセッサ実行可能命令は、更に、前記少なくとも１つのプロセッサに、
前記レコードフォーマットに従って、前記データセットの内容をデータ構造に解析することと、
前記複数のフィールドの各フィールドに関連付けられる値の実現値を照合することと、
前記実現値のカウントを記録することと、
によって、前記値センサスを生成させる、請求項８に記載のコンピュータシステム。
【請求項１５】
複数のフィールドを定義する関連レコードフォーマットを有するデータセットと、それぞれが前記複数のフィールドの関連フィールド及び複数のカウント値を有する第１の複数の値を備える前記データセットに対する値センサスであって、それぞれのフィールド及び値の組み合わせが前記少なくとも１つのデータセットにおいて発生する回数をカウント値が示す、値センサスと、前記複数のフィールドの１つ以上のフィールドに対する無効性のための基準を定義する複数の妥当性確認ルールを備える妥当性確認仕様とに基づいてデータプロファイルを生成するためのコンピュータシステムであって、
少なくとも１つのプロセッサと、
前記データセット及び前記妥当性確認仕様に少なくとも部分的に基づいて、妥当性確認センサスを生成するための手段と、を備え、前記妥当性確認センサスは、
それぞれが前記複数のフィールドの関連フィールドを有する第２の複数の値と、
無効性の複数の表示であって、無効性の各表示は前記第２の複数の値のうちの１つに関連付けられる、無効性の複数の表示と、を備え、
前記値センサス及び前記妥当性確認センサスに少なくとも部分的に基づいて、
前記第２の複数の値及びそれらの関連フィールドのうちの１つを、前記第１の複数の値及びそれらの関連フィールドのうちの１つと一致させることと、
前記第２の複数の値及びそれらの関連フィールドのうちの一致する１つに関連付けられる妥当性確認センサスの無効性の表示により前記第１の複数の値及びそれらの関連フィールドのうちの１つを強化することによって、少なくとも部分的に前記値センサスの前記第１の複数の値に対するデータプロファイルを作成することと、
によって、前記少なくとも１つのデータセットのデータプロファイルを生成するための手段と、を備える、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データプロファイリングにおいて妥当性確認結果を統合するための技術並びに関連するシステム及び方法に関する。
【背景技術】
【０００２】
データセットを消費及び／又は生成する企業及び他の組織は、それらのデータセットの品質保証に大きな関心を持っている。データセットは、大きなサイズのものであり、多くの場合、それらのデータセットの自動分析は、それらのレコードが所定の品質保証基準を満たしているかどうかを調べる唯一の実行可能な方法であるように、何千、又は何百万ものレコードを含む可能性がある。データセットの品質保証分析は、多くの場合、データセットのレコードが、レコードの内容に基づいて、どのような場合に有効であり、どのような場合に有効ではないと見なされるかを定義する妥当性仕様を利用する。加えて、各値の実現値のカウント等のレコードのデータフィールドの値の統計的解析は、また、妥当性のチェックを超え、それより上の価値ある品質保証情報を生成することができる。
【０００３】
かかる処理の実例として、データセット用のレコードフォーマットは、郵便番号が適宜のフォーマット（例えば、米国において、５桁又は５桁に４桁の拡張を加えたもののどちらか一方）に準拠しているかどうかをチェックする妥当性ルールに関連付けられる郵便番号データフィールドを含んでいてもよい。データセットのレコードに対するかかる妥当性ルールの適用は、データセットのレコードのうちの幾つが有効又は無効な米国郵便番号値を含んでいるかを示してもよい。それらの郵便番号値が適宜のフォーマットに従って作成されていたとしても、更なる品質保証情報がその値の統計分析からも得られる可能性がある。例えば、多くの郵便番号値が予期せず同じ値を有していた場合、品質保証上の懸念が表面化する可能性がある。郵便番号値のこの分布は、郵便番号値を生成又は修正するプロセスにおけるデータ処理エラーを示している可能性がある。
【０００４】
妥当性確認及び統計的アプローチの両方を利用する分析は、本明細書中でデータセットを「プロファイリング」することと称する。かかる分析の収集結果は、本明細書中で「データプロファイル」と称する。
【発明の概要】
【課題を解決するための手段】
【０００５】
幾つかの態様によれば、複数のフィールドを定義する関連レコードフォーマットを有するデータセットに基づいてデータプロファイルを生成するようデータ処理システムを操作するコンピュータ実装方法が提供され、データセットに対する値センサスは、それぞれが前記複数のフィールドの関連フィールド及び複数のカウント値を有する第１の複数の値を備え、それぞれのフィールド及び値の組み合わせが少なくとも１つのデータセットにおいて発生する回数をカウント値が示し、妥当性確認仕様は複数のフィールドの１つ以上のフィールドに対する無効性のための基準を定義する複数の妥当性確認ルールを備え、方法は、データセット及び妥当性確認仕様に少なくとも一部基づいて妥当性確認センサスを生成することを含み、妥当性確認センサスは、それぞれが複数のフィールドの関連フィールドを有する第２の複数の値と、無効性の複数の表示であって、無効性の各表示が第２の複数の値のうちの１つに関連付けられる、無効性の複数の表示とを備え、値センサス及び妥当性確認センサスに少なくとも部分的に基づいて、少なくとも１つのデータセットのデータプロファイルを生成することを含み、データプロファイルを生成することは、第２の複数の値及びそれらの関連フィールドのうちの１つを、第１の複数の値及びそれらの関連フィールドのうちの１つと一致させることと、第２の複数の値及びそれらの関連フィールドのうちの一致する１つに関連付けられる妥当性確認センサスの無効性の表示により第１の複数の値及びそれらの関連フィールドのうちの１つを強化することによって、少なくとも部分的に値センサスの第１の複数の値に対するデータプロファイルを作成することとを含む。
【０００６】
幾つかの態様によれば、コンピュータシステムは、少なくとも１つのプロセッサと、少なくとも１つのユーザインタフェースデバイスと、実行される場合、少なくとも１つのプロセッサに、複数のフィールドを定義する関連レコードフォーマットを有するデータセットと、それぞれが複数のフィールドの関連フィールド及び複数のカウント値を有する第１の複数の値を備えるデータセットに対する値センサスであって、それぞれのフィールド及び値の組み合わせが少なくとも１つのデータセットにおいて発生する回数をカウント値が示す、値センサスと、複数のフィールドの１つ以上のフィールドに対する無効性のための基準を定義する複数の妥当性確認ルールを備える妥当性確認仕様と、に基づいて、データプロファイルを生成する方法を実行させるプロセッサ実行可能命令を備える少なくとも１つのコンピュータ読取可能媒体と、を備えて提供され、方法は、データセット及び妥当性確認仕様に少なくとも部分的に基づいて、それぞれが複数のフィールドの関連フィールドを有する第２の複数の値と、無効性の複数の表示であって、無効性の各表示は第２の複数の値のうちの１つに関連付けられる、無効性の複数の表示とを備える妥当性確認センサスを生成することと、値センサス及び妥当性確認センサスに少なくとも部分的に基づいて、第２の複数の値及びそれらの関連フィールドのうちの１つを、第１の複数の値及びそれらの関連フィールドのうちの１つと一致させることと、第２の複数の値及びそれらの関連フィールドのうちの一致する１つに関連付けられる妥当性確認センサスの無効性の表示により第１の複数の値及びそれらの関連フィールドのうちの１つを強化することによって、少なくとも部分的に値センサスの第１の複数の値に対するデータプロファイルを作成することとによって、少なくとも１つのデータセットのデータプロファイルを生成することとを含む。
【０００７】
幾つかの態様によれば、複数のフィールドを定義する関連レコードフォーマットを有するデータセットに基づいてデータプロファイルを生成するためのコンピュータシステムが提供され、データセットに対する値センサスは、それぞれが複数のフィールドの関連フィールド及び複数のカウント値を有する第１の複数の値を備え、カウント値は、それぞれのフィールド及び値の組み合わせが少なくとも１つのデータセットにおいて発生する回数を示し、妥当性確認仕様は、複数のフィールドの１つ以上のフィールドに対する無効性のための基準を定義する複数の妥当性確認ルールを備え、少なくとも１つのプロセッサと、データセット及び妥当性確認仕様に少なくとも部分的に基づいて、それぞれが複数のフィールドの関連フィールドを有する第２の複数の値と、無効性の複数の表示であって、無効性の各表示は第２の複数の値のうちの１つに関連付けられる、無効性の複数の表示とを備える妥当性確認センサスを生成するための手段と、値センサス及び妥当性確認センサスに少なくとも部分的に基づいて、第２の複数の値及びそれらの関連フィールドのうちの１つを、第１の複数の値及びそれらの関連フィールドのうちの１つと一致させることと、第２の複数の値及びそれらの関連フィールドのうちの一致する１つに関連付けられる妥当性確認センサスの無効性の表示により第１の複数の値及びそれらの関連フィールドのうちの１つを強化することによって、少なくとも部分的に値センサスの第１の複数の値に対するデータプロファイルを作成することとによって、少なくとも１つのデータセットのデータプロファイルを生成するための手段と、を備える。
【０００８】
前記の装置及び方法の実施形態は、上記の又は以下で更に詳細に説明する態様、特徴、及び行為の任意の適宜の組み合わせで実施されてもよい。本教示のこれら及び他の態様、実施形態、及び特徴は、添付図面に関連して以下の説明から、より完全に理解することができる。
【０００９】
以下の図面を参照して、様々な態様及び実施形態を説明する。これらの図面は、必ずしも一定の縮尺で描かれていないことが理解されるものとする。図面において、様々な図に示されるそれぞれ同一又は略同一のコンポーネントは、同様の数字によって表されている。明確にする目的のために、全てのコンポーネントが全ての図面に表示されているわけではない。
【図面の簡単な説明】
【００１０】
【図１】図１は、幾つかの実施形態による、データセットをプロファイルするプロセスを示すフロー図である。
【図２Ａ】図２Ａは、幾つかの実施形態に従って、値センサスのデータと妥当性確認センサスのそれとを組み合わせることによって、値センサスを強化するプロセスを示すフロー図である。
【図２Ｂ】図２Ｂは、幾つかの実施形態に従って、図２Ａのプロセスにおける説明のためのデータを示す。
【図２Ｃ】図２Ｃは、幾つかの実施形態に従って、異なるユーザ及び／又はプロセスが、図２Ａのプロセスにおいて値センサスを作成し、値センサスを強化する使用事例を示す。
【図２Ｄ】図２Ｄは、幾つかの実施形態に従って、値センサスとの組み合わせに適した形で妥当性確認センサスを生成するための説明のためのプロセスを示す。
【図３Ａ】図３Ａは、幾つかの実施形態に従って、値センサスのデータと妥当性確認センサスのそれとを組み合わせることによって、値センサスを強化する第１の技法を示すフロー図である。
【図３Ｂ】図３Ｂは、幾つかの実施形態に従って、図３Ａのプロセスにおける説明のためのデータを示すフロー図である。
【図３Ｃ】図３Ｃは、幾つかの実施形態に従って、図３Ａの第１の技法による値センサスの強化を示すフロー図である。
【図４Ａ】図４Ａは、幾つかの実施形態に従って、値センサスのデータと妥当性確認センサスのそれとを組み合わせることによって、値センサスを強化する第２の技法を示すフロー図である。
【図４Ｂ】図４Ｂは、幾つかの実施形態に従って、図４Ａのプロセスにおける説明のためのデータを示すフロー図である。
【図４Ｃ】図４Ｃは、幾つかの実施形態に従って、図４Ａの第２の技法による値センサスの強化を示すフロー図である。
【図５Ａ】図５Ａは、幾つかの実施形態に従って、値センサスのデータと妥当性確認センサスのそれとを組み合わせることによって、値センサスを強化する第３の技法を示すフロー図である。
【図５Ｂ】図５Ｂは、幾つかの実施形態に従って、図５Ａのプロセスにおける説明のためのデータを示すフロー図である。
【図５Ｃ】図５Ｃは、幾つかの実施形態に従って、図５Ａの第３の技法による値センサスの強化を示すフロー図である。
【図５Ｄ】図５Ｄは、幾つかの実施形態に従って、フィールド及び値のペアの型の妥当性による真理表を示す。
【図６】図６は、本発明の態様を実施することができるコンピューティングシステム環境の一例を図示する。
【発明を実施するための形態】
【００１１】
上で検討したように、「データプロファイル」を生成することは、妥当性（例えば、どのレコードが有効又は無効であるか）及び統計（例えば、値のカウント、平均値、等）の両方の情報を生成するデータに関する任意の分析を包含してもよい。従来のデータプロファイリングプロセスにおいて、データセットのレコードは１回に１つずつ検証される。各レコードについて、妥当性仕様は各レコードのデータフィールドをチェックするために用いられて、任意のデータフィールドが仕様に従う無効データを含んでいるかどうか、そうであれば、どれがどのような理由で含んでいるのかを特定する。加えて、各フィールドに出現する様々な値に関する情報が保持されているので、各フィールドの値に関する統計がプロセスの最後に作成されてもよい。しかし、かかるプロセスは、データセットの妥当性チェック及び統計的処理の両方が並列で行われるという柔軟性に欠けるものであり、一度の操作で実質的な処理が行われることになる。その上、所望の無効性及び統計情報を作成するためには、データセット全体を単位としてプロファイリングしなければならない。このプロセスは、大規模な処理操作がデータセットの所望のデータプロファイルを作成するために必要となる等の大規模なデータセットに対して、極めて計算量の多い処理となる可能性がある。このアプローチの説明のための例を図１に示し、以下で更に検討する。
【００１２】
本発明者らは、データセットのプロファイリングが複数の段階に分割可能であることを認識し、正しく理解している。第１に、「値センサス」は、どのくらいの頻度で値がデータセットの各データフィールドにおいて生じるかを集計し、それによって関連するカウント値を有するフィールド及び値のペアのリストを作成するデータセットから作成することができる。第２及び別個に、「妥当性確認センサス」は、データセットのレコードに対する無効フィールドを識別するデータセットから作成することができる。各センサスからのデータは、次いで、妥当性確認センサスにおける値センサスのフィールド及び値のペアに関連付けられる無効性の任意の表示により値センサスデータを「強化」することによって結合される。このアプローチの利点は、値センサスを生成するプロセスが、妥当性確認センサスを生成するか又は妥当性確認センサスを用いて値センサスを強化する同じソフトウェアを利用する必要がないことである。実際、この技術により、任意の場所で、任意の適宜のソフトウェアを用いて値センサスを生成して、データプロファイリングプロセスに与えられる柔軟性を大幅に向上させることが可能となる。
【００１３】
この多段アプローチは、従って、それぞれが概してデータセットの完全なデータプロファイルを提供しない２セットの異なるデータ、値センサス及び妥当性確認センサスを作成する。例えば、そのデータフィールドに対する妥当性仕様が１つ以上の他のデータフィールドの値によって決まる可能性があるため、データフィールドの特定の値は有効な場合もあれば、無効な場合もある。少なくともこの理由のため、データの完全な理解は、概して、データフィールド値の実現値の数のカウントがその妥当性に関する何の情報も提供しないため、値センサスによって表されるデータフィールド値に関する統計から単に得ることができない。また、妥当性確認センサスは、無効性又は妥当性の実現値を示すだけであるため、それ自体に関する品質を十分に伝達することができず、データ値に関する何の統計も含んでいない。
【００１４】
非限定的な例として、適用される妥当性確認仕様は、国データフィールドが「米国」と等しく、且つ、郵便番号が５桁の数字を含まない場合（この例において、他の国データフィールドの値は、郵便番号データフィールドに対して異なる追加的な妥当性ルールを有する可能性がある）、郵便番号データフィールドが無効であることを示してもよい。データセットの値センサスは、「０２１４４」の特定の郵便番号がデータセット内に１００回出現することを示す可能性があるが、値センサスは、それぞれどの国の値がこれら１００個の値に対応するかを特定しないため、これ単独では、これら１００個の値の内のどれが有効でどれが無効である可能性があるかを示さない。実際、この種の分析を行うには、妥当性のチェックを必要とし、幾分、値センサスは、説明した多段階プロセスにおいて回避することを目的としている。同様に、妥当性確認センサスは、「０２１４４」の郵便番号値を含むレコードのそれぞれについて、どのレコードが有効で、どのレコードが無効であるかを示す。確かに、妥当性確認センサスを分析して、「０２１４４」の郵便番号が何回妥当性確認センサスにおいて出現しているかを特定することもできるが、これもまた、値センサスを作成するために必要とされる処理を繰り返すことになり、それは、説明した多段階プロセスが回避することを目的としているこの種の組み合わされた処理である。
【００１５】
しかし、妥当性確認センサスの内容が値センサスの内容との一対一のマッピングを容易に持たないため、値センサスを妥当性確認センサスにより強化することは問題点を提示している。値センサスは、データフィールドのカウント及びそれらの各値のみを示しているため、どのレコードがどのフィールド及び値のカウントに寄与しているかを、値センサスから判別する方法はない。妥当性確認センサスは、一方で、データの特定のレコードに関連付けられる無効性の表示を作成する。しかし、妥当性確認センサスの対応するエントリは、値センサスのエントリが強化される可能性がある前に、値センサスにおける所定のエントリに対して特定する必要がある。
【００１６】
本発明者らは、各センサスからフィールド及び値のペアを一致させることによって、値センサス及び妥当性確認センサスを組み合わせるための技術を認識し、正しく理解している。データセットに妥当性確認仕様を適用することの結果は、レコードに対する無効性の表示を「ロールアップ」するよう処理されて無効なフィールド及び値のペアのカウントを作成し、値センサスのフィールド及び値のペアを妥当性確認センサスにおける一致するフィールド及び値のペアで強化することが可能となる。場合によっては、値センサス内のフィールド及び値のペアのカウントは、妥当性確認センサス内の同じフィールド及び値のペアの対応するカウントと一致しないことがあり、これは、そのフィールド及び値の組み合わせの全てではないが幾つかの実現値のみが無効である場合に生じる。かかる場合には、センサスデータを組み合わせる処理は、センサスを解釈して適宜の出力を生成することができる。
【００１７】
幾つかの実施形態によれば、データ処理システムによるデータセットへの妥当性確認仕様の適用は、データセットの特定のレコードに関連付けられる無効性の表示を作成してもよい。例えば、データ処理システムは、データセット及び妥当性確認仕様を入力として受信し、データセットのレコードを含むデータに加えて、レコードの任意のデータフィールドが無効であることが判明したかどうか、及びどのような理由で無効であるかを明示する各レコードのためのデータを作成してもよい。かかる結果は、従来、妥当性の役立つ表示であるかもしれないが、上で検討したように、この形式の出力は、値センサスを強化するために容易に用いることはできない。このため、幾つかの実施形態によれば、妥当性確認センサスの作成は、データセットの各レコードに関連付けられる妥当性の表示を集約して、各フィールド及び値のペアに関連付けられる無効性の表示を作成してもよい。
【００１８】
幾つかの実施形態によれば、データセットの各レコードに関連付けられる妥当性の表示を集約するデータ処理システムは、無効性の表示のリストが各フィールド及び値の組み合わせごとに作成されるように、それらの表示を「ロールアップ」してもよい。すなわち、集約は、データセット内の各レコードについて、データセットレコードからフィールド及び値のペアを含む妥当性確認センサス内のレコードを、そのフィールド及び値のペアが無効であることが判明した理由の表示と共に作成してもよい。ロールアップ操作は、それぞれ一意のフィールド及び値のペアが妥当性確認センサスにおいて一度だけ出現し、それぞれが無効の理由の関連リストを有するように、かかるデータに関して追加の集約を行ってもよい。幾つかの実施形態において、無効性の各実現値に対するカウント値も、関連するフィールド及び値のペアに対する妥当性確認センサスにおいて作成されてもよい。
【００１９】
幾つかの実施形態によれば、値センサスは、データセットに存在する各フィールド及び値のペアの型妥当性の表示を包含してもよい。データ処理システムは、データセットを記述するレコードフォーマットにアクセスすることによって値センサスを作成し、レコードフォーマットの各データフィールドの各値の実現値を照合してもよい。このため、データ処理システムは、かかる値がレコードフォーマットによって定義されたような期待される型に適合しているかどうかを追加的にチェックしてもよい。例えば、電話番号データフィールドを包含するレコードフォーマットは、数値型を有していてもよい。このフィールドの各値の実現値の数を照合して値センサスを作成する一方で、データ処理システムは、これらの値のそれぞれについて、値が期待される数値型に適合するかどうかを追加的に特定してもよい。値センサスは、それに応じて、包含されるフィールド及び値のペアのそれぞれが型に対して有効であるか又は無効であるかの表示を包含してもよい。
【００２０】
幾つかの実施形態によれば、値センサスは、各フィールド及び値のペアに対する退化次数の表示を包含してもよい。場合によっては、データセットを記述するレコードフォーマットは、レコードの１つ以上のフィールドについて、そのフィールドの特定の値がヌル値として解釈されるかどうかを示してもよい。空のフィールド値は一般にヌルとして解釈されるよう定義される一方で、一般に、任意の適宜のフィールド値はヌルであるよう定義することができる。幾つかの実施形態において、データセットから値センサスを生成するデータ処理システムは、かかる値がレコードフォーマット通りにヌルであるよう定義されるものであるかどうかを追加的にチェックしてもよい。例えば、名前フィールドを包含するレコードフォーマットは、空の場合にヌルである文字列フィールドであるよう定義されてもよい。このフィールドの各値の実現値の数を照合して値センサスを作成する一方で、データ処理システムは、これらの値のそれぞれについて、値が空であり、従って、ヌルであると見なされるかどうかを追加的に特定してもよい。値センサスは、それに応じて、包含されるフィールド及び値のペアのそれぞれがヌルであるか否かの表示を包含してもよい。退化次数の表示は、値センサスについて、型妥当性の表示も生成されるかどうかに関わらず、生成されてもよい。すなわち、どちらか一方又は両方の表示は、値センサスについて生成されてもよい。
【００２１】
以下は、データプロファイリングにおいて妥当性確認結果を統合するための技術に関連する様々な概念、及びその実施形態のより詳細な説明である。本明細書に記載の様々な態様は、多数のやり方の何れで実施されてもよいことが理解されるものとする。単なる説明目的で、具体的な実施の例を本明細書に提供する。加えて、以下の実施形態に記載する様々な態様は、単独で又は任意の組み合わせで用いられてもよく、本明細書に明示的に記載する組み合わせに限定されるものではない。
【００２２】
図１は、幾つかの実施形態による、データセットをプロファイルするプロセスを示すフロー図である。プロセス１００は、データ処理システムが、妥当性確認仕様１０４に部分的に基づいてデータセット１０２を分析し、この分析に基づいてデータプロファイル１２０を作成する従来のデータプロファイリングプロセスを示している。上で検討したように、データプロファイルとは、データセットの妥当性及び統計の両方を説明するデータを指し、チャート、グラフ、リスト、又はそれらの組み合わせを包含する様々な方法のいずれかにおいて、データ処理システムのユーザインタフェースによって提示されてもよく、そのうちの幾つかの例を図１に示す。
【００２３】
図１の説明のための例に示すように、データセット１０２は、３つのデータフィールド（以下で簡単に「フィールド」と称する）、すなわち、顧客ＩＤ、国、及び郵便番号を定義する関連レコードフォーマットを有する。妥当性確認仕様は、データセットのレコード及びフィールド値をチェックして、レコードのいずれかが無効かどうか、及びどのような理由で無効であるかを特定し得る多数の妥当性確認ルールを定義している。妥当性確認仕様は、所定のレコードフォーマットに対する妥当性確認ルールの入力を可能にするよう設計されたスプレッドシート又は他のソフトウェアにおいて定義されたルール、及び／又は、入力値を検査し、それらの値の妥当性を示す出力を作成することによって一組の妥当性確認ルールを具現化するコード等の様々な形態を取ってもよい。
【００２４】
図１の例において、第１の妥当性確認ルールは、国フィールドの値が「ＵＳＡ」である場合に有効であるレコードについて、郵便番号は５桁の数字を含み、有効な米国の郵便番号でなければならないことを示している。有効な郵便番号としての郵便番号の妥当性は、例えば、有効な郵便番号のリストに対して郵便番号を照合することによって立証することができる。図１の説明のためのデータプロファイリングプロセスにおいて、データセット１０２内の各レコードは、分析ステップ１１０において、この妥当性確認ルールに適合するか否かを確かめるために検査される。すなわち、プロセス１００を実行するデータ処理システムは、各レコードの関連フィールド（この例において、国及び郵便番号）に関する表現を評価し、その評価の結果は、レコードが有効であるか否かを示す。例えば、任意の無効な値を包含してもよい妥当性又は無効性の表示は、ステップ１１０から出力されてデータプロファイル１２０を作成してもよい。
【００２５】
プロセス１００において、妥当性確認仕様１０４の各ルールは、ステップ１１０におけるデータセット１０２のレコードに対してチェックされてもよい。更に、データ処理システムは、ステップ１１０を実行する場合に、各フィールドがデータセット１０２内で見つかったそれぞれ一意の値を含む回数をカウントしてもよい。システムは、次いで、これらの統計を照合して、データプロファイル１２０を作成してもよい。上記のプロセスに鑑みて、ステップ１１０を実行する場合の各レコードについて、データ処理システムは、妥当性確認仕様１０４における全ての妥当性確認ルールをレコードに対して評価し、データセット１０２内の各フィールドの各値の一意の実現値のそれまでの合計を更新する。上で検討したように、データセットの各レコードに対するこれらの動作の全てを実行することは、かなりの時間を占有し、特にデータセットが多くのフィールド及び多くのレコードを含む場合に、完了するのにかなりの処理能力を必要とする可能性がある。データ処理システムによって値センサス及び妥当性確認センサスの作成にプロセスを分割することは、データプロファイルの作成が、単一のモノリシックプロセスである必要はないが、複数の異なるコンピューティングシステムによって、及び複数の異なる種類のソフトウェアを用いて複数の場所で行うことができるため、この処理を行う方法及び場所に大きな柔軟性を与えることができる。
【００２６】
幾つかの実施形態によれば、データプロファイル１２０は、無効なフィールド値の発生リストに加えて、データセット１０２の１つ以上のフィールドの一意の値の絶対的又は相対的な発生に関する統計を包含してもよい。かかるデータの一部を、単に一例として図１に示す。データプロファイルは、データ処理システム又は他のシステムが、チャート、表、等を備えるユーザインタフェースを介してユーザにデータプロファイルの態様を提示できるような任意の適宜の方法でこのデータを表現してもよい。
【００２７】
図２Ａは、幾つかの実施形態に従って、値センサスのデータと妥当性確認センサスのそれとを組み合わせることによって、値センサスを強化するプロセスを示すフロー図である。図２Ａの例において、データ処理システムは、データセット２０２が妥当性確認仕様２０４に対してチェックされて、ステップ２２０において無効性の表示を作成するプロセス２００を実行してもよい。別個に、独立して、データセット２１０の値センサスはプロセスに入力される。値センサス及び妥当性確認センサスは、次いで、ステップ２３０において無効性の表示により値センサスデータを強化することによって組み合わされる。データ処理システムは、次いで、組み合わされたセンサスデータに基づいてデータプロファイル２４０を作成してもよい。上で検討したように、妥当性確認センサスとの値センサスの強化は、データ処理システムによって、２つのセンサス間のフィールド及び値のペアを一致させることによって実行されてもよく、その例を更に以下で検討する。
【００２８】
値センサス２１０は、プロセス２００を実行する同じデータ処理システムによって作成されていてもよいか、又は異なるデータ処理システムによって作成されていてもよい。実際、本明細書に記載され、そのうちの説明のための例を図２Ａによって示すアプローチの柔軟性は、値センサス２１０が、プロセス２００を実行するデータ処理システムによって実行されるものとは異なるソフトウェアアプリケーションによることを包含する任意の適宜のシステムによって任意の適宜の方法で作成されてもよいことを提供する。
【００２９】
図２Ｂは、幾つかの実施形態に従って、図２Ａのプロセスの説明のための実現値を示している。図２Ａのプロセス２００内で処理される可能性のあるデータの一例を図示するために、図２Ｂは、特定の例示的なデータセットが分析されるプロセス２０１を示している。データセット２０２は、３つのフィールド、顧客識別番号（「顧客ＩＤ」）、国、及び郵便番号を包含している。明確にするために、幾つかのサンプルレコードを図２Ｂに示すが、データセット２０２は多くのかかるレコードを包含してもよいことが理解されるであろう。
【００３０】
図２Ｂの例において、データセットの値センサス２１０はプロセス２３０への入力として提供され、値センサス２１０を生成された妥当性確認センサスと組み合わせる。データセット２０２の値センサスは、上記の通り、異なるプロセスから受信されてもよいか、又は、任意に、プロセス２０１においてデータセット２０２から生成されてもよい。値センサス２１０は、データセット２０２内に存在するフィールド及び値のペアに関連付けられるカウントを備える。例えば、図２Ｂに示す第１のレコード内に存在するフィールドの顧客ＩＤに対する値２１６５１２１は、値センサスにおけるこのフィールド及び値のペアに対するカウントの１によって示されるように、データセット全体において１回しか存在しない。別の例として、図２Ｂにおいて示されたデータの第１及び第２のレコード内に存在する国フィールドに対する値「ＵＳＡ」は、値センサスに従ってデータセット２０２内に６３７２回存在している。
【００３１】
図２Ｂの例において、妥当性確認仕様は、郵便番号フィールド及び顧客ＩＤフィールドを参照する少なくとも３つの説明のための妥当性確認ルールを包含している。この例における郵便番号フィールドに関連する２つのルールのうちの１つは、レコード内の国フィールドの値（国が「ＵＳＡ」又は「ＵＫ」であるか）に従ってレコードに適用される。各妥当性確認ルールは、上記の通り、データ処理システムによってデータセット２０２の各レコードに適用されて、ステップ２２０において妥当性確認センサスを生成する。例えば、データ処理システムが、図２Ｂのステップ２２０において図示されたデータの第２のレコードに対して妥当性確認仕様を評価する場合、国フィールドの値は「ＵＳＡ」であり、従って、第１の妥当性確認ルールは、レコードの郵便番号が５桁であるかどうか、及び値が有効な米国の郵便番号であるかどうかのチェックをトリガする。この場合、値は５桁であるが、値「０００００」を有し、これは無効な米国の郵便番号である。その結果、データ処理システムは、ステップ２２０において、郵便番号フィールド、関連する値の「０００００」、及び妥当性問題点の記述、すなわち、米国の郵便番号が有効な郵便番号ではないことが判明したことを識別する妥当性確認センサスのレコードを生成する。図２Ｂの例に示すように、この特定のフィールド及び値のペアは、この理由のため４回も無効であることが判明した。データ処理システムが妥当性確認センサスを生成することに続いて、システムは、ステップ２３０において、このセンサスを値センサスと組み合わせてもよい。センサス同士を組み合わせるプロセスを、以下で更に詳細に説明する。
【００３２】
図２Ａに示すプロセスの柔軟性の図示を助けるために、図２Ｃは、異なるユーザ及び／又はプロセスが、図２Ａのプロセスにおいて、値センサスを作成し、値センサスを強化する図２Ａのサンプル使用事例を示している。上記の通り、値センサスを妥当性確認センサスと組み合わせるデータ処理システムは、値センサスを作成するデータ処理システムと同じである必要はない。図２Ｃは、場所Ａにおいて第１のデータ処理システムを操作するユーザ２５１が、システムを操作してプロセス２０７を介してデータセット２０２から値センサス２１０を作成するこのシナリオの一例を示している。場所Ｂにおいて第２のデータ処理システムを操作する異なるユーザ２５２は、そのシステムを操作して同じデータセット２０２から妥当性確認仕様書を作成し、場所Ａから値センサスを受信し、ステップ２３０において値センサスを強化することによってセンサスデータを組み合わせる。データプロファイル２４０は、次いで、強化されたセンサスデータから作成されてもよい。
【００３３】
図２Ｄは、幾つかの実施形態に従って、値センサスとの組み合わせに適した形で妥当性確認センサスを生成するための説明のためのプロセスを示している。上記の通り、妥当性確認センサスを値センサスと組み合わせるデータ処理システムについて、妥当性確認センサス及び値センサスはそれぞれ、フィールド及び値のペアを一致させ、値センサスのカウント及び妥当性確認センサスにおける問題点のそれぞれの情報を組み合わせることができるように、一意のフィールド及び値のペアのリストを備えていてもよい。図２Ｄは、図２Ａのステップ２２０が、この形での妥当性確認センサスを作成するよう構成されてもよい方法の説明のための例を示す。プロセス２２０に対する入出力データ例を、図示の目的のために、図２Ｂの例に従って、図２Ｄに示す。
【００３４】
図２Ｄの例において、ステップ２２０を実行するデータ処理システムは、入力としてデータセット２０２及び妥当性確認仕様２０４を取得する。データセット２０２は、それぞれがＮ個のデータフィールドを備える多数のレコードを備えている。図２Ｄの例を通して、図示の目的のために、プロセス内の各段階におけるデータを記述するレコードフォーマットは、「ｒｅｃｏｒｄ・・・ｅｎｄ」コンテナ内のフィールドのリストによって示されている。例えば、データセット２０２は、ｆｉｅｌｄ１、ｆｉｅｌｄ２、・・・、ｆｉｅｌｄＮと名付けられたフィールドを備えるレコードを含んでいる。
【００３５】
図２Ｄのステップ２２１において、妥当性確認仕様２０４のルールをデータセット２０２に適用して、無効性の表示を作成してもよい。データ処理システムは、データセット２０２の各受信レコードについてこれらの妥当性確認ルールのそれぞれを評価してもよく、それによって、評価されたレコードのデータを妥当性確認ルールによって識別される問題点のベクトル「ｉｓｓｕｅ［Ｎ］」に加えて含むレコードを作成してもよい。このベクトルの長さは、妥当性確認仕様に従って有効なデータを含むレコードに対してゼロであってもよい（すなわち、空であってもよい）ことが理解されるであろう。ベクトル「ｉｓｓｕｅ［Ｎ］」の要素は、それぞれ、ステップ２２１においてデータ処理システムによる妥当性確認仕様の適用によって生成されるような妥当性確認問題点を識別してもよい。
【００３６】
図２Ｄのステップ２２２において、正規化操作は、ステップ２２１によって出力されたデータに関してデータ処理システムによって実行され、これは、各受信レコードについて、ベクトル「ｉｓｓｕｅ［Ｎ］」の長さに等しい多数のレコードを作成する。従って、何の問題点も含まない（すなわち、妥当性確認仕様２０４に従って有効である）レコードについて、ステップ２２２はレコードを出力しない。ステップ２２２によって出力されるデータは、ステップ２２１から出力されたデータに存在する各問題点について、問題点そのものの表示に加えて、識別された問題点を作成した対応フィールドの名前「ｆｉｅｌｄｎａｍｅ」と、識別された問題点を作成したフィールドの値「ｆｉｅｌｄｖａｌｕｅ」とを示す。従って、ステップ２２２を実行する場合のデータ処理システムは、ステップ２２１で見つかった各妥当性問題点のためのレコードを作成する。
【００３７】
図２Ｄのステップ２２３において、ロールアップ操作は、データ処理システムによって、ステップ２２２によって出力されたデータに関し、フィールド名及びフィールド値並びに問題点の組み合わせをキーとして用いて行われる。この操作は、フィールド名、フィールド値、及び問題点の同じ組み合わせを有する全てのレコードを、その組み合わせがデータ内で何回発生したかのカウントも包含する単一のレコードに「ロールアップ」する。従って、ステップ２２３の出力は、フィールド名、フィールド値、及び問題点のそれぞれ一意の組み合わせを、その組み合わせの実現値カウントと共に備える。
【００３８】
データ処理システムが妥当性確認仕様に対してデータセットのレコードをチェックし、データセットのフィールド及び値のペアに関連付けられる妥当性確認問題点のリストを作成してもよい多くの異なる方法が存在する可能性があり、従って、図２Ｄは説明のための一例として提供されていることが理解されるであろう。
【００３９】
図３Ａは、幾つかの実施形態に従って、値センサスのデータと妥当性確認センサスのそれとを組み合わせることによって、値センサスを強化する第１の技法を示すフロー図である。プロセス３００は、センサスデータが組み合わされて、データプロファイルが生成されてもよいデータを作成するデータ処理システムによって実行されるプロセスを示している。上記の通り、データセットの値センサスは、フィールド及び値のペアのカウントを示してもよいのに対して、妥当性確認センサスは、データセットのフィールド及び値のペアに対する妥当性確認問題点のカウントを示すよう（例えば、図２Ｄのプロセスを介して）構成されてもよい。
【００４０】
図３Ａの例において、値センサス３１０は、それぞれのセンサスのフィールド及び値フィールドの組み合わせを結合キーとして用いて、ステップ３３０において妥当性確認センサス３２０と結合される。すなわち、値センサスの各レコード（図３Ａの例において、それぞれが、フィールド名、そのフィールドの対応する値、及びデータベース内に存在するフィールド及び値のペアの実現値のカウントを備える）について、一致するフィールド名及びフィールド値を有する妥当性確認センサス内の任意のレコードは、値センサスを強化するために用いられる。かかる組み合わせの結果は、元のデータセット内の各フィールド及び値のペアについて、そのフィールド及び値のペアに対して判明した任意の妥当性確認問題点のリストに加えてそのフィールド及び値のペアの発生のカウントを作成することである。データプロファイルは、ステップ３３０によって作成された強化されたセンサスデータに基づいて、ステップ３４０において作成されてもよい。
【００４１】
図３Ｂは、幾つかの実施形態に従って、図３Ａのプロセス内のステップ３３０の説明のための実現値を示している。図３Ａのプロセス３３０内で処理される可能性のあるデータの一例を図示するために、図３Ｂは、説明のための値及び検証センサスが組み合わされるプロセス３０２を示している。図３Ｂの例において、説明のための値センサス３８１は、３つのフィールド、顧客識別番号（「顧客ＩＤ」）、国、及び郵便番号を有するレコードフォーマットに従って定義されるデータセットに対して生成されている。幾つかの説明のためのフィールド及び値のペアのカウントを図３Ｂに示す。加えて、説明のための妥当性確認センサス３８２が生成され、データセットの幾つかのフィールド及び値のペアに対する無効性カウント及び無効性問題点を示している。ステップ３３０は、入力３８１及び３８２に基づいて、値センサスのフィールド及び値のペアについて、どのレコードが有効又は無効であったか、及びどのような理由で無効実現値が識別された場合に無効が特定されたかを示す、強化されたセンサスデータ３８３を作成する。
【００４２】
例えば、顧客ＩＤ値７７７３ＸＸＸは、値センサス３８１内のそのフィールド及び値のペアのカウントによって示すように、データセット内に一度だけ出現する。加えて、同じフィールド及び値のペアは、同じカウントを有し、無効性に対する識別された理由で（「型に対して無効」）、妥当性確認センサスにおいて出現する。結果として得られる強化されたセンサスデータ３８３は、フィールド及び値のペアのこの実現値の要約を包含する。別の例として、郵便番号値０２４２１は、値センサス３８１によって示すように、データセット内に１８回発生する。このフィールド及び値のペアは、「無効な英国郵便コード」としてカウント１を有し、妥当性確認センサス内に出現する。従って、この妥当性確認センサスデータにより値センサスを強化すると、強化されたセンサスデータ３８３内に集計したように、郵便番号０２４２１の１７個の有効実現値及び１つの無効実現値が存在すると推論される。
【００４３】
図３Ｃは、図３Ａのステップ３３０を実施するための説明のためのアプローチを示している。図３Ｃの例において、値センサス及び妥当性確認センサスのフィールド及び値のペアはステップ３３１において一致させられる。値センサス及び妥当性確認センサスが図３Ａの例において準備されている方法により、フィールド及び値のそれぞれ一意の組み合わせは、値センサスにおいて１回しか出現しないが、同じフィールド及び値の組み合わせは、同じフィールド及び値の組み合わせが複数の異なる無効性問題点を作成した場合には、妥当性確認センサスにおいて複数回出現してもよい。場合によっては、フィールド及び値のペアは、値センサスにおいて出現するが、妥当性確認センサスにおいて出現せず、このフィールド及び値のペアの全ての実現値が有効であると判明したことを示してもよい。他の場合において、フィールド及び値のペアは、値センサス及び妥当性確認センサスの両方に出現し、フィールド及び値のペアの実現値の少なくとも幾つかかが無効であることを示してもよい。
【００４４】
幾つかの実施形態において、ステップ３３１は、ステップ３３０を実行するデータ処理システムによって結合操作として実行されてもよい。すなわち、値センサス及び妥当性確認センサスにおけるレコードの結合は、フィールド及び値の組み合わせを結合キーとして用いて作成されてもよい。結果として得られるデータは、値センサス内の各フィールド及び値のペアについて、そのフィールド及び値のペアに関して生じた任意の問題点及びそれらのカウントの表示を、ペアがデータセット内に出現した回数のカウントに加えて包含してもよい。
【００４５】
フィールド及び値のペアがステップ３３１においてどのように整合されたかに関わらず、ステップ３３２において、値センサス内に現れる各フィールド及び値のペアは検査されて、値センサスにおけるそのカウント値が、妥当性確認センサスにおける全ての一致するフィールド及び値のペアの中からのカウント値の合計と等しいかどうかが特定される。カウントが一致した場合、これは、フィールド及び値のペアの全ての実現値がデータセットにおいて無効であったことを示している。従って、この場合、このフィールド及び値のペアの全ての実現値が無効であることが判明したことを示すデータが、ステップ３３３において作成される。図３Ｃの例において、それぞれのフィールド及び値のペアについて、それらのレコードが無効であることが判明した理由を示すデータも作成される。
【００４６】
代替として、ステップ３３４において、値センサスに出現するフィールド及び値のペアは、妥当性確認センサスにおける全ての一致するフィールド及び値のペアの中からのカウント値の合計よりも大きいカウント値を有していてもよい。これは、全てよりも少ないフィールド及び値のペアの実現値が、データ処理システムによって無効であると判明したことを示している。ステップ３３４において、データ処理システムは、値センサスからのカウントから、妥当性確認センサスにおける全ての一致するカウント値の合計を減算することによって、フィールド及び値のペアの有効な実現値の数を特定する。場合によっては、妥当性確認センサスからの全ての一致するカウント値の合計がゼロである場合、これは、フィールド及び値のペアの全ての実現値が有効であると判明したことを示している。代替として、フィールド及び値のペアの実現値の一部だけが有効であると判明していてもよい。動作３３５において、フィールド及び値のペアの幾つかの実現値が有効と判明したことを示すデータが作成され、場合によっては、フィールド及び値のペアの幾つかの実現値が無効と判明したことを示すデータも作成される。図３Ｂの例において、無効な実現値が動作３３５において識別された場合、それぞれのフィールド及び値のペアについて、それらのレコードが無効であると判明した理由を示すデータも作成される。
【００４７】
幾つかの実施形態において、妥当性確認センサスからの全ての一致するカウント値の合計が、所定のフィールド及び値のペアについての値センサスからのカウントを超えることができないため、動作３３４の論理的評価を実行する必要がない可能性があることが理解されるであろう。このため、動作３３４の論理的評価は、動作３３２の論理的評価が誤りであると特定され、判明すると、冗長となる可能性がある。従って、データ処理システムは、ステップ３３２を評価した直後にステップ３３５を実行してもよい。
【００４８】
図４Ａは、幾つかの実施形態に従って、値センサスのデータと妥当性確認センサスのそれとを組み合わせることによって、値センサスを強化する第２の技法を示すフロー図である。プロセス４００は、センサスデータが組み合わされて、データプロファイルが生成されてもよいデータを作成するデータ処理システムによって実行されるプロセスを示している。上記の通り、データセットの値センサスは、フィールド及び値のペアのカウントを示してもよいのに対して、妥当性確認センサスは、データセットのフィールド及び値のペアに対する妥当性確認問題点のカウントを示すよう（例えば、図２Ｄのプロセスを介して）構成されてもよい。
【００４９】
図４Ａの例において、値センサス４１０は、それぞれのセンサスのフィールド及び値フィールドの組み合わせを結合キーとして用いて、ステップ４３０において妥当性確認センサス４２０と結合される。すなわち、値センサスの各レコード（図４Ａの例において、それぞれが、フィールド名、そのフィールドの対応する値、及びデータベース内に存在するフィールド及び値のペアの実現値のカウントを備える）について、一致するフィールド名及びフィールド値を有する妥当性確認センサス内の任意のレコードは、値センサスを強化するために用いられる。かかる組み合わせの結果は、元のデータセット内の各フィールド及び値のペアについて、そのフィールド及び値のペアに対して判明した任意の妥当性確認問題点のリストに加えてそのフィールド及び値のペアの発生のカウントを作成することである。データプロファイルは、ステップ４３０によって作成された強化されたセンサスデータに基づいて、ステップ４４０において作成されてもよい。
【００５０】
図３Ａとは対照的に、図４Ａの例において、妥当性確認センサスは、無効性問題点のベクトル及びそれぞれのカウントが妥当性確認センサス内に出現する各フィールド及び値のペアに関連付けられる構成されている。従って、図３Ａの例とは異なり、妥当性確認センサスの各フィールド及び値のペアは１回だけ出現し、複数の実現値は単一レコード内のベクトルに「非正規化」されている。このベクトルの長さは、従って、関連付けられたフィールド及び値のペアに対して識別された異なる無効性理由の数に等しい。
【００５１】
図４Ｂは、幾つかの実施形態に従って、図４Ａのプロセスの説明のための実現値を示している。図４Ａのプロセス４３０内で処理される可能性のあるデータの一例を図示するために、図４Ｂは、説明のための値及び検証センサスが組み合わされるプロセス４０２を示している。図４Ｂの例において、説明のための値センサス４８１は、３つのフィールド、顧客識別番号（「顧客ＩＤ」）、国、及び郵便番号を有するレコードフォーマットに従って定義されるデータセットに対して生成されている。幾つかの説明のためのフィールド及び値のペアのカウントを図４Ｂに示す。加えて、説明のための妥当性確認センサス４８２が生成され、データセットの幾つかのフィールド及び値のペアに対する無効性カウント及び無効性問題点を示している。ステップ４３０は、入力４８１及び４８２に基づいて、値センサスのフィールド及び値のペアについて、どのレコードが有効又は無効であったか、及びどのような理由で無効実現値が識別された場合に無効が特定されたかを示す、強化されたセンサスデータ４８３を作成する。
【００５２】
図４Ｃは、図４Ａのステップ４３０を実施するための説明のためのアプローチを示している。図４Ｃの例において、値センサス及び妥当性確認センサスのフィールド及び値のペアはステップ４３１において一致させられる。値センサス及び妥当性確認センサスが図４Ａの例において準備されている方法により、フィールド及び値のそれぞれ一意の組み合わせは、値センサス及び妥当性確認センサスのどちらか一方においても１回しか出現しない。場合によっては、フィールド及び値のペアは、値センサスにおいて出現するが、妥当性確認センサスにおいて出現せず、このフィールド及び値のペアの全ての実現値が有効であると判明したことを示してもよい。他の場合において、フィールド及び値のペアは、値センサス及び妥当性確認センサスの両方に出現し、フィールド及び値のペアの実現値の少なくとも幾つかかが無効であることを示してもよい。
【００５３】
幾つかの実施形態において、ステップ４３１は、ステップ４３０を実行するデータ処理システムによって結合操作として実行されてもよい。すなわち、値センサス及び妥当性確認センサスにおけるレコードの結合は、フィールド及び値の組み合わせを結合キーとして用いて作成されてもよい。結果として得られるデータは、値センサス内の各フィールド及び値のペアについて、そのフィールド及び値のペアに関して（例えば、妥当性確認センサス４２０のベクトルフォーマット通りに）生じた任意の問題点及びそれらのカウントの表示を、ペアがデータセット内に出現した回数のカウントに加えて包含してもよい。
【００５４】
フィールド及び値のペアがステップ４３１においてどのように整合されたかに関わらず、ステップ４３２において、値センサス内に現れる各フィールド及び値のペアは検査されて、値センサスにおけるそのカウント値が、妥当性確認センサスにおける全ての一致するフィールド及び値のペアの中からのカウント値の合計と等しいかどうかが特定される。カウントが一致した場合、これは、フィールド及び値のペアの全ての実現値がデータセットにおいて無効であったことを示している。従って、この場合、このフィールド及び値のペアの全ての実現値が無効であることが判明したことを示すデータが、ステップ４３３において作成される。図４Ｃの例において、それぞれのフィールド及び値のペアについて、それらのレコードが無効であることが判明した理由を示すデータも作成される。
【００５５】
代替として、ステップ４３４において、値センサスに出現するフィールド及び値のペアは、妥当性確認センサスにおける全ての一致するフィールド及び値のペアの中からのカウント値の合計よりも大きいカウント値を有していてもよい。これは、全てよりも少ないフィールド及び値のペアの実現値が、データ処理システムによって無効であると判明したことを示している。ステップ４３４において、データ処理システムは、値センサスからのカウントから、妥当性確認センサスにおける全ての一致するカウント値の合計を減算することによって、フィールド及び値のペアの有効な実現値の数を特定する。場合によっては、妥当性確認センサスからの全ての一致するカウント値の合計がゼロである場合、これは、フィールド及び値のペアの全ての実現値が有効であると判明したことを示している。代替として、フィールド及び値のペアの実現値の一部だけが有効であると判明していてもよい。動作４３５において、フィールド及び値のペアの幾つかの実現値が有効と判明したことを示すデータが作成され、場合によっては、フィールド及び値のペアの幾つかの実現値が無効と判明したことを示すデータも作成される。図４Ｃの例において、無効な実現値が動作４３５において識別された場合、それぞれのフィールド及び値のペアについて、それらのレコードが無効であると判明した理由を示すデータも作成される。
【００５６】
幾つかの実施形態において、妥当性確認センサスからの全ての一致するカウント値の合計が、所定のフィールド及び値のペアについての値センサスからのカウントを超えることができないため、動作４３４の論理的評価を実行する必要がない可能性があることが理解されるであろう。このため、動作４３４の論理的評価は、動作４３２の論理的評価が誤りであると特定され、判明すると、冗長となる可能性がある。従って、データ処理システムは、ステップ４３２を評価した直後にステップ４３５を実行してもよい。
【００５７】
図５Ａは、幾つかの実施形態に従って、値センサスのデータと妥当性確認センサスのそれとを組み合わせることによって、値センサスを強化する第３の技法を示すフロー図である。プロセス５００は、センサスデータが組み合わされて、データプロファイルが生成されてもよいデータを作成するデータ処理システムによって実行されるプロセスを示している。上記の通り、データセットの値センサスは、フィールド及び値のペアのカウントを示してもよいのに対して、妥当性確認センサスは、データセットのフィールド及び値のペアに対する妥当性確認問題点のカウントを示すよう（例えば、図２Ｄのプロセスを介して）構成されてもよい。
【００５８】
図５Ａの例において、値センサス５１０は、フィールド及び値のペアの型の評価を包含するよう構成されている。フィールドの型はそのレコードフォーマットによって定義され、型は、文字列又は文字フィールド、英数字フィールド、数値又は１０進数フィールド、日付、時刻、又は日時フィールド、バイナリフィールド、等を包含してもよい。フィールド及び値のペアの全ての実現値は、型に対して同じ妥当性又は無効性を示す（フィールド及び値のペアが定義された型を尊重するか否かに関わりなく）ので、値センサスを作成するデータ処理システムは、各フィールド及び値のペアについて型の妥当性を特定し、結果としての型の妥当性を値センサスに格納してもよい。幾つかの実施形態において、フィールドは、ヌルとして扱われるよう定義された値を有していてもよい。ヌル値は、データ値が有効でも無効でもなく、むしろ存在しないことを示す特別なマーカである。かかる場合、値センサスを作成するデータ処理システムは、型の妥当性を特定する場合に、フィールド及び値のペアがヌルであるかどうかを特定してもよい。これらの場合、型の妥当性は、有効、無効、又はヌルのいずれかであってもよい。
【００５９】
図５Ａの例において、値センサス５１０は、それぞれのセンサスのフィールド及び値フィールドの組み合わせを結合キーとして用いて、ステップ５３０において妥当性確認センサス５２０と結合される。すなわち、値センサスの各レコード（図５Ａの例において、それぞれが、フィールド名、そのフィールドの対応する値、データベース内に存在するフィールド及び値のペアの実現値のカウント、及び型の妥当性の表示を備える）について、一致するフィールド名及びフィールド値を有する妥当性確認センサス内の任意のレコードは、値センサスを強化するために用いられる。かかる組み合わせの結果は、元のデータセット内の各フィールド及び値のペアについて、そのフィールド及び値のペアに対して判明した任意の妥当性確認問題点のリストに加えてそのフィールド及び値のペアの発生のカウントを作成することである。データプロファイルは、ステップ５３０によって作成された強化されたセンサスデータに基づいて、ステップ５４０において作成されてもよい。
【００６０】
図５Ａの例において、妥当性確認センサスは、無効性問題点のベクトル及びそれぞれのカウントが妥当性確認センサス内に出現する各フィールド及び値のペアに関連付けられる構成されている。従って、図４Ａの例のように、妥当性確認センサスの各フィールド及び値のペアは１回だけ出現し、複数の実現値は単一レコード内のベクトルに「非正規化」されている。このベクトルの長さは、従って、関連付けられたフィールド及び値のペアに対して識別された異なる無効性理由の数に等しい。
【００６１】
図５Ｂは、幾つかの実施形態に従って、図５Ａのプロセスの説明のための実現値を示している。図５Ａのプロセス５３０内で処理される可能性のあるデータの一例を図示するために、図５Ｂは、説明のための値及び検証センサスが組み合わされるプロセス５０２を示している。図５Ｂの例において、説明のための値センサス５８１は、３つのフィールド、顧客識別番号（「顧客ＩＤ」）、国、及び郵便番号を有するレコードフォーマットに従って定義されるデータセットに対して生成されている。幾つかの説明のためのフィールド及び値のペアのカウントを図５Ｂに示す。上記の通り、図５Ｂの例において、値センサスはまた、フィールド及び値のペアのそれぞれに対する型の妥当性の表示を包含してもよい。加えて、説明のための妥当性確認センサス５８２が生成され、データセットの幾つかのフィールド及び値のペアに対する無効性カウント及び無効性問題点を示している。図５Ａに示すステップ５３０へのこれらの入力は、値センサスのフィールド及び値のペアについて、どのレコードが有効又は無効であったか、及びどのような理由で無効実現値が識別された場合に無効が特定されたかを示す、強化されたセンサスデータ５８３を作成する。強化されたセンサスデータ５８３は、値センサスによって示されるように、国フィールドの５つの実現値がデータセットにおいてヌルであった場合の一例を包含している。
【００６２】
図５Ｃは、図５Ａのステップ５３０を実施するための説明のためのアプローチを示している。図５Ｃの例において、値センサス及び妥当性確認センサスのフィールド及び値のペアはステップ５３１において一致させられる。値センサス及び妥当性確認センサスが図５Ａの例において準備されている方法により、フィールド及び値のそれぞれ一意の組み合わせは、値センサス及び妥当性確認センサスのどちらか一方においても１回しか出現しない。場合によっては、フィールド及び値のペアは、値センサスにおいて出現するが、妥当性確認センサスにおいて出現せず、このフィールド及び値のペアの全ての実現値が有効であると判明したことを示してもよい。他の場合において、フィールド及び値のペアは、値センサス及び妥当性確認センサスの両方に出現し、フィールド及び値のペアの実現値の少なくとも幾つかかが無効であることを示してもよい。
【００６３】
幾つかの実施形態において、ステップ５３１は、ステップ５３０を実行するデータ処理システムによって結合操作として実行されてもよい。すなわち、値センサス及び妥当性確認センサスにおけるレコードの結合は、フィールド及び値の組み合わせを結合キーとして用いて作成されてもよい。結果として得られるデータは、値センサス内の各フィールド及び値のペアについて、そのフィールド及び値のペアに関して（例えば、妥当性確認センサス５２０のベクトルフォーマット通りに）生じた任意の問題点及びそれらのカウントの表示を、ペアがデータセット内に出現した回数のカウントに加えて包含してもよい。
【００６４】
フィールド及び値のペアがステップ５３１においてどのように一致されるかに関わらず、ステップ５３２において、値センサス内に現れる各フィールド及び値のペアは検査されて、値が型に対して有効であることを値センサスが示しているかどうかを特定する。図５Ｃの例において、値が型に対して有効であるか、型に対して無効であるか、又はヌルであるかどうかは、多数の可能性のある結果のうちのどれが、妥当性確認センサスにおいて識別されたレコードの無効性に関して生じてもよいかを特定する。かかる可能性に対する真理表を図５Ｄに示し、それは、フィールド及び値のペアに対する所定の型の妥当性の結果について、強化されたセンサスデータにおいて生じ得る可能性のある結果を示している。フィールド及び値のペアが型に対して有効である場合、そのフィールド及び値のペアの実現値は、表５６０の第１の行によって示すように、妥当性確認仕様に応じて、有効又は無効であってもよい。フィールド及び値のペアが型に対して無効である場合、そのフィールド及び値のペアの実現値は、少なくとも型の無効性（及び同様に、他の無効性問題点による可能性）により無効でなければならない。フィールド及び値のペアがヌルである場合、そのフィールド及び値のペアの実現値は、ヌルであり且つ無効である（ヌル有効を無効と見なすことを示す無効性仕様において定義される無効性ルールが存在する場合）か、又はそうでなければ、ヌルであり且つ有効であってもよい。
【００６５】
図５Ｃに戻ると、ステップ５３２において、フィールド及び値のペアが型に対して有効であると特定されることを、値センサスが示す場合、ステップ５３３において、値センサスにおけるそのカウント値が、妥当性確認センサスにおける全ての一致するフィールド及び値のペアの中からのカウント値の合計に等しいかどうかが特定される。カウントが一致した場合、これは、フィールド及び値のペアの全ての実現値がデータセットにおいて無効であったことを示している。従って、この場合、このフィールド及び値のペアの全ての実現値が無効であることが判明したことを示すデータが、ステップ５３４において作成される。図５Ｃの例において、それぞれのフィールド及び値のペアについて、それらのレコードが無効であることが判明した理由を示すデータも作成される。
【００６６】
代替として、ステップ５３５において、値センサスに出現するフィールド及び値のペアは、妥当性確認センサスにおける全ての一致するフィールド及び値のペアの中からのカウント値の合計よりも大きいカウント値を有していてもよい。これは、全てよりも少ないフィールド及び値のペアの実現値が、データ処理システムによって無効であると判明したことを示している。ステップ５３５において、データ処理システムは、値センサスからのカウントから、妥当性確認センサスにおける全ての一致するカウント値の合計を減算することによって、フィールド及び値のペアの有効な実現値の数を特定する。場合によっては、妥当性確認センサスからの全ての一致するカウント値の合計がゼロである場合、これは、フィールド及び値のペアの全ての実現値が有効であると判明したことを示している。代替として、フィールド及び値のペアの実現値の一部だけが有効であると判明していてもよい。動作５３６において、フィールド及び値のペアの幾つかの実現値が有効と判明したことを示すデータが作成され、場合によっては、フィールド及び値のペアの幾つかの実現値が無効と判明したことを示すデータも作成される。図５Ｃの例において、無効な実現値が動作５３６において識別された場合、それぞれのフィールド及び値のペアについて、それらのレコードが無効であると判明した理由を示すデータも作成される。
【００６７】
幾つかの実施形態において、妥当性確認センサスからの全ての一致するカウント値の合計が、所定のフィールド及び値のペアについての値センサスからのカウントを超えることができないため、動作５３４の論理的評価を実行する必要がない可能性があることが理解されるであろう。このため、動作５３４の論理的評価は、動作５３２の論理的評価が誤りであると特定され、判明すると、冗長となる可能性がある。従って、データ処理システムは、ステップ５３２を評価した直後にステップ５３５を実行してもよい。
【００６８】
ステップ５３２において、フィールド及び値のペアが型に対して有効ではないと特定されることを、値センサスが示す場合、フローは、値センサスの型の妥当性の表示が、型に対して無効であるかどうかを確かめるために検査されるステップ５３７に進む。フィールド及び値のペアが型に対して無効である場合、ステップ５３８において、データ処理システムは、このフィールド及び値のペアの全ての実現値が無効と判明したことを示すデータを作成する。図５Ｃの例において、それぞれのフィールド及び値のペアについて、それらのレコードが無効であることが判明した理由を示すデータも作成される。
【００６９】
ステップ５３２及び５３７において、フィールド及び値のペアが型に対して有効又は無効ではないと特定されることを、値センサスが示す場合、フローは、値センサスの型の妥当性の表示が、ヌルであるかどうかを確かめるために検査されるステップ５３９に進む。値センサスの型の妥当性の表示がヌルである場合、ステップ５４０において、値センサスの実現値カウントは、同じフィールド及び値のペアについての妥当性確認センサスからの合計カウントと比較されて、これらのカウントが一致するかどうかを特定する。カウントが一致した場合、これは、フィールド及び値のペアの全ての実現値がデータセットにおいてヌルであり且つ無効であったことを示している。従って、この場合、このフィールド及び値のペアの全ての実現値がヌルであり且つ無効であることが判明したことを示すデータが、ステップ５４１において作成される。図５Ｃの例において、それぞれのフィールド及び値のペアについて、それらのレコードが無効であることが判明した理由を示すデータも作成される。
【００７０】
代替として、ステップ５４２において、値センサスに出現するフィールド及び値のペアは、妥当性確認センサスにおける全ての一致するフィールド及び値のペアの中からのカウント値の合計よりも大きいカウント値を有していてもよい。これは、全てよりも少ないフィールド及び値のペアの実現値が、データ処理システムによって無効であると判明したことを示している。ステップ５４２において、データ処理システムは、値センサスからのカウントから、妥当性確認センサスにおける全ての一致するカウント値の合計を減算することによって、フィールド及び値のペアのヌル及び有効な実現値の数を特定する。場合によっては、妥当性確認センサスからの全ての一致するカウント値の合計がゼロである場合、これは、フィールド及び値のペアの全ての実現値がヌルであり且つ有効であると判明したことを示している。代替として、フィールド及び値のペアの実現値の一部だけがヌルであり且つ有効であると判明していてもよい。動作５４３において、フィールド及び値のペアの幾つかの実現値がヌル有効と判明したことを示すデータが作成され、場合によっては、フィールド及び値のペアの幾つかの実現値がヌル及び無効と判明したことを示すデータも作成される。図５Ｃの例において、ヌル及び無効な実現値が動作５４３において識別された場合、それぞれのフィールド及び値のペアについて、それらのレコードが無効であると判明した理由を示すデータも作成される。
【００７１】
図６は、本明細書に記載する技術を実施することができる適宜のコンピューティングシステム環境６００の一例を図示する。コンピューティングシステム環境６００は、適宜のコンピューティング環境の一例にすぎず、本明細書に記載する技術の使用又は機能性の範囲に関して何ら制限を示唆することを意図したものではない。コンピューティング環境６００は、例示的動作環境６００に図示されるコンポーネントの何れか１つ又は組み合わせに関する依存性又は要件を有すると解釈されるべきものでもない。
【００７２】
本明細書に記載する技術は、多数の他の汎用又は専用コンピューティングシステムの環境又は構成と共に使用可能である。本明細書に記載する技術と共に使用するのに適し得る周知のコンピューティングシステム、環境、及び／又は構成の例には、限定されることはないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル大衆消費電子製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスの何れかを包含する分散コンピューティング環境などが包含される。
【００７３】
コンピューティング環境は、プログラムモジュールなどのコンピュータ実行可能命令を実行することができる。一般に、プログラムモジュールには、特定のタスクを行う、又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが包含される。本明細書に記載する技術は、通信ネットワークを通してリンクされるリモート処理デバイスによってタスクが行われる分散コンピューティング環境において実行されてもよい。分散コンピューティング環境では、プログラムモジュールは、メモリストレージデバイスを包含するローカル及びリモートコンピュータストレージ媒体の両方に位置していてもよい。
【００７４】
図６を参照して、本明細書に記載する技術を実施する例示的システムは、コンピュータ６１０の形態の汎用コンピューティングデバイスを包含する。コンピュータ６１０のコンポーネントは、限定されないが、処理装置６２０、システムメモリ６３０、及びシステムメモリを包含する様々なシステムコンポーネントを処理装置６２０に結合するシステムバス６２１を包含してもよい。システムバス６２１は、様々なバスアーキテクチャの何れかを使用した、メモリバス又はメモリコントローラ、周辺バス、及びローカルバスを包含する幾つかのタイプのバス構造の何れかであってもよい。例として、及び限定ではなく、このようなアーキテクチャには、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子装置規格化協会（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）（ＶＥＳＡ）ローカルバス、及びメザニンバスとしても知られるペリフェラルコンポーネントインターコネクト（ＰＣＩ）バスが包含される。
【００７５】
コンピュータ６１０は、一般的に、様々なコンピュータ可読媒体を包含する。コンピュータ可読媒体は、コンピュータ６１０によってアクセスすることができる任意の入手可能な媒体でよく、及び揮発性及び不揮発性両方の媒体、リムーバブル及び非リムーバブル媒体を包含する。例として、及び限定ではなく、コンピュータ可読媒体は、コンピュータストレージ媒体及び通信媒体を含んでもよい。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報のストレージのための任意の方法又は技術で実施される、揮発性及び不揮発性、リムーバブル及び非リムーバブル媒体を包含する。コンピュータストレージ媒体には、限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又は他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）又は他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気ストレージデバイス、又は所望の情報を保存するために使用することができ、且つコンピュータ６１０によってアクセスすることができるその他の媒体が包含される。通信媒体は、一般的に、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを搬送波又は他のトランスポート機構などの変調データ信号で具現化し、及びあらゆる情報配信媒体を包含する。「変調データ信号」という用語は、それの特性集合の１つ又は複数を有する、又は信号の情報をエンコードするように変更された信号を意味する。例として、及び限定ではなく、通信媒体には、有線ネットワーク又は直接有線接続などの有線媒体、及び音響、ＲＦ、赤外線、及び他の無線媒体などの無線媒体が包含される。上記の何れかの組み合わせも、コンピュータ可読媒体の範囲内に包含されるものとする。
【００７６】
システムメモリ６３０は、読み出し専用メモリ（ＲＯＭ）６３１及びランダムアクセスメモリ（ＲＡＭ）６３２などの揮発性及び／又は不揮発性メモリの形態のコンピュータストレージ媒体を包含する。起動時などに、コンピュータ６１０内の素子間で情報を転送することを助ける基本ルーチンを含有した、基本入出力システム６３３（ＢＩＯＳ）は、一般的に、ＲＯＭ６３１内に保存される。ＲＡＭ６３２は、一般的に、即座に利用できる、及び／又は処理装置６２０によって現在操作されているデータ及び／又はプログラムモジュールを含有する。例として、及び限定ではなく、図６は、オペレーティングシステム６３４、アプリケーションプログラム６３５、他のプログラムモジュール６３６、及びプログラムデータ６３７を図示する。
【００７７】
コンピュータ６１０は、他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータストレージ媒体も包含することができる。単なる例として、図６は、非リムーバブル、不揮発性磁気媒体に対する読み取り又は書き込みを行うハードディスクドライブ６４１、フラッシュメモリなどのリムーバブル、不揮発性メモリ６５２に対する読み取り又は書き込みを行うフラッシュドライブ６５１、及びＣＤ−ＲＯＭ又は他の光学媒体などのリムーバブル、不揮発性光ディスク６５６に対する読み取り又は書き込みを行う光ディスクドライブ６５５を図示する。例示的動作環境において使用することができる他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータストレージ媒体には、限定されないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどが包含される。ハードディスクドライブ６４１は、一般的に、インタフェース６４０などの非リムーバブルメモリインタフェースを通してシステムバス６２１に接続され、及び磁気ディスクドライブ６５１及び光ディスクドライブ６５５は、一般的に、インタフェース６５０などのリムーバブルメモリインタフェースによってシステムバス６２１に接続される。
【００７８】
上述した、及び図６に図示したドライブ及びそれらに関連付けられたコンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及びコンピュータ６１０の他のデータのストレージを提供する。図６においては、例えば、ハードディスクドライブ６４１は、オペレーティングシステム６４４、アプリケーションプログラム６４５、他のプログラムモジュール６４６、及びプログラムデータ６４７を保存するものとして図示される。これらのコンポーネントは、オペレーティングシステム６３４、アプリケーションプログラム６３５、他のプログラムモジュール６３６、及びプログラムデータ６３７と同じであってもよいし、或いは異なっていてもよいことに留意されたい。オペレーティングシステム６４４、アプリケーションプログラム６４５、他のプログラムモジュール６４６、及びプログラムデータ６４７は、少なくとも、それらが異なるコピーであることを図示するために、ここでは、異なる番号が付与されている。ユーザは、キーボード６６２及び一般にマウス、トラックボール、又はタッチパッドと呼ばれるポインティングデバイス６６１などの入力デバイスによって、コンピュータ６１０にコマンド及び情報を入力することができる。他の入力デバイス（不図示）には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが包含され得る。これら及び他の入力デバイスは、システムバスに結合されたユーザ入力インタフェース６６０によって、処理装置６２０に接続されることが多いが、パラレルポート、ゲームポート、又はユニバーサルシリアルバス（ＵＳＢ）などの他のインタフェース及びバス構造によって接続されてもよい。モニタ６９１又は他のタイプのディスプレイデバイスも、ビデオインタフェース６９０などのインタフェースを介して、システムバス６２１に接続される。モニタに加えて、コンピュータは、出力周辺インタフェース６９５を通して接続することができる、スピーカ６９７及びプリンタ６９６などの他の周辺出力デバイスも包含することができる。
【００７９】
コンピュータ６１０は、リモートコンピュータ６８０などの１つ又は複数のリモートコンピュータへの論理接続を用いたネットワーク化環境で動作することができる。リモートコンピュータ６８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、又は他の共通ネットワークノードでもよく、及び一般的に、図６ではメモリストレージデバイス６８１のみが図示されているが、コンピュータ６１０に関連して上記した素子の多く又は全てを包含する。図６に描かれる論理接続は、ローカルエリアネットワーク（ＬＡＮ）６７１及び広域ネットワーク（ＷＡＮ）６７３を包含するが、他のネットワークも包含してもよい。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、及びインターネットにおいて、ありふれたものである。
【００８０】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ６１０は、ネットワークインタフェース又はアダプタ６７０を通してＬＡＮ６７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ６１０は、一般的に、モデム６７２、又はインターネットなどのＷＡＮ６７３上で通信を確立するための他の手段を包含する。内部又は外部のものでもよいモデム６７２は、ユーザ入力インタフェース６６０又は他の適宜の機構を介して、システムバス６２１に接続されてもよい。ネットワーク化環境において、コンピュータ６１０に関連して描かれたプログラムモジュール、又はそれらの一部は、リモートメモリストレージデバイスに保存されてもよい。例として、及び限定ではなく、図６は、メモリデバイス６８１に常駐しているとして、リモートアプリケーションプログラム６８５を図示する。示されるネットワーク接続は、例示的なものであり、及びコンピュータ間で通信リンクを確立する他の手段が使用されてもよいことが理解されるだろう。
【００８１】
本発明の少なくとも１つの実施形態の幾つかの態様を上記のように記載したが、様々な変更、修正、及び改良が、当業者には容易に思い付くことが理解されるものとする。
【００８２】
このような変更、修正、及び改良は、本開示の一部であることが意図され、及び本発明の精神及び範囲内であることが意図される。さらに、本発明の利点が示されるが、本明細書に記載の技術の全ての実施形態が、全ての記載した利点を包含するわけではないことが理解されるものとする。幾つかの実施形態は、本明細書において有利であると記載された何れの特徴も実施しない場合があり、場合によっては、記載された特徴の１つ又は複数が、さらなる実施形態を得るために実施されてもよい。従って、上記の記載及び図面は、単なる例である。
【００８３】
本明細書に記載の技術の上記実施形態は、多数のやり方の何れで実施されてもよい。例えば、これらの実施形態は、ハードウェア、ソフトウェア、又はそれらの組み合わせを用いて実施されてもよい。ソフトウェアで実施される場合には、ソフトウェアコードは、単一のコンピュータにおいて提供されていようと、複数のコンピュータ間で分散されていようと、任意の適宜のプロセッサ又は一群のプロセッサ上で実行することができる。このようなプロセッサは、集積回路として実施されてもよく、業界において、ＣＰＵチップ、ＧＰＵチップ、マイクロプロセッサ、マイクロコントローラ、又はコプロセッサなどの名称で知られている市販の集積回路コンポーネントを包含する集積回路コンポーネントにおいて、１つ又は複数のプロセッサを有する。代替的に、プロセッサは、ＡＳＩＣなどのカスタム回路、又はプログラマブル論理デバイスの構成に起因するセミカスタム回路において実施されてもよい。またさらなる代替手段として、プロセッサは、市販、セミカスタム、或いはカスタムであろうと、より大きな回路又は半導体デバイスの一部であってもよい。ある具体例として、幾つかの市販のマイクロプロセッサは、複数のコアの１つ又はサブセットがプロセッサを構成することができるように、複数のコアを有する。しかし、プロセッサは、任意の適宜のフォーマットの回路を使用して実施することができる。
【００８４】
さらに、コンピュータは、ラックマウント式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、又はタブレットコンピュータなどの多数の形態の何れかで具現化されてもよいことが理解されるものとする。追加的に、コンピュータは、携帯情報端末（ＰＤＡ）、スマートフォン、又は任意のその他の適宜のポータブル又は固定電子デバイスを包含する、一般にコンピュータとは見なされないが、適宜の処理能力を備えたデバイスに組み込まれてもよい。
【００８５】
また、コンピュータは、１つ又は複数の入力デバイス及び出力デバイスを有していてもよい。これらのデバイスは、特に、ユーザインタフェースを提示するために使用することができる。ユーザインタフェースを提供するために使用することができる出力デバイスの例には、出力の視覚的表現のためのプリンタ又はディスプレイスクリーン、及び出力の可聴表現のためのスピーカ又は他の音生成デバイスが包含される。ユーザインタフェースに使用することができる入力デバイスの例には、キーボード、並びにマウス、タッチパッド、及びデジタイザタブレットなどのポインティングデバイスが包含される。別の例として、コンピュータは、音声認識により、又は他の可聴フォーマットで入力情報を受信してもよい。
【００８６】
このようなコンピュータは、企業ネットワーク又はインターネットなどのローカルエリアネットワーク又は広域ネットワークを包含する、任意の適宜の形態の１つ又は複数のネットワークによって相互接続することができる。このようなネットワークは、任意の適宜の技術に基づいてもよく、及び任意の適宜のプロトコルに従って動作してもよく、及び無線ネットワーク、有線ネットワーク、又は光ファイバネットワークを包含してもよい。
【００８７】
また、本明細書に概要が述べられる様々な方法又はプロセスは、様々なオペレーティングシステム又はプラットフォームの何れか１つを用いる１つ又は複数のプロセッサに対して実行可能なソフトウェアとして符号化されてもよい。追加的に、このようなソフトウェアは、多数の適宜のプログラミング言語及び／又はプログラミング又はスクリプト作成ツールの何れかを使用して書かれてもよく、及びフレームワーク又は仮想マシンに対して実行される実行可能マシン語コード又は中間コードとしてコンパイルされてもよい。
【００８８】
この点において、本発明は、１つ又は複数のコンピュータ又は他のプロセッサに対して実行されると、上述の本発明の様々な実施形態を実施する方法を行う１つ又は複数のプログラムでエンコードされたコンピュータ可読ストレージ媒体（又は複数のコンピュータ可読媒体）（例えば、コンピュータメモリ、１つ又は複数のフロッピーディスク、コンパクトディスク（ＣＤ）、光ディスク、デジタルビデオディスク（ＤＶＤ）、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイ又は他の半導体デバイスにおける回路構成、又は他の有形コンピュータストレージ媒体）として具現化されてもよい。上記の例から明らかなように、コンピュータ可読ストレージ媒体は、非一時的な形態でコンピュータ実行可能命令を提供するのに十分な時間の間、情報を保持することができる。このような１つ又は複数のコンピュータ可読ストレージ媒体は、それ（ら）に保存された１つ又は複数のプログラムを、上述のような本発明の様々な態様を実施するために、１つ又は複数の異なるコンピュータ又は他のプロセッサにロードすることができるように、可搬であってもよい。本明細書においては、「コンピュータ可読ストレージ媒体」という用語は、製品（すなわち、製造物）又はマシンであると見なすことができる非一時的コンピュータ可読媒体のみを網羅する。代替的又は追加的に、本発明は、伝搬信号などの、コンピュータ可読ストレージ媒体以外のコンピュータ可読媒体として具現化されてもよい。
【００８９】
「プログラム」又は「ソフトウェア」という用語は、本明細書で用いられる場合、上述のような本発明の様々な態様を実施するようにコンピュータ又は他のプロセッサをプログラムするために使用することができる、あらゆるタイプのコンピュータコード又はコンピュータ実行可能命令のセットを指すために総称的に使用される。追加的に、本実施形態のある態様によれば、実行されると、本発明の方法を行う１つ又は複数のコンピュータプログラムは、単一のコンピュータ又はプロセッサに常駐する必要はなく、本発明の様々な態様を実施するために、多数の異なるコンピュータ又はプロセッサ間で、モジュラー方式で分散されてもよいことが理解されるものとする。
【００９０】
コンピュータ実行可能命令は、１つ又は複数のコンピュータ又は他のデバイスによって実行される、プログラムモジュールなどの多くの形態のものでもよい。一般に、プログラムモジュールには、特定のタスクを行う、又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが包含される。一般的に、プログラムモジュールの機能性は、様々な実施形態において、要望通りに組み合わせられてもよいし、或いは分散されてもよい。
【００９１】
また、データ構造は、任意の適宜の形態でコンピュータ可読媒体に保存されてもよい。図示を簡単にするために、データ構造は、データ構造内の場所によって関連したフィールドを有して示される場合がある。このような関係は、同様に、フィールドのストレージにフィールド間の関係を伝達するコンピュータ可読媒体内の場所を割り当てることによって、達成することができる。但し、ポインタ、タグ、又はデータ要素間の関係を確立する他の機構の使用によることを包含する、任意の適宜の機構を使用して、データ構造のフィールドにおける情報間の関係を確立してもよい。
【００９２】
本発明の様々な態様は、単独で、組み合わせて、又は上記に記載した実施形態において具体的に述べられていない様々な配置で使用されてもよく、従って、その適用において、上記の説明に記載された、又は図面に図示されたコンポーネントの詳細及び配置に限定されない。例えば、ある実施形態に記載した態様は、任意の様式で、他の実施形態に記載した態様と組み合わせることができる。
【００９３】
また、本発明は、一例を提供した方法として具現化されてもよい。この方法の一部として行われるアクトは、任意の適宜のやり方で、順序付けが行われてもよい。従って、アクトが、図示されたものとは異なる順序で（これは、説明のための実施形態では、逐次的なアクトとして示されたとしても、幾つかのアクトを同時に行うことを包含してもよい）行われる実施形態が構築されてもよい。
【００９４】
さらに、幾つかの行為は、「ユーザ」によって行われると記載される。「ユーザ」は、一人の個人である必要はなく、及び幾つかの実施形態では、「ユーザ」に帰する行為は、複数の個人から成るチーム及び／又はコンピュータ支援ツール又は他の機構と組み合わせた個人によって行われてもよいことが理解されるものとする。
【００９５】
クレーム要素を修飾する、クレームにおける「第１の」、「第２の」、「第３の」などの序数用語の使用は、それ自体は、１つのクレーム要素の別のクレーム要素に対する優先、先行、又は順序、又は方法のアクトが行われる時間的順序を暗示せず、ある名称を有する１つのクレーム要素を、同じ名称（序数用語の使用を除き）を有する別の要素と区別するための単なるラベルとして使用することにより、これらのクレーム要素が区別される。
【００９６】
また、本明細書において使用される表現及び用語は、説明目的のものであり、及び限定として見なされるものではない。本明細書における、「包含する（ｉｎｃｌｕｄｉｎｇ）」、「含む（ｃｏｍｐｒｉｓｉｎｇ）」、又は「有する（ｈａｖｉｎｇ）」、「含有する（ｃｏｎｔａｉｎｉｎｇ）」、「関与する（ｉｎｖｏｌｖｉｎｇ）」、及びそれらのバリエーションの使用は、その後にリストされるアイテム及びそれらの均等物、並びに追加のアイテムを網羅することを意味する。
【符号の説明】
【００９７】
６００  コンピューティングシステム環境
６１０  コンピュータ
６２０  処理装置
６２１  システムバス
６３０  システムメモリ
６３３  基本入出力システム
６３４  オペレーティングシステム
６３５  アプリケーションプログラム
６３６  プログラムモジュール
６３７  プログラムデータ
６４０  インタフェース
６４１  ハードディスクドライブ
６４４  オペレーティングシステム
６４５  アプリケーションプログラム
６４６  プログラムモジュール
６４７  プログラムデータ
６５０  インタフェース
６５１  磁気ディスクドライブ／フラッシュドライブ
６５２  不揮発性メモリ
６５５  光ディスクドライブ
６５６  不揮発性光ディスク
６６０  ユーザ入力インタフェース
６６１  ポインティングデバイス
６６２  キーボード
６７０  アダプタ
６７２  モデム
６８０  リモートコンピュータ
６８１  メモリデバイス
６８１  メモリストレージデバイス
６８５  リモートアプリケーションプログラム
６９０  ビデオインタフェース
６９１  モニタ
６９５  出力周辺インタフェース
６９６  プリンタ
６９７  スピーカ
【図１】
2021514500.tif 000003
【図２Ａ】
2021514500.tif 000004
【図２Ｂ】
2021514500.tif 000005
【図２Ｃ】
2021514500.tif 000006
【図２Ｄ】
2021514500.tif 000007
【図３Ａ】
2021514500.tif 000008
【図３Ｂ】
2021514500.tif 000009
【図３Ｃ】
2021514500.tif 000010
【図４Ａ】
2021514500.tif 000011
【図４Ｂ】
2021514500.tif 000012
【図４Ｃ】
2021514500.tif 000013
【図５Ａ】
2021514500.tif 000014
【図５Ｂ】
2021514500.tif 000015
【図５Ｃ】
2021514500.tif 000016
【図５Ｄ】
2021514500.tif 000017
【図６】
2021514500.tif 000018
【国際調査報告】
2021514500.tif 000019
2021514500.tif 000020
2021514500.tif 000021
2021514500.tif 000022