(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】データ要素間の関係を決定するためのシステム及び方法
(51)【国際特許分類】
G06F 16/21 20190101AFI20240409BHJP
G06F 16/248 20190101ALI20240409BHJP
【FI】
G06F16/21
G06F16/248
【外国語出願】
(21)【出願番号】P 2022134920
(22)【出願日】2022-08-26
(62)【分割の表示】P 2019524086の分割
【原出願日】2017-11-09
【審査請求日】2022-09-22
(32)【優先日】2016-11-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】509123208
【氏名又は名称】アビニシオ テクノロジー エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ゴウルド,ジョエル
(72)【発明者】
【氏名】ラディヴォイェヴィック,ドゥサン
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】米国特許出願公開第2010/0138431(US,A1)
【文献】米国特許出願公開第2015/0012478(US,A1)
【文献】特表2012-510689(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実行される方法であって、
少なくとも1つのコンピュータハードウェアプロセッサを用いて、複数の物理的データ要素間の関係を表す第1のデータリネージを取得することと、
前記少なくとも1つのコンピュータハードウェアプロセッサを用い、且つ、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得すること
であって、前記第2のデータリネージは、前記第1のデータリネージとは異なる、ことと、
前記少なくとも1つのコンピュータハードウェアプロセッサと、
前記複数の物理的データ要素の少なくとも幾つか及び前記複数のビジネスデータ要素の少なくとも幾つかに関連付けられるメタデータとを用いて、前記第1のデータリネージの前記複数の物理的データ要素の少なくとも幾つかと、前記第2のデータリネージの前記複数のビジネスデータ要素の少なくとも幾つかとの間の関連を
生成することと、
前記少なくとも1つのコンピュータハードウェアプロセッサを用い、且つ、前記複数の物理的データ要素
の少なくとも幾つかと、前記複数のビジネスデータ要素
の少なくとも幾つかとの間の前記関連に基づいて、
前記第1のデータリネージ、前記第2のデータリネージ、及び前記関連の間に一つ以上の相違があるかどうかを決定することと、
を含む、方法。
【請求項2】
前記第1のデータリネージ、前記第2のデータリネージ、及び前記関連の間に一つ以上の相違があるかどうかを決定することは、
一致又は不一致があるかどうかを示す前記第2のデータリネージの視覚化を表示することを含む、請求項1に記載の方法。
【請求項3】
前記第2のデータリネージが、2つのビジネスデータ要素間の第1の依存性を表す第1のリンクを含み、及び前記第2のデータリネージの前記視覚化を表示することが、前記第1の依存性に対応した前記第1のデータリネージにおける依存性が存在する場合には、ある様式で、及び前記第1の依存性に対応した前記第1のデータリネージにおける依存性が存在しない場合には、別の様式で前記リンクを表示することを含む、請求項2に記載の方法。
【請求項4】
前記第1のデータリネージを取得することが、前記複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析することを含む、請求項1~3の何れかに記載の方法。
【請求項5】
前記第1のデータリネージを取得することが、前記複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することを含む、請求項1~4の何れかに記載の方法。
【請求項6】
前記少なくとも1つのコンピュータプログラムが、データフローグラフとして実施されるコンピュータプログラムを含む、請求項4又は5に記載の方法。
【請求項7】
前記第1のデータリネージの前記複数の物理的データ要素の前記少なくとも幾つかと、前記第2のデータリネージの前記複数のビジネスデータ要素の前記少なくとも幾つかとの間の前記関連を
生成することが、グラフィカルユーザインタフェースを介して提供されるユーザ入力に基づいて、前記関連を生成することを含む、請求項1~6の何れか1項に記載の方法。
【請求項8】
前記第1のデータリネージ、前記第2のデータリネージ、及び前記関連の間に一つ以上の相違があるかどうかを決定することは、
前記第1のデータリネージと前記第2のデータリネージとの間の一致又は相違のインディケーションを生成することを含む、請求項1~
7の何れか1項に記載の方法。
【請求項9】
前記複数の物理的データ要素が、第1の物理的データ要素を含み、
前記複数のビジネスデータ要素が、第1のビジネスデータ要素を含み、
前記関連が、前記第1の物理的データ要素及び前記第1のビジネスデータ要素が関連付けられることを示し、及び
前記決定が、前記第1のデータリネージにおいて、前記第1の物理的データ要素を取得するために使用されていると識別されたデータの1つ又は複数のソースの第1のセットが、前記第2のデータリネージにおいて、前記第1のビジネスデータ要素を取得するために使用されていると識別されたデータの1つ又は複数のソースの第2のセットとは異なることを決定することを含む、請求項
1に記載の方法。
【請求項10】
少なくとも1つのコンピュータハードウェアプロセッサと、
前記少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、前記少なくとも1つのコンピュータハードウェアプロセッサに請求項1~
9の何れか1項に記載の前記方法を行わせるプロセッサ実行可能命令を保存した、少なくとも1つの非一時的コンピュータ可読ストレージ媒体と、
を含む、データ処理システム。
【請求項11】
少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、前記少なくとも1つのコンピュータハードウェアプロセッサに請求項1~
9の何れか1項に記載の前記方法を行わせるプロセッサ実行可能命令を保存した、少なくとも1つの非一時的コンピュータ可読ストレージ媒体。
【請求項12】
1つ又は複数のビジネスデータ要素に関するデータ品質の尺度を決定するための、
コンピュータにより実行される、方法であって、
少なくとも1つのコンピュータハードウェアプロセッサを用いて、複数の物理的データ要素間の関係を表す第1のデータリネージを取得することと、
少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得すること
であって、前記第2のデータリネージは、前記第1のデータリネージとは異なる、ことと、
前記少なくとも1つのコンピュータハードウェアプロセッサと、前記複数の物理的データ要素の少なくとも幾つか及び前記複数のビジネスデータ要素の少なくとも幾つかに関連付けられるメタデータとを用いて、前記第1のデータリネージの前記複数の物理的データ要素の少なくとも幾つかと、前記第2のデータリネージの前記複数のビジネスデータ要素の少なくとも幾つかとの間の関連を
生成することであって、前記関連が、前記複数の物理的データ要素の第1の物理的データ要素と、前記複数のビジネスデータ要素の第1のビジネスデータ要素との間の関連を包含することと、
少なくとも部分的に、前記第1の物理的データ要素に関連付けられた少なくとも1つのデータ品質尺度、及び前記第1の物理的データ要素と前記第1のビジネスデータ要素との間の前記関連に基づいて、前記第1のビジネスデータ要素に関するデータ品質の尺度を決定することと、
を含む、方法。
【請求項13】
前記第1のビジネスデータ要素に関する前記データ品質の尺度を決定することが、
前記第1の物理的データ要素のデータのデータ品質の分析を、少なくとも部分的に、前記第1の物理的データ要素の前記データと関連付けられた1つ又は複数のデータ品質ルールに基づいて行い、前記第1の物理的データ要素に関連付けられた前記少なくとも1つのデータ品質尺度を取得することを含む、請求項
12に記載の方法。
【請求項14】
前記第1のビジネス
データ要素に関する前記データ品質の尺度が、確度、完全性、及び妥当性の1つ又は複数の尺度を包含する、請求項
12又は13に記載の方法。
【請求項15】
前記第1のデータリネージを取得することが、前記第1のデータリネージが生成された後に、前記第1のデータリネージを受信することを含む、請求項
12~14の何れかに記載の方法。
【請求項16】
前記第1のデータリネージを取得することが、
前記第1のデータリネージが生成された後に、前記第1のデータリネージを受信することを含む、請求項
12~15の何れかに記載の方法。
【請求項17】
前記第1のデータリネージを生成することが、前記複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析することを含む、請求項
16に記載の方法。
【請求項18】
前記第1のデータリネージを生成することが、前記複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された
少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することを含む、請求項
16に記載の方法。
【請求項19】
前記少なくとも1つのコンピュータプログラムが、データフローグラフとして実施されるコンピュータプログラムを含む、請求項
17又は18に記載の方法。
【請求項20】
前記第1のデータリネージの前記複数の物理的データ要素の前記少なくとも幾つかと、前記第2のデータリネージの前記複数のビジネスデータ要素の前記少なくとも幾つかとの間の前記関連を
生成することが、前記第1の物理的データ要素と前記第1のビジネスデータ要素とを関連付けるユーザ入力に基づいて、前記第1の物理的データ要素と前記第1のビジネスデータ要素との間の前記関連を生成することが行われることを含む、請求項
12~19の何れかに記載の方法。
【請求項21】
少なくとも1つのコンピュータハードウェアプロセッサと、
前記少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、前記少なくとも1つのコンピュータハードウェアプロセッサに請求項
12~20の何れか1項に記載の前記方法を行わせるプロセッサ実行可能命令を保存した、少なくとも1つの非一時的コンピュータ可読ストレージ媒体と、
を含む、データ処理システム。
【請求項22】
少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、前記少なくとも1つのコンピュータハードウェアプロセッサに請求項
12~20の何れか1項に記載の前記方法を行わせるプロセッサ実行可能命令を保存した、少なくとも1つの非一時的コンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、米国特許法第119条(e)に基づいて、本明細書にその全体が援用される、2016年11月9日に出願された、「データ要素間の関係を決定するためのシステム及び方法」というタイトルの米国仮特許出願第62/419,826号明細書の便益を主張するものである。
【背景技術】
【0002】
大量のデータを管理する組織は、管理されているデータの少なくとも一部に関するデータリネージを取得することを望むことが多い。管理されているデータセットに関するデータリネージは、どのようにデータセットが取得されたか、どのようにデータセットが経時的に変化した可能性があるか、及び/又はどのようにデータセットが1つ又は複数のデータ処理システム及び/又はプロセスによって使用された可能性があるかを示す情報を包含することができる。データセットに関するデータリネージは、どのようにデータセットが取得されたかを示す上流リネージ情報を包含することができる。例えば、上流リネージ情報は、データセットがそこから取得された1つ又は複数のデータソース、及び/又はデータセットに適用された1つ又は複数のデータ処理動作を識別することができる。追加的又は代替的に、データセットに関するデータリネージは、データセットに依存する、及び/又はデータセットを使用する、1つ又は複数の他のデータセット、プロセス、及び/又はアプリケーションを示す下流リネージ情報を包含することができる。組織は、例えば、1つ又は複数のデータレコード、データベース内の1つ又は複数のデータテーブル、1つ又は複数のデータスプレッドシート、1つ又は複数のデータファイル、単一のデータ値、1つ又は複数のレポートを作成するために使用されるデータ、1つ又は複数のアプリケーションプログラムによってアクセスされるデータ、及び/又は任意のその他の適宜のデータセットなどの、任意の適宜のデータセットに関するリネージ情報を取得することを望む場合がある。
【0003】
組織のデータ処理システムによって管理されるデータに関するリネージ情報の多くの用途がある。そのような用途の例には、限定されないが、リスクの軽減、規制順守義務の検証、ビジネスプロセスの合理化、データの保全、ソースにまで遡ってエラーを突き止めること、及びデータに対する変更が、下流エラーを引き起こし得るか否かを決定することが包含される。場合によっては、不完全な、又は間違ったリネージ情報が、レコードが誤って扱われること、不正確なデータが組織のメンバーに提供されること、非効率的なシステム動作、システム障害、不注意によるエラーの導入、エラーの非効率的な解決、規制プロセスに従う難しさなどの、組織に対するマイナスの実際的な影響をもたらし得る。企業組織の場合、このような影響は、すぐに、顧客及び/又は監督機関の不満につながり得る。従って、リネージ情報が、正しく且つ完全なものであることが重要である。
【発明の概要】
【課題を解決するための手段】
【0004】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサと、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、複数の物理的データ要素間の関係を表す第1のデータリネージを取得することであって、第1のデータリネージが、少なくとも部分的に、(a)複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び(b)少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって生成されることと、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得することと、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得することと、複数の物理的データ要素と、複数のビジネスデータ要素との間の関連に基づいて、第1のデータリネージと第2のデータリネージとの間の一致又は相違のインディケーションを生成することと、を少なくとも1つのコンピュータハードウェアプロセッサに行わせるプロセッサ実行可能命令を保存した、少なくとも1つの非一時的コンピュータ可読ストレージ媒体と、を含むデータ処理システムに関する。
【0005】
幾つかの実施形態では、一致又は相違のインディケーションを生成することは、一致又は相違のインディケーションを示す第2のデータリネージの視覚化を表示することを含む。
【0006】
先行する実施形態の何れかを包含する幾つかの実施形態では、第2のデータリネージは、2つのビジネスデータ要素間の第1の依存性を表す第1のリンクを含み、及び第2のデータリネージの視覚化を表示することは、第1の依存性に対応した第1のデータリネージにおける依存性が存在する場合には、ある様式で、及び第1の依存性に対応した第1のデータリネージにおける依存性が存在しない場合には、別の様式でリンクを表示することを含む。
【0007】
先行する実施形態の何れかを包含する幾つかの実施形態では、一致又は相違のインディケーションを生成することは、複数の物理的データ要素と複数のビジネスデータ要素との間の関連に基づいて、第1のデータリネージと、第2のデータリネージと、取得された関連との間に、1つ又は複数の相違が存在するか否かを決定することを含む。
【0008】
先行する実施形態の何れかを包含する幾つかの実施形態では、第1のデータリネージを取得することは、少なくとも部分的に、少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって、第1のデータリネージを生成することを含む。
【0009】
先行する実施形態の何れかを包含する幾つかの実施形態では、第1のデータリネージを取得することは、少なくとも1つのコンピュータプログラムのソースコードを分析することを含む。
【0010】
幾つかの実施形態では、第1のデータリネージを取得することは、少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することを含む。
【0011】
先行する実施形態の何れかを包含する幾つかの実施形態では、少なくとも1つのコンピュータプログラムは、データフローグラフとして実施されるコンピュータプログラムを含む。
【0012】
先行する実施形態の何れかを包含する幾つかの実施形態では、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得することは、グラフィカルユーザインタフェースを介して提供されるユーザ入力に基づいて、関連を生成することを含む。
【0013】
先行する実施形態の何れかを包含する幾つかの実施形態では、複数の物理的データ要素は、第1の物理的データ要素を含み、複数のビジネスデータ要素は、第1のビジネスデータ要素を含み、関連は、第1の物理的データ要素及び第1のビジネスデータ要素が関連付けられることを示し、及び決定は、第1のデータリネージにおいて、第1の物理的データ要素を取得するために使用されていると識別されたデータの1つ又は複数のソースの第1のセットが、第2のデータリネージにおいて、第1のビジネスデータ要素を取得するために使用されていると識別されたデータの1つ又は複数のソースの第2のセットとは異なることを決定することを含む。
【0014】
先行する実施形態の何れかを包含する幾つかの実施形態では、第1のデータリネージを取得するアクト、及び相違が存在するか否かを決定するアクトは、指定されたスケジュールに従って、繰り返し行われる。
【0015】
先行する実施形態の何れかを包含する幾つかの実施形態では、関連は、複数の物理的データ要素の第1の物理的データ要素と、複数のビジネスデータ要素の第1のビジネスデータ要素との間の関連を含み、及び少なくとも1つのコンピュータハードウェアプロセッサは、少なくとも部分的に、第1の物理的データ要素と、第1のビジネスデータ要素との間の関連に基づいて、第1のビジネスデータ要素に関するデータ品質の尺度を決定することを行うようにさらに構成される。
【0016】
先行する実施形態の何れかを包含する幾つかの実施形態では、第1のビジネスデータ要素に関するデータ品質の尺度を決定することは、第1の物理的データ要素のデータのデータ品質の分析を、少なくとも部分的に、第1の物理的データ要素のデータと関連付けられた1つ又は複数のデータ品質ルールに基づいて行うことを含む。
【0017】
先行する実施形態の何れかを包含する幾つかの実施形態では、第1のビジネス要素に関するデータ品質の尺度は、確度、完全性、及び妥当性の1つ又は複数の尺度を包含する。
【0018】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサを用いて、複数の物理的データ要素間の関係を表す第1のデータリネージを取得することであって、第1のデータリネージが、少なくとも部分的に、(a)複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び(b)少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって生成されることと、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得することと、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得することと、複数の物理的データ要素と、複数のビジネスデータ要素との間の関連に基づいて、第1のデータリネージと第2のデータリネージとの間の一致又は相違のインディケーションを生成することと、を行うことを含む方法に関する。
【0019】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、複数の物理的データ要素間の関係を表す第1のデータリネージを取得することであって、第1のデータリネージが、少なくとも部分的に、(a)複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び(b)少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって生成されることと、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得することと、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得することと、複数の物理的データ要素と、複数のビジネスデータ要素との間の関連に基づいて、第1のデータリネージと第2のデータリネージとの間の一致又は相違のインディケーションを生成することと、を少なくとも1つのコンピュータハードウェアプロセッサに行わせるプロセッサ実行可能命令を保存した、少なくとも1つの非一時的コンピュータ可読ストレージ媒体に関する。
【0020】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサによる実行のためのプロセッサ実行可能命令を保存する、少なくとも1つの非一時的コンピュータ可読ストレージ媒体であって、プロセッサ実行可能命令が、複数の物理的データ要素間の関係を表す第1のデータリネージを取得する手段であって、第1のデータリネージが、少なくとも部分的に、(a)複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び(b)少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって生成される、手段と、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得する手段と、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得する手段と、複数の物理的データ要素と、複数のビジネスデータ要素との間の関連に基づいて、第1のデータリネージと第2のデータリネージとの間の一致又は相違のインディケーションを生成する手段と、を含む、少なくとも1つの非一時的コンピュータ可読ストレージ媒体に関する。
【0021】
幾つかの実施形態は、第1のデータリネージと、第2のデータリネージと、第1及び第2のデータリネージのデータ要素間の関連との間に相違が存在するか否かを決定するためのデータ処理システムに関する。このシステムは、少なくとも1つのコンピュータハードウェアプロセッサと、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、複数の物理的データ要素間の関係を表す第1のデータリネージを取得することであって、第1のデータリネージが、少なくとも部分的に、(a)複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び(b)少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって生成されることと、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得することと、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得することと、複数の物理的データ要素と、複数のビジネスデータ要素との間の関連に基づいて、第1のデータリネージと、第2のデータリネージと、取得された関連との間に1つ又は複数の相違が存在するか否かを決定することと、を少なくとも1つのコンピュータハードウェアプロセッサに行わせるプロセッサ実行可能命令を保存した、少なくとも1つの非一時的コンピュータ可読ストレージ媒体とを含む。
【0022】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサを用いて、複数の物理的データ要素間の関係を表す第1のデータリネージを取得することであって、第1のデータリネージが、少なくとも部分的に、(a)複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び(b)少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって生成されることと、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得することと、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得することと、複数の物理的データ要素と、複数のビジネスデータ要素との間の関連に基づいて、第1のデータリネージと、第2のデータリネージと、取得された関連との間に、1つ又は複数の相違が存在するか否かを決定することと、を行うことを含む方法に関する。
【0023】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、複数の物理的データ要素間の関係を表す第1のデータリネージを取得することであって、第1のデータリネージが、少なくとも部分的に、(a)複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び(b)少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって生成されることと、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得することと、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得することと、複数の物理的データ要素と、複数のビジネスデータ要素との間の関連に基づいて、第1のデータリネージと、第2のデータリネージと、取得された関連との間に1つ又は複数の相違が存在するか否かを決定することと、を少なくとも1つのコンピュータハードウェアプロセッサに行わせるプロセッサ実行可能命令を保存した、少なくとも1つの非一時的コンピュータ可読ストレージ媒体に関する。
【0024】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサによる実行のためのプロセッサ実行可能命令を保存する、少なくとも1つの非一時的コンピュータ可読ストレージ媒体であって、プロセッサ実行可能命令が、複数の物理的データ要素間の関係を表す第1のデータリネージを取得する手段であって、第1のデータリネージが、少なくとも部分的に、(a)複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び(b)少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって生成される、手段と、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得する手段と、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得する手段と、複数の物理的データ要素と、複数のビジネスデータ要素との間の関連に基づいて、第1のデータリネージと、第2のデータリネージと、取得された関連との間に1つ又は複数の相違が存在するか否かを決定する手段と、を含む、少なくとも1つの非一時的コンピュータ可読ストレージ媒体に関する。
【0025】
幾つかの実施形態は、1つ又は複数のビジネスデータ要素に関するデータ品質の尺度を決定するためのデータ処理システムに関する。このシステムは、少なくとも1つのコンピュータハードウェアプロセッサと、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、複数の物理的データ要素間の関係を表す第1のデータリネージを取得することであって、第1のデータリネージが、少なくとも部分的に、複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって生成されることと、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得することと、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得することであって、関連が、複数の物理的データ要素の第1の物理的データ要素と、複数のビジネスデータ要素の第1のビジネスデータ要素との間の関連を包含することと、少なくとも部分的に、第1の物理的データ要素に関連付けられた少なくとも1つのデータ品質尺度、及び第1の物理的データ要素と第1のビジネスデータ要素との間の関連に基づいて、第1のビジネスデータ要素に関するデータ品質の尺度を決定することと、を少なくとも1つのコンピュータハードウェアプロセッサに行わせるプロセッサ実行可能命令を保存した、少なくとも1つの非一時的コンピュータ可読ストレージ媒体と、を含む。
【0026】
幾つかの実施形態では、第1のビジネスデータ要素に関するデータ品質の尺度を決定することは、第1の物理的データ要素のデータのデータ品質の分析を、少なくとも部分的に、第1の物理的データ要素のデータと関連付けられた1つ又は複数のデータ品質ルールに基づいて行うことにより、第1の物理的データ要素に関連付けられた少なくとも1つのデータ品質尺度が取得されることを含む。
【0027】
幾つかの実施形態では、第1のビジネス要素に関するデータ品質の尺度は、確度、完全性、及び妥当性の1つ又は複数の尺度を包含する、請求項18に記載のデータ処理システム。
【0028】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサを用いて、複数の物理的データ要素間の関係を表す第1のデータリネージを取得することであって、第1のデータリネージが、少なくとも部分的に、複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって生成されることと、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得することと、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得することであって、関連が、複数の物理的データ要素の第1の物理的データ要素と、複数のビジネスデータ要素の第1のビジネスデータ要素との間の関連を包含することと、少なくとも部分的に、第1の物理的データ要素に関連付けられた少なくとも1つのデータ品質尺度、及び第1の物理的データ要素と第1のビジネスデータ要素との間の関連に基づいて、第1のビジネスデータ要素に関するデータ品質の尺度を決定することと、を行うことを含む方法に関する。
【0029】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサによって実行されると、複数の物理的データ要素間の関係を表す第1のデータリネージを取得することであって、第1のデータリネージが、少なくとも部分的に、複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって生成されることと、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得することと、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得することであって、関連が、複数の物理的データ要素の第1の物理的データ要素と、複数のビジネスデータ要素の第1のビジネスデータ要素との間の関連を包含することと、少なくとも部分的に、第1の物理的データ要素に関連付けられた少なくとも1つのデータ品質尺度、及び第1の物理的データ要素と第1のビジネスデータ要素との間の関連に基づいて、第1のビジネスデータ要素に関するデータ品質の尺度を決定することと、を少なくとも1つのコンピュータハードウェアプロセッサに行わせるプロセッサ実行可能命令を保存した、少なくとも1つの非一時的コンピュータ可読ストレージ媒体に関する。
【0030】
幾つかの実施形態は、少なくとも1つのコンピュータハードウェアプロセッサによる実行のためのプロセッサ実行可能命令を保存する、少なくとも1つの非一時的コンピュータ可読ストレージ媒体であって、プロセッサ実行可能命令が、複数の物理的データ要素間の関係を表す第1のデータリネージを取得する手段であって、第1のデータリネージが、少なくとも部分的に、複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された少なくとも1つのコンピュータプログラムのソースコードを分析すること、及び少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することの少なくとも一方を行うことによって生成される、手段と、少なくとも部分的にユーザ入力に基づいて、複数のビジネスデータ要素間の関係を表す第2のデータリネージを取得する手段と、第1のデータリネージの複数の物理的データ要素の少なくとも幾つかと、第2のデータリネージの複数のビジネスデータ要素の少なくとも幾つかとの間の関連を取得する手段であって、関連が、複数の物理的データ要素の第1の物理的データ要素と、複数のビジネスデータ要素の第1のビジネスデータ要素との間の関連を包含する、手段と、少なくとも部分的に、第1の物理的データ要素に関連付けられた少なくとも1つのデータ品質尺度、及び第1の物理的データ要素と第1のビジネスデータ要素との間の関連に基づいて、第1のビジネスデータ要素に関するデータ品質の尺度を決定する手段と、を含む、少なくとも1つの非一時的コンピュータ可読ストレージ媒体に関する。
【0031】
上記は、添付の特許請求の範囲によって定義される本発明の非限定的概要である。
【0032】
以下の図面を参照して、様々な態様及び実施形態を説明する。これらの図面は、必ずしも一定の縮尺で描かれていないことが理解されるものとする。複数の図面に現れるアイテムは、それらが現れる全ての図面において、同じ又は類似の参照番号で示される。
【図面の簡単な説明】
【0033】
【
図1】本明細書に記載の技術の幾つかの実施形態が動作し得る、説明のためのコンピューティング環境のブロック図である。
【
図2】本明細書に記載の技術の幾つかの実施形態に従った、説明のための導出データリネージの説明のためのグラフィカル表現である。
【
図3A】本明細書に記載する技術の幾つかの実施形態に従った、ユーザ指定リネージと導出データリネージとの間の関連を図示する図である。
【
図3B】本明細書に記載する技術の幾つかの実施形態に従った、ユーザ指定リネージと導出データリネージとの間の関連を図示する別の図である。
【
図3C】本明細書に記載する技術の幾つかの実施形態に従った、ユーザ指定リネージと導出データリネージとの間の関連を図示する別の図である。
【
図3D】本明細書に記載する技術の幾つかの実施形態に従った、ユーザ指定リネージと導出データリネージとの間の関連を図示する別の図である。
【
図4A】本明細書に記載する技術の幾つかの実施形態に従って、それによって、ビジネスデータ要素を物理的データ要素と関連付けることができるグラフィカルインタフェースを図示する図である。
【
図4B】本明細書に記載する技術の幾つかの実施形態に従って、それによって、物理的データ要素をビジネスデータ要素と関連付けることができる別のグラフィカルインタフェースを図示する図である。
【
図5】本明細書に記載する技術の幾つかの実施形態に従った、ユーザ指定データリネージと導出データリネージとの間の関連を取得し、及び取得した関連を使用して、ユーザ指定データリネージと、導出データリネージと、それらの間の関連との間に相違が存在するか否かを決定するための、説明のためのプロセスのフローチャートである。
【
図6A-6B】本明細書に記載する技術の幾つかの実施形態に従った、ビジネスデータ要素「クレジットスコア」に関する情報を示す、説明のためのグラフィカルインタフェースの図である。
【
図6C】本明細書に記載する技術の幾つかの実施形態に従った、ビジネスデータ要素「クレジットスコア」に関する導出データリネージを提示する、説明のためのユーザインタフェースの図である。
【
図6D】本明細書に記載する技術の幾つかの実施形態に従った、ビジネスデータ要素「クレジットスコア」に関するユーザ指定データリネージを提示する、説明のためのユーザインタフェースの図である。
【
図6E】本明細書に記載する技術の幾つかの実施形態に従った、ビジネスデータ要素「クレジットスコア」に関するユーザ指定リネージと導出リネージとの間の相違の存在を示す、説明のためのユーザインタフェースの図である。
【
図7】本明細書に記載する技術の幾つかの実施形態の実施に使用することができる、説明のためのコンピューティングシステム環境のブロック図である。
【
図8A】本明細書に記載する技術の幾つかの実施形態に従った、ユーザ指定データリネージを提示する、説明のためのユーザインタフェースの図である。
【
図8B】本明細書に記載する技術の幾つかの実施形態に従った、
図8Aのユーザ指定データリネージにおける2つのビジネスデータ要素間の依存性に関する詳細を提供する、説明のためのユーザインタフェースの図である。
【
図8C】本明細書に記載する技術の幾つかの実施形態に従った、
図8Aのユーザ指定データリネージの一部に対応した導出データリネージを提示する、説明のためのユーザインタフェースの図である。
【
図8D】本明細書に記載する技術の幾つかの実施形態に従った、
図8Aのユーザ指定データリネージにおけるノードに関する情報を提示する、説明のためのユーザインタフェースの図である。
【
図8E】
図8Aのユーザ指定データリネージにおけるビジネスデータ要素に関連付けられた物理的データ要素に関する情報を提示する、説明のためのユーザインタフェースの図である。
【
図8F】本明細書に記載する技術の幾つかの実施形態に従った、
図8Aのユーザ指定データリネージにおける2つの他のビジネスデータ要素間の依存性に関する詳細を提供する、説明のためのユーザインタフェースの図である。
【発明を実施するための形態】
【0034】
本発明者らは、データ処理システムの確度、監査能力、効率、及び信頼性が、データ処理システムによって管理されるデータに関する正確且つ完全なリネージ情報の生成を容易にする技術によって向上することができることを認識及び理解した。そのような技術を使用して、データ処理システムにおける問題の存在を識別し、及びそれらの解決を容易にすることによって、データ処理システムの機能性を向上し、及びデータ処理エラーを減少させることができる。本発明者らはさらに、データリネージ情報を生成する従来の手法を向上させる技術を認識及び理解した。
【0035】
データリネージ情報を生成する従来の技術の幾つかは、手作業である。データリネージ情報を生成する手作業の技術の使用は、生成されるデータリネージ情報が、データリネージ情報をリクエストした人々によって理解される用語、及びそれらの人々にとって関心のある情報を包含するようにカスタマイズすることを可能にするが、非常に多くのデメリットがある。第一に、従来の手作業の技術を用いて生成されたデータリネージ情報の確度は、自動的に検証することができない。例えば、レポートのためにデータリネージを手作業で作成している人が、レポートの生成に使用されたあるデータが、ある特定のデータソース(例えば、ある特定の場所のデータベースシステム)に由来することを示す場合、このインディケーションは、手作業でこの人の仕事を再チェックすることによる以外には決して検証することができない。第二に、手作業で生成されたデータリネージ情報は、例えば、データソースの除去及び/又は追加、データの移動、データ処理論理に対する変更などにより、データ処理システムによって管理されるデータが頻繁に変化するので、すぐに古くなる。このような変化は、速い速度で生じ、これに従来の手作業のリネージ生成技術は、ついていくことができない。
【0036】
データリネージ情報を生成する自動技術は、これらの短所の幾つかに対処することができる。例えば、自動データリネージ生成技術は、生成されたデータリネージ情報が最新のものであるように繰り返し実行することができる。別の例として、生成されたデータリネージ情報は、1つ又は複数のコンピュータプログラムによって検証されてもよい。しかし、データリネージ情報を生成する自動技術も、幾つかのデメリットを有する。例えば、自動技術(例えば、データ処理システムによって管理されるデータに対して動作する1つ又は複数のアプリケーションのソースコードの分析に基づく技術)によって生み出されたデータリネージ情報は、データリネージ情報を見る人々(例えば、ビジネス関係者)によって簡単に理解されない用語(例えば、変数及びデータレコードフィールドの技術的名称)を包含し得る。別の例として、自動的に生成されたデータリネージ情報は、それを見る人々が見ることを望むよりもはるかに多い情報を包含する場合がある。例えば、自動的に生成されたデータリネージ情報は、リネージを見る人々にとって恐らく重要ではないものを包含した、データに適用された、ありとあらゆる変換に関する詳細な情報を包含し得る(例えば、「A」から始まる名字の全顧客に関する情報を抽出するキーに従ったデータレコードの分類は、名字が「Armstrong」である銀行の顧客のクレジットスコアを示すデータ値のリネージに関心のある銀行幹部にとって関心のない変換となり得る)。
【0037】
本発明者らは、手作業で取得された情報、及び自動的に取得された情報の両方が、総合的なデータリネージを改善するために使用することができる有用な情報を提供することを認識及び理解した。従って、幾つかの実施形態は、データリネージ情報を生成するための向上した技術を提供する。手作業で生成されたデータリネージ情報のみ、又は自動的に生成されたデータリネージ情報のみを使用するのではなく(これらの情報のそれぞれが、上記の欠点を包含する欠点を有する)、本発明者らによって開発され、及び本明細書に記載される技術は、(1)手作業で生成されたデータリネージ情報(本明細書では、「ユーザ指定データリネージ」、又は「ユーザ指定リネージ」、又は「規定リネージ」と呼ばれる)を取得すること、(2)自動的に生成されたデータリネージ情報(本明細書において「導出データリネージ」又は「導出リネージ」と呼ばれる)を取得すること、及び(3)ユーザ指定データリネージと導出データリネージとの間の関連を取得すること(例えば、関連を生成すること、又は以前に生成された関連にアクセスすることによって)によって、正確且つ完全なデータリネージ情報を生成することを提供する。取得した関連を使用して、どちらか一方のタイプのデータリネージ情報のみを使用した場合の上記の欠点の少なくとも幾つかに対処することができる。一例として、ユーザ指定データリネージと導出データリネージとの間の関連を使用して、ユーザ指定データリネージの確度を検証すること、及びより一般的に、これらの2つのタイプのリネージ間の相違又は不一致を識別することができる。別の例として、ユーザ指定リネージと導出データリネージとの間の関連は、多くの場合、専門用語を用いて表現される、導出データリネージの情報を、データリネージ情報の消費者がより簡単に理解しやすいビジネス用語にマッピングすることができる。さらに別の例として、ユーザ指定データリネージと導出データリネージとの間の関連を使用して、導出データリネージの確度を検証することができる。導出データリネージにおけるエラーを識別すること(例えば、ユーザ指定リネージとの不一致を用いて)により、基となるデータ処理システムの問題、それらの間の通信リンク、及び/又はデータ処理エラーの識別を可能にする。次に、このような問題を識別及び対処することにより、基となるデータ処理システムの機能性が向上し、及びデータ処理エラーが減少する。導出データリネージが、データのフローに関する非常に詳細な情報を提供するので、このような詳細な情報からエラーを見つけ出すことは、非常に難しい(それは、干し草の山から一本の針を見つけ出すことに似ている)。本明細書に記載の実施形態に従って、ユーザ指定リネージを導出データリネージと関連付けることは、導出データリネージのみでは行われないように、あらゆるデータ処理エラーの識別を容易にする。
【0038】
本発明者らによって開発され、及び本明細書に記載される技術は、データ処理システムを向上させる。第一に、本明細書に記載の技術は、多くのデータ処理システムに包含される従来のデータリネージ技術を超える改良を提供する。第二に、本明細書に記載の技術は、ユーザ指定データリネージと導出データリネージとの間の一致及び/又は相違のインディケーションの生成を可能にし、これは、一方のタイプのリネージにおけるエラーの識別を可能にし、及び結果として、データ処理システムにおけるデータ処理エラーの識別及び解決を容易にする。
【0039】
本明細書に記載の実施形態の幾つかは、データリネージ情報を生成する従来の技術に関して本発明者らが認識した上記の課題の全てに対処する。しかし、以下に記載の全ての実施形態が、これらの課題の1つ1つに対処するわけではなく、幾つかの実施形態は、これらの何れにも対処しない場合がある。そのため、本明細書に記載の技術の実施形態は、データリネージ情報を生成する従来の技術の上述の課題の全て又は何れかに対処することに限定されないことが理解されるものとする。
【0040】
幾つかの実施形態では、データ処理システムは、(1)物理的データ要素間の関係を表す導出データリネージを取得し、(2)ビジネスデータ要素間の関係を表すユーザ指定データリネージを取得し、(3)導出データリネージとユーザ指定データリネージとの間の関連を取得し(例えば、導出データリネージの物理的データ要素の少なくとも幾つかと、ユーザ指定データリネージのビジネスデータ要素の少なくとも幾つかとの間の関連を生成することによって)、及び(4)複数の物理的データ要素と、複数のビジネスデータ要素との間の関連に基づいて、第1のデータリネージと第2のデータリネージとの間の一致又は相違のインディケーションを生成するように構成されてもよい。
【0041】
幾つかの実施形態において、一致又は相違のインディケーションを生成することは、一致又は相違のインディケーションを示す第2のデータリネージの視覚化を表示することを含む。本明細書では、そのような視覚化の非限定例を
図6A~6E及び8A~8Fに提供する。例えば、ユーザ指定データリネージは、2つのビジネスデータ要素間の第1の依存性を表す第1のリンクを包含してもよく、及びユーザ指定データリネージの視覚化の表示は、第1の依存性に対応した導出データリネージの依存性が存在する場合には、ある様式で(例えば、
図8Aに示すように、太線を使用して)、及び第1の依存性に対応した導出データリネージの依存性が存在しなければ、別の様式で(例えば、
図8Aに示すように細線を使用して)、リンクを表示することを含んでもよい。
【0042】
幾つかの実施形態では、一致又は相違のインディケーションの生成は、導出データリネージとユーザ指定データリネージとの間の関連に基づいて、導出データリネージと、ユーザ指定データリネージと、導出データリネージとユーザ指定データリネージとの間の関連との間に、相違が存在するか否かを決定すること。
【0043】
幾つかの実施形態では、物理的データ要素は、データ処理システムによって保存及び/又は処理される、どのようなデータ要素であってもよい。例えば、物理的データ要素は、データレコードにおけるフィールドであってもよく、及び物理的データ要素の値は、データレコードのフィールドに保存された値であってもよい。別の例として、物理的データ要素は、テーブルにおけるセル(例えば、テーブルのある特定の行及び列に存在するセル)であってもよく、及び物理的データ要素の値は、テーブルのセルの値であってもよい。さらに別の例として、物理的データ要素は、変数(例えば、レポートにおける)であってもよく、及び物理的要素の値は、変数(例えば、レポートのある特定のインスタンスにおける)の値であってもよい。
【0044】
幾つかの実施形態では、ビジネスデータ要素は、ビジネスに関連性がある概念的量を表す、どのようなデータ要素であってもよい。ビジネスデータ要素は、ビジネスユーザに馴染みのある自然言語(例えば、ビジネス用語)を使用することによって、呼ばれてもよい(例えば、名付けられ、及び/又は識別されてもよい)。ビジネスデータ要素が表す概念的量のインスタンスである1つ又は複数の値を保存する点において、ビジネスデータ要素に対応する、1つ又は複数の物理的データ要素が存在してもよい。ビジネスデータ要素の一例は、銀行のビジネスに関連した概念的量である、銀行の顧客のクレジットスコアであってもよい。銀行の顧客のクレジットスコアを表す値を保存する、1つ又は複数の物理的データ要素(例えば、1つ又は複数のテーブル、ファイル、スプレッドシート、データストリームなどにおける)が存在してもよい。この例では、顧客のクレジットスコアが、複数の場所に保存され得るので、又はその顧客に関して複数の異なるクレジットスコア(例えば、異なる信用格付け機関によって提供された異なるクレジットスコア)が存在し得るので、ビジネスデータ要素に対応した複数のビジネスデータ要素が存在し得る。従って、単一のビジネスデータ要素に対応した1つ又は複数の物理的データ要素が存在し得る。一方、幾つかの実施形態では、ある特定の物理的データ要素に対応した単一のビジネスデータ要素のみが存在し得る。ビジネスデータ要素は、対応した物理的データ要素の値をとってもよい。
【0045】
あるビジネスデータ要素に対応した1つ又は複数の物理的要素が存在し得るが、従来のデータ処理システムは、このような対応を示す情報へのアクセスを持たない場合があることを理解されたい。このような情報へのアクセスがなければ、データ処理システムは、どの物理的データ要素が、ビジネスデータ要素に対応し、及び/又はどのビジネスデータ要素が、1つ又は複数の物理的データ要素に対応するかを自動的に識別できない場合がある。それに対して、本明細書に記載する技術の幾つかの実施形態は、物理的データ要素とビジネスデータ要素との間の関連の生成及び保存を提供する。物理的データ要素とビジネスデータ要素との間の生成された関連は、物理的データ要素とビジネスデータ要素との間の対応を示す情報を構成してもよい。幾つかの実施形態では、データ処理システムは、このような関連を使用して、どの物理的データ要素及びビジネスデータ要素が互いに対応するかを自動的に決定してもよい。
【0046】
幾つかの実施形態では、導出データリネージは、データ処理システムによって保存及び/又は処理された1つ又は複数の物理的データ要素のリネージに関する情報を包含してもよい。物理的データ要素のリネージに関する情報は、どのように物理的データ要素の値が取得されたかを示す上流リネージ情報を包含してもよい。例えば、上流リネージ情報は、それから物理的データ要素が取得されたデータ(例えば、1つ又は複数の他の物理的データ要素)、及び/又はそのデータに適用された1つ又は複数の変換を識別してもよい。物理的データ要素のリネージに関する情報は、追加的又は代替的に、物理的データ要素の値に依存した、1つ又は複数の他のデータセット、物理的データ要素、プロセス、及び/又はアプリケーションを示す下流リネージ情報を包含してもよい。
【0047】
幾つかの実施形態では、導出データリネージは、データ処理システムによって管理される複数の物理的データ要素の少なくとも幾つかにアクセスする(例えば、読み取る、書き込む、及び修正する)ように構成された少なくとも1つのコンピュータプログラムのソースコードを分析することによって取得されてもよい。ソースコード分析は、任意の適宜の静的コード分析技術、及び/又は任意の他の適宜の技術を使用することによって行われてもよい。ソースコード分析を使用して、コンピュータプログラムによって入力及び/又はアクセスされた1つ又は複数の物理的データ要素を識別し、入力及び/又はコンピュータプログラムの一部として入力を使用して行われた計算に適用された1つ又は複数の変換を識別し、及び/又はコンピュータプログラムの1つ又は複数の出力を識別することができる。幾つかの実施形態では、コンピュータプログラムは、データフローグラフを含んでもよい。
【0048】
幾つかの実施形態では、1つ又は複数のコンピュータプログラムのソースコードを分析することに加えて、又はそれに代えて、導出データリネージが、少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することによって取得されてもよい。例えば、幾つかの実施形態では、コンピュータプログラムのランタイム中に生成された1つ又は複数のログを分析することによって、コンピュータプログラムへの入力、入力及び/又はコンピュータプログラムの一部として入力を使用して行われた計算に適用された1つ又は複数の変換、及び/又はコンピュータプログラムの1つ又は複数の出力を識別することができる。
【0049】
幾つかの実施形態では、ユーザ指定データリネージは、ユーザによって指定することができ、及びビジネスデータ要素間の関係を表すことができる。ユーザ指定リネージは、上流及び下流リネージ情報を包含してもよい。例えば、ユーザ指定リネージは、ビジネスにとって関心のあるビジネスデータ要素(例えば、銀行の顧客のクレジットスコア)を生成する(例えば、計算する)ために使用される1つ又は複数の他のビジネスデータ要素を示す情報を包含してもよい。幾つかの実施形態では、彼/彼女がユーザ指定データリネージを指定することを容易にするために、1つ又は複数のグラフィカルユーザインタフェースが、ユーザに提供されてもよい。
【0050】
幾つかの実施形態では、導出データリネージとユーザ指定データリネージとの間の関連の取得は、導出データリネージにおける1つ又は複数の物理的データ要素と、ユーザ指定データリネージにおける、対応する1つ又は複数のビジネスデータ要素との間の関連を生成することによって行われてもよい。幾つかの実施形態では、物理的データ要素とビジネスデータ要素との間の関連は、例えば、物理的データ要素及びビジネスデータ要素のメタデータ(例えば、名称)に基づいて、自動的に生成されてもよい。幾つかの実施形態では、物理的データ要素とビジネスデータ要素との間の関連は、関連を指定するユーザ入力に基づいて生成されてもよい。このような実施形態においては、彼/彼女が関連を指定することを容易にするために、1つ又は複数のグラフィカルユーザインタフェースが、ユーザに提供されてもよい。
【0051】
幾つかの実施形態では、導出データリネージとユーザ指定データリネージとの間の関連を使用して、これらのタイプのリネージ間に相違が存在するか否かを決定することができる。例えば、リネージ間の関連が、ビジネスデータ要素「B」が、物理的データ要素「P」と関連付けられることを場合、相違があるか否かを決定することは、物理的データ要素Pを取得するために使用されていると導出データリネージにおいて識別されたデータの1つ又は複数のソースの第1のセットが、ビジネスデータ要素Bを取得するために使用されているとユーザ指定リネージにおいて識別されたデータの1つ又は複数のソースの第2のセットとは異なることを決定することを包含してもよい。
【0052】
幾つかの実施形態では、導出データリネージは、更新することができ、及び導出データリネージとユーザ指定データリネージとの間の相違が存在するか否かの決定が、繰り返されてもよい。このようにして、データ処理システムによって管理されるデータに対する変更により生じ得るリネージ間の相違を検出することができる。
【0053】
導出データリネージとユーザ指定データリネージとの間の関連が、リネージ間の相違を識別するために使用されることに限定されず、任意のその他の適宜の目的のために使用され得ることが理解されるものとする。例えば、幾つかの実施形態では、リネージ間の関連を使用して、1つ又は複数のビジネスデータ要素に関するデータ品質の尺度を取得することができる。
【0054】
幾つかの実施形態では、1つ又は複数の物理的データ要素におけるデータの品質が、評価されてもよい。例えば、データの品質は、物理的データ要素の値を評価するための基準を定義することができる、所定のデータ品質ルールを用いて、例えば、基準に従って値の特性(例えば、確度、精度、完全性、及び妥当性)を識別することによって、評価されてもよい。従って、値がこれらの特性を示す範囲が、物理的データ要素に関するデータ品質の尺度、及び物理的データ要素とビジネスデータ要素との間の関連により、ビジネスデータ要素に関するデータ品質の尺度をもたらすことができる。
【0055】
従って、幾つかの実施形態では、データ処理システムは、(1)物理的データ要素間の関係を表す導出データリネージを取得し、(2)ビジネスデータ要素間の関係を表すユーザ指定データリネージを取得し、(3)導出データリネージとユーザ指定データリネージとの間の関連(この関連は、導出データリネージにおける第1の物理的データ要素と、ユーザ指定データリネージにおける第1のビジネスデータ要素との間の関連を包含する)を取得し、及び(4)導出データリネージとユーザ指定データリネージとの間の関連、及び第1の物理的データ要素に関するデータ品質の尺度に基づいて、第1のビジネスデータ要素に関するデータ品質の尺度を決定するように構成されてもよい。
【0056】
本明細書に記載の実施形態は、多数のやり方の何れで実施されてもよいことが理解されるものとする。単なる説明目的で、具体的な実施の例を以下に提供する。これらの実施形態及び提供される特徴/機能は、個々に、全て一緒に、又は2つ以上の任意の組み合わせで使用されてもよいことが理解されるものとする(本明細書に記載される技術の態様は、この点において限定されない)。
【0057】
図1は、本明細書に記載の技術の幾つかの実施形態が動作し得る、説明のためのコンピューティング環境100のブロック図である。コンピューティング環境100は、データ記憶装置104に保存されたデータに対して動作するように構成されたデータ処理システム105を包含する。
【0058】
幾つかの実施形態では、データ記憶装置104は、任意の適宜のタイプの1つ又は複数のフォーマットでデータを保存する1つ又は複数のストレージデバイスを包含してもよい。例えば、データ記憶装置104のストレージデバイス部分は、1つ又は複数のデータベーステーブル、スプレッドシートファイル、フラットテキストファイル、及び/又は任意のその他の適宜のフォーマット(例えば、メインフレームのネイティブフォーマット)のファイルを使用して、データを保存してもよい。ストレージデバイスは、任意の適宜のタイプのものでよく、及び1つ又は複数のサーバ、1つ又は複数のデータベースシステム、1つ又は複数のポータブルストレージデバイス、1つ又は複数の不揮発性ストレージデバイス、1つ又は複数の揮発性ストレージデバイス、及び/又はデータを電子的に保存するように構成された、任意のその他のデバイスを包含してもよい。幾つかの実施形態では、データ記憶装置104は、ストレージデバイスに加えて、又はそれに代えて、1つ又は複数のオンラインデータストリームを包含してもよい。従って、幾つかの実施形態では、データ処理システム105は、任意の適宜のフォーマットで、1つ複数のデータストリーム上で提供されるデータへのアクセスを有していてもよい。
【0059】
データ記憶装置104が複数のストレージデバイスを包含する実施形態では、ストレージデバイスは、1つの物理的場所で(例えば、ある建物内で)同一場所に配置されてもよく、又は複数の物理的場所にわたり(例えば、複数の建物内で、異なる市、州、又は国で)分散されてもよい。ストレージデバイスは、例えば、
図1に示されるネットワーク106などの1つ又は複数のネットワークを使用して、互いに通信するように構成されてもよい。
【0060】
幾つかの実施形態では、ストレージデバイスによって保存されたデータは、1つ又は複数のファイル、テーブル、テーブルの行及び/又は列のデータ、スプレッドシート、データセット、データレコード(例えば、クレジットカード取引記録、通話記録、及び銀行取引記録)、フィールド、変数、メッセージ、及び/又はレポートなどの1つ又は複数のデータエンティティを包含してもよい。ストレージデバイスは、数千、数百万、数千万、又は数億のデータエンティティを保存してもよい。各データエンティティは、1つ又は複数の物理的データ要素を包含してもよい。
【0061】
物理的データ要素は、データ処理システムによって保存及び/又は処理される、どのようなデータ要素であってもよい。例えば、物理的データ要素は、データレコードにおけるフィールドであってもよく、及び物理的データ要素の値は、データレコードのフィールドに保存された値であってもよい。具体的な非限定例として、物理的データ要素は、通話に関する情報を保存するデータレコード(このデータレコードは、電気通信会社の顧客によって行われた通話に関する複数のデータレコードの一部であってもよい)における発信者の名前を保存するフィールドであってもよく、及び物理的データ要素の値は、フィールドに保存された値であってもよい。別の例として、物理的データ要素は、テーブルにおけるセル(例えば、テーブルのある特定の行及び列に存在するセル)であってもよく、及び物理的データ要素の値は、テーブルのセルの値であってもよい。別の例として、物理的データ要素は、変数(例えば、レポートにおける)であってもよく、及び物理的要素の値は、変数(例えば、レポートのある特定のインスタンスにおける)の値であってもよい。具体的な非限定例として、物理的データ要素は、銀行ローンの申込者のクレジットスコアを表す申込者に関するレポートの変数であってもよく、及び物理的データ要素の値は、クレジットスコアの数値(例えば、300~850の数値)であってもよい。申込者のクレジットスコアを表す物理的データ要素の値は、銀行ローンの申込者に関するレポートを生成するために使用されたデータに応じて変化し得る。
【0062】
幾つかの実施形態では、物理的データ要素は、任意の適宜のタイプの値をとってもよい。例えば、物理的データ要素は、数値、アルファベット値、選択肢の離散セット(例えば、カテゴリの有限セット)からの値、又は任意のその他の適宜のタイプの値をとってもよく、本明細書に記載の技術の態様は、この点において限定されない。
【0063】
データ処理システム105は、データ記憶装置104のデータに対して動作するように構成された1つ又は複数のコンピュータプログラム109を包含してもよい。コンピュータプログラム109は、任意の適宜のタイプのものでよく、及び任意の適宜のプログラミング言語で書かれていてもよい。例えば、幾つかの実施形態では、コンピュータプログラム109は、少なくとも部分的に構造化照会言語(SQL)を用いて書かれ、及びデータ記憶装置104の1つ又は複数のデータベース部分のデータにアクセスするように構成された1つ又は複数のコンピュータプログラムを包含してもよい。別の例として、幾つかの実施形態では、データ処理システム105は、グラフの形式でプログラムを実行するように構成され、及びコンピュータプログラム109は、データフローグラフとして開発された1つ又は複数のコンピュータプログラムを含んでもよい。データフローグラフは、入力データに対して行われるデータ処理動作を表す、「ノード」又は「節点」と呼ばれるコンポーネント、及びデータのフローを表すコンポーネント間のリンクを包含してもよい。データフローグラフによってエンコードされる計算を実行する技術が、本明細書において、その全体が援用される、「グラフとして表現される計算の実行」というタイトルの米国特許第5,966,072号明細書に記載されている。
【0064】
図1の図示された実施形態において、データ処理システム105は、データ記憶装置104のデータに対して動作するコンピュータプログラム109の1つ又は複数を開発するために、人(例えば、開発者)によって使用され得る開発環境108をさらに包含する。例えば、幾つかの実施形態では、ユーザ102は、コンピューティングデバイス103を使用して、データフローグラフなどのコンピュータプログラムを指定し、及びそのコンピュータプログラムをコンピュータプログラム109の一部としてセーブするために開発環境とインタラクトすることができる。データフローグラフとしてコンピュータプログラムを開発するための環境が、本明細書において、その全体が援用される、「グラフベースのアプリケーションのパラメータ管理」というタイトルの米国特許出願公開第2007/0011668号明細書に記載されている。
【0065】
幾つかの実施形態において、コンピュータプログラム109の1つ又は複数は、データ記憶装置104のデータに対する任意の適宜の動作を行うように構成されてもよい。例えば、コンピュータプログラム109の1つ又は複数は、1つ又は複数のソースからのデータにアクセスし、アクセスされたデータを変換し(例えば、データ値を変更すること、データレコードをフィルタリングすること、データフォーマットを変更すること、データを分類すること、複数のソースからのデータを組み合わせること、データを複数の部分に分割することによって、及び/又は任意のその他の適宜のやり方で)、アクセスされたデータから1つ又は複数の新しい値を計算し、及び/又はデータを1つ又は複数の宛先に書き込むように構成されてもよい。
【0066】
幾つかの実施形態において、コンピュータプログラム109の1つ又は複数は、データ記憶装置109のデータに対して計算を行い、及び/又はデータ記憶装置109のデータからレポートを生成するように構成されてもよい。行われた計算及び/又は生成されたレポートは、ビジネスに関連した1つ又は複数の量と関係してもよい。例えば、コンピュータプログラムは、ある人に関するクレジット履歴データにアクセスし、及びクレジット履歴に基づいて、その人のクレジットスコアを決定するように構成されてもよい。別の例として、コンピュータプログラムは、電話会社の複数の顧客の通話ログにアクセスし、及びそれらの顧客の内の何人が、自身のデータプランに許容されるよりも多くのデータを使用するかを示すレポートを生成することができる。さらに別の例として、コンピュータプログラムは、銀行によって行われたローンのタイプを示すデータにアクセスし、及び銀行によって行われたローンの総合的なリスクを示すレポートを生成することができる。コンピュータプログラムは、データ記憶装置104に保存されたデータから任意の適宜の情報(例えば、任意の適宜のビジネス目的のために)を生成するように構成することができるので、これらの例は、説明のためのもの、及び非限定的なものである。
【0067】
図示した実施形態においては、データ処理システム105は、様々なデータガバナンスタスクのパフォーマンスを支援するデータガバナンスモジュール110も包含する。例えば、図示した実施形態においては、データガバナンスモジュール110は、データ辞書モジュール112、役割管理モジュール114、データ品質モジュール116、導出リネージモジュール118、ユーザ指定リネージモジュール120、及びリネージ関連モジュール122を包含し、これらのそれぞれは、実行されると、以下により詳細に記載されるように、1つ又は複数のデータガバナンスタスクのパフォーマンスを支援する機能性を行うプロセッサ実行可能命令を含む。
【0068】
幾つかの実施形態において、データ辞書モジュール112は、データ記憶装置104のデータに関する情報を保存するように構成されてもよい。すなわち、データ辞書112は、データ記憶装置104のデータと関連付けられたメタデータを保存するように構成されてもよい。例えば、データ辞書112は、データ記憶装置104における物理的データ要素に関する1つ又は複数の代替名を保存してもよい。このようにして、対応する変数の名称によって物理的データ要素に言及するのではなく(この変数名は、プログラマによって作成されたものである場合があり、それが、その変数がどんな情報を表すかをユーザに即座に伝えない点で、「ユーザフレンドリ」ではない)、データ辞書は、例えば、ビジネス関係者が、その物理的データ要素に言及するために使用する自然な用語又はフレーズなどの、物理的データ要素に関する1つ又は複数の代替用語を包含してもよい。具体的な例として、データ辞書112は、ある特定の銀行の顧客に関するFICOクレジットスコアの値を保存する「cstCrdScr」と名付けられた変数に対応する物理的データ要素の代替名として、「銀行顧客クレジットスコア」又は「銀行顧客FICOクレジットスコア」という名称を保存してもよい。別の具体的な例として、データ辞書112は、「order_amt」と名付けられたフィールドに対応する物理的データ要素に言及するために使用することができる言語として、「発注量」という名称を保存してもよい。
【0069】
幾つかの実施形態において、役割管理モジュール114は、どの1つ又は複数の団体が、データ記憶装置104に保存された様々なデータ要素に対して責任があるかを示す情報を管理することができる。このような役割情報を管理することは、役割情報を保存すること、一人又は複数のユーザが、このような情報を修正することを可能にすること(例えば、団体及び/又はそれらの責任を取り除く、追加する、又は変更することによって)、及び/又は役割情報を表示することを包含してもよい。
【0070】
幾つかの実施形態において、役割管理モジュール114は、1つ又は複数の物理的データ要素及び/又は1つ又は複数のビジネスデータ要素に対して責任がある団体を指定することができる。例えば、役割管理モジュール114は、データ要素の管理に責任がある団体を示すグラフィカルインタフェースを生成するために使用される情報を管理するように構成されてもよい(及び、幾つかの実施形態においては、グラフィカルインタフェースを生成するように構成されてもよい)。このようなグラフィカルインタフェースの説明のための例が、「クレジットスコア」ビジネスデータ要素601の管理に責任のある4人の個人(事業主602、データ管理人604、及び2人の内容領域専門家606及び608)を識別する、
図6Aに示される。
【0071】
幾つかの実施形態では、データ品質モジュール116は、1つ又は複数の物理的データ要素のそれぞれに関するデータ品質の1つ又は複数の尺度を決定するように構成されてもよい。物理的データ要素におけるデータの品質は、任意の適宜のやり方で決定することができる。例えば、幾つかの実施形態では、データの品質は、物理的データ要素の値を評価するための基準を定義することができる、所定のデータ品質ルールを用いて、例えば、基準に従って値の特性(例えば、確度、精度、完全性、及び妥当性)を識別することによって、評価されてもよい。従って、値がこれらの特性を示す範囲が、物理的データ要素に関するデータ品質の尺度をもたらすことができる。データ品質ルールを用いてデータの品質を評価する態様が、本明細書において、その全体が援用される、「データに対するルールの指定及び適用」という米国特許出願公開第2014/0108357号明細書に記載されている。
【0072】
幾つかの実施形態では、導出リネージモジュール118は、データ記憶装置104のデータの少なくとも一部に関する導出データリネージを生成するように構成されてもよい。導出データリネージは、1つ又は複数の物理的データ要素のリネージに関する情報を包含してもよい。例えば、導出データリネージは、どのように物理的データ要素の値が取得されたかを示す上流リネージ情報、及び/又は物理的データ要素の値に依存した、1つ又は複数の他のデータセット、物理的データ要素、プロセス、及び/又はアプリケーションを示す下流リネージ情報を包含してもよい。
【0073】
幾つかの実施形態では、導出リネージモジュール118は、データ処理システムによって管理される複数の物理的データ要素の少なくとも幾つかにアクセスする(例えば、読み取る、書き込む、及び修正する)ように構成された少なくとも1つのコンピュータプログラムのソースコードを分析することによって、導出データリネージを生成するように構成されてもよい。ソースコード分析を使用して、コンピュータプログラムへの入力を識別し(例えば、コンピュータプログラムによってアクセスされた1つ又は複数の物理的データ要素を識別し)、入力及び/又はコンピュータプログラムの一部として入力を使用して行われた計算に適用された1つ又は複数の変換を識別し、及び/又はコンピュータプログラムの1つ又は複数の出力を識別することができる。幾つかの実施形態では、コンピュータプログラムは、データフローグラフを含んでもよい。
【0074】
幾つかの実施形態では、導出リネージモジュール118は、少なくとも1つのコンピュータプログラムのランタイム中に取得された情報を分析することによって、導出データリネージを生成するように構成されてもよい。例えば、幾つかの実施形態では、コンピュータプログラムのランタイム中に生成された1つ又は複数のログを分析することによって、コンピュータプログラムへの入力、入力及び/又はコンピュータプログラムの一部として入力を使用して行われた計算に適用された1つ又は複数の変換、及び/又はコンピュータプログラムの1つ又は複数の出力を識別することができる。
【0075】
幾つかの実施形態では、導出リネージモジュール118は、1つ又は複数のデータ発見プロセスを用いることによって、導出データリネージを生成するように構成されてもよい。例えば、幾つかの実施形態では、データ発見を実施するコンピュータプログラムは、同じデータ値を含有する異なる物理的データ要素を識別し、及びその識別に基づいて、これらの物理的データ要素が関連することを決定するように構成されてもよい。例えば、コンピュータプログラムは、同じデータテーブルが、複数の異なるデータベースに保存されていることを決定し、その上で、これらのテーブルにおける物理的データ要素が関連することを決定するように構成されてもよい。導出リネージモジュール118が、上記のやり方の何れか、又は、上記又は他のやり方の2つ以上の任意の組み合わせを用いて、導出リネージを生成するように構成されてもよいことが理解されるものとする(本明細書に記載の技術の態様は、この点において限定されない)。
【0076】
図2は、説明のための導出データリネージのデータリネージ
図200である。導出データリネージ及びそれを図示する図は、導出リネージモジュール118によって生成することができる。データリネージ
図200は、データエンティティを表すノード202、及びデータエンティティに適用された変換を表すノード204を包含する。データリネージ
図200は、データエンティティ206における1つ又は複数の物理的データ要素に関する上流リネージ情報を示す図示する。変換を表すノードに入る矢印は、どのデータエンティティが、変換に対する入力として提供されるかを示す。データの変換を表すノードから出る矢印は、変換の結果がどのデータエンティティに提供されるかを示す。データエンティティの例を本明細書において提供する。変換の例には、任意の適宜のタイプの計算を行うこと、データを分類すること、任意の適宜の基準に基づいて、データの1つ又は複数の部分を削除するためにデータをフィルタリングすること(例えば、1つ又は複数のデータレコードを削除するためにデータレコードをフィルタリングする)、データをマージすること(例えば、結合演算を使用して、又は任意のその他の適宜のやり方で)、任意の適宜のデータベース演算又はコマンドを行うこと、及び/又は上記の変換の任意の適宜の組み合わせが包含されるが、これらに限定されない。変換は、例として、及び限定ではなく、データフローグラフとして実施される1つ又は複数のコンピュータプログラムを包含する、任意の適宜のタイプの1つ又は複数のコンピュータプログラムを使用して実施されてもよい。
【0077】
図2に示す
図200などのデータリネージ図は、幾つかの理由により、有用となり得る。例えば、データエンティティと変換との間の関係を図示することは、ある特定の物理的データ要素がどのように取得されたか(例えば、レポート内のある特定の値がどのように計算されたか)をユーザが決定することを助けることができる。別の例として、データリネージ図を使用して、どの変換が、様々な物理的データ要素及び/又はデータエンティティに適用されたかを決定することができる。
【0078】
幾つかの実施形態では、導出データリネージは、物理的データ要素、これらの物理的データ要素を含有するデータエンティティ、及び/又は物理的データ要素に適用された変換の間の関係を表すことができる。物理的データ要素、データエンティティ、及び変換の間の関係を使用して、例えば、システム(例えば、1つ又は複数のコンピューティングデバイス、データベース、データウェアハウスなど)、及び/又はアプリケーション(例えば、データ処理システムによって管理されるデータにアクセスする1つ又は複数のコンピュータプログラム)などの他のものの間の関係を決定することができる。例えば、ある物理的場所に位置するシステム「A」に保存された、あるデータベースにおける、あるテーブルのある物理的データ要素部分が、導出データリネージ内で、システム「B」に保存された別のデータベースにおける、別のテーブルの別の物理的データ要素部分から導出されると示される場合、システムAとシステムBとの間の関係を推論することができる。別の例として、アプリケーションプログラムが、あるシステムから1つ又は複数の物理的データ要素を読み取ると、このアプリケーションプログラムと、このシステムとの間の関係を推論することができる。さらに別の例として、あるアプリケーションプログラムが、別のアプリケーションプログラムによって動作が行われた物理的データ要素にアクセスすると、これらのアプリケーションプログラム間の関係を推論することができる。これらの関係の何れか1つ又は複数が、データリネージ図の一部として示されてもよい。
【0079】
データ処理システムが、多数の物理的データ要素(例えば、数百万、数十億、又は数兆の物理的データ要素)1を管理することができることが理解されるものとする。(1例えば、クレジットカード取引と関連付けられたデータを管理するデータ処理システムは、年間で、数十億のクレジットカード取引を処理する場合があり、及び各取引は、例えば、クレジットカード番号、日付、業者ID、及び購入額などの複数の物理的データ要素を包含し得る。)従って、導出データリネージは、多数の物理的データ要素、これらの物理的データ要素を含有するデータエンティティ、及び/又は物理的データ要素に適用された変換の間の関係を表すことができる。導出データリネージが大量の情報を包含し得るので、見る人が理解可能な様式で、その情報を提示することが重要である。従って、幾つかの実施形態では、導出データリネージの情報は、異なるレベルの粒度で視覚化されてもよい。導出リネージの情報を視覚化する様々な技術、及び導出データリネージの生成及び/又は視覚化を行う技術の幾つかの態様が、(1)「データ要素間の関係の視覚化及びデータ要素属性のグラフィカル表現」というタイトルの米国特許出願公開第2010/0138431号明細書、(2)「データリネージ図のフィルタリング」というタイトルの米国特許出願公開第2016/0232230号明細書、(3)「データリネージ要約」というタイトルの米国特許出願公開第2016/0028580号明細書、及び(4)「リネージ情報の管理」というタイトルの米国特許出願公開第2016/0019286号明細書に記載されており、これらのそれぞれは、その全体が援用される。
【0080】
幾つかの実施形態では、ユーザ指定リネージモジュール120は、ユーザ(例えば、ユーザ102又は任意のその他の適宜のユーザ)による、ユーザ指定リネージの指定を容易にするように構成されてもよい。ユーザ指定リネージモジュール120は、彼/彼女が手作業でリネージを指定することを容易にするために、1つ又は複数のグラフィカルユーザインタフェースをユーザに提供するように構成されてもよい。グラフィカルユーザインタフェースは、ユーザが、ビジネスデータ要素に対応するグラフィカル表示要素をドラッグ・アンド・ドロップすることができるキャンバスを提供することができる。グラフィカル表示要素は、グラフィカル表示要素によって表されるビジネスデータ要素間のリネージ関係を示すための接続された使用リンク(例えば、線、方向性を持つ矢印など)であってもよい。
【0081】
幾つかの実施形態では、ユーザ指定データリネージは、ユーザによって指定することができ、及びビジネスデータ要素間の関係を表すことができる。ユーザ指定リネージは、上流及び下流リネージ情報を包含してもよい。例えば、ユーザ指定リネージは、ビジネスにとって関心のあるビジネスデータ要素(例えば、銀行の顧客のクレジットスコア)を生成する(例えば、計算する)ために使用される1つ又は複数の他のビジネスデータ要素を示す情報を包含してもよい。
【0082】
幾つかの実施形態では、関連モジュール122は、導出データリネージとユーザ指定データリネージとの間の関連の生成を容易にするように構成されてもよい。そのために、関連モジュール122は、1つ又は複数のビジネスデータ要素のそれぞれに対して、ビジネスデータ要素と、対応する1つ又は複数の物理的データ要素との間の関連を生成してもよい。
【0083】
幾つかの実施形態では、関連モジュール122は、あるビジネスデータ要素と、対応する1つ又は複数の物理的データ要素との間の関連を自動的に(例えば、それらのビジネスデータ要素及び物理的データ要素が関連付けられるべきであることを示すユーザ入力なしに)生成することができる。これは、任意の適宜のやり方で行うことができる。例えば、幾つかの実施形態では、物理的データ要素とビジネスデータ要素との間の関連は、例えば、それらの物理的データ要素及びビジネスデータ要素のメタデータに基づいて、自動的に生成することができる。このようなメタデータは、物理的及び/又はビジネス要素の名称、物理的及びビジネスデータ要素のタイプ、物理的データ要素と1つ又は複数の他の物理的データ要素との間の関係、及びビジネスデータ要素と1つ又は複数の他の物理的データ要素との間の関係を包含する(但し、これらに限定されない)情報を含有してもよい。ある具体的な例として、物理的及びビジネスデータ要素が、少なくとも閾値数の属性を共有する場合、関連モジュール122は、これらの要素を関連付けてもよい。別の例として、データ要素間の既存の関連は、新しい関連の自動識別を通知してもよい。例えば、物理的データ要素A(ある銀行の顧客に関するクレジットスコアを保存するテーブルIにおけるフィールド)が、ビジネスデータ要素B(その銀行の顧客に関するクレジットスコア)と関連付けられ、及びデータ処理システムが、物理的データ要素Aが物理的データ要素C(その銀行の顧客に関するクレジットスコアのコピーを保存するテーブルIIにおけるフィールド)と関連することを決定する(例えば、データ発見プロセスを使用して)と、関連モジュールは、物理的データ要素Cをビジネスデータ要素Bに関連付けることができる。
【0084】
幾つかの実施形態では、関連モジュール122は、物理的データ要素とビジネスデータ要素との間の関連を生成し、少なくとも部分的に(又は全体的に)、関連を指定するユーザ入力に基づいて生成されてもよい。このような実施形態においては、ユーザが、物理的データ要素とビジネスデータ要素との間の関連を指定することを可能にするために、1つ又は複数のグラフィカルユーザインタフェースが、提供されてもよい。このようなユーザインタフェースの説明のための例を
図4A及び4Bに示す。
【0085】
図4Aは、それによって、ビジネスデータ要素401(「発注量」)を、2つの対応する物理的データ要素である、「rush_order」というデータセットにおける「order_amt」と名付けられた物理的データ要素402、及び「order_fact」というデータセットにおける同様に「order_amt」と名付けられた物理的データ要素403と関連付けることができるグラフィカルインタフェース400を図示する図である。グラフィカルユーザインタフェース400を使用して、これらの関連の一方又は両方を削除し、及び/又は1つ又は複数の他の関連を追加することができる。グラフィカルユーザインタフェース400から理解することができるように、ビジネスデータ要素401は、対応する1つ又は複数の物理的データ要素と関連付けることができる。
【0086】
図4Bは、本明細書に記載する技術の幾つかの実施形態に従って、それによって、物理的データ要素をビジネスデータ要素と関連付けることができる別のグラフィカルインタフェース410を図示する図である。
図4Bに示されるように、「rush_order」というデータセットにおける物理的データ要素402は、ビジネスデータ要素401と関連付けることができる。グラフィカルユーザインタフェース410から理解することができるように、物理的データ要素402は、対応する1つのビジネスデータ要素と関連付けることができる。
【0087】
幾つかの実施形態では、データ処理システム100は、データ処理システムによって管理されるデータに関する情報を、一人又は複数のユーザに示すように構成されてもよい。
図1に図示される実施形態では、データ処理システム100は、コンピューティングデバイス134を介して、システムによって管理されるデータに関する情報をユーザ130に示すように構成されてもよい。ユーザ130は、コンピューティングデバイス134を介して、例えば、システム100によって管理されるデータと関連付けられたリネージ情報を包含する、任意の適宜の情報を見ることができる。従って、ユーザ130は、導出データリネージモジュール118を使用することによって(例えば、任意の適宜のタイプのデータリネージ図を用いて、その例を本明細書において提供する)生成された物理的データ要素に関する導出データリネージに関する情報、少なくとも部分的にユーザ指定リネージモジュール120を使用することによって生成されたユーザ指定データリネージに関する情報、及び導出データリネージとユーザ指定データリネージとの間の関連を示す情報を見ることができる(例えば、
図3A~3Dを参照して以下に記載するように)。
【0088】
コンピューティングデバイス103及び134のそれぞれは、固定又はポータブルの任意の適宜のタイプのコンピューティングデバイスでよく、本明細書に記載する技術の態様は、この点において限定されない。さらに、コンピューティングデバイス103及び134は、同じタイプのコンピューティングデバイスである必要はない。コンピューティングデバイス103及び134、データ処理システム105、及びデータ記憶装置104は、ネットワーク106を介して互いに通信するように構成される。ネットワーク106は、インターネット、イントラネット、ワイドエリアネットワーク、ローカルエリアネットワーク、及び/又は任意のその他の適宜のタイプのネットワークなどの、任意の適宜のタイプのネットワークでよい。
【0089】
上記の通り、幾つかの実施形態では、導出データリネージとユーザ指定データリネージとの間の関連を使用して、これらのタイプのリネージ間に相違があるか否かを決定することができる。例えば、
図3A及び3Bに示すように、導出データリネージとユーザ指定データリネージとの間の関連を使用して、導出データリネージ及びユーザ指定データリネージが、関連付けられた物理的データ要素及びビジネスデータ要素に関して異なるデータソースを示すことを決定することができる。
【0090】
図3Aは、本明細書に記載する技術の幾つかの実施形態に従った、例示的ユーザ指定リネージ300と、例示的導出データリネージ320との間の関連を図示する図である。ユーザ指定リネージ300及び導出データリネージ320のそれぞれは、本明細書に記載するやり方の何れかで取得されてもよい。ユーザ指定データリネージ及び導出データリネージは、
図3Aに示したリネージよりも複雑である場合があり、及び例えば、さらに多くのビジネスデータ要素、物理的データ要素、データエンティティ、ビジネスデータコンテナなどを包含する場合があることが理解されるものとする。
図3Aに示すリネージの例は、説明を簡単にするために使用されるものであり、限定する目的のものではない。
【0091】
導出データリネージ320は、データエンティティ340、342、344、346、348、及び350を包含する。各データエンティティは、異なるシステム及び/又はコンピューティングデバイスに保存されてもよい。代替的に、データエンティティの2つ以上(又は全て)が、1つのシステム及び/又はコンピューティングデバイスに保存されてもよい。データエンティティの例を本明細書に示す。各データエンティティは、1つ又は複数の物理的データ要素を包含してもよい。データエンティティ340は、物理的データ要素322を包含する1つ又は複数の物理的データ要素を含有する。データエンティティ342は、物理的データ要素324を包含する1つ又は複数の物理的データ要素を含有する。データエンティティ344は、物理的データ要素326、328、及び330を包含する複数の物理的データ要素を含有する。データエンティティ346は、物理的データ要素332を包含する1つ又は複数の物理的データ要素を包含する。データエンティティ348は、物理的データ要素334を包含する1つ又は複数の物理的データ要素を包含する。データエンティティ350は、物理的データ要素336を包含する1つ又は複数の物理的データ要素を包含する。
【0092】
幾つかの実施形態では、導出データリネージは、物理的データ要素がどのように取得されたか、及び/又は生成されたかに関する情報を提供する、1つ又は複数の物理的データ要素に関する上流データリネージ情報を包含してもよい。例えば、
図3Aの説明のための例では、導出データリネージ320は、物理的データ要素322に関する上流データリネージ情報を包含する。
図3Aに示されるシェーディングによって示されるように、物理的データ要素322は、物理的データ要素332から取得された物理的データ要素326を包含する複数の物理的データ要素から取得された物理的データ要素324から取得されたものである。従って、物理的データ要素322は、少なくとも部分的に、データエンティティ346の物理的データ要素332に基づいて取得されたものである。
【0093】
ユーザ指定データリネージ320は、データコンテナ303、305、307、及び309を包含する。データコンテナは、ビジネスデータ要素をカプセル化するための任意の適宜のコンテナであればよい。データコンテナを使用して、ビジネスユーザにビジネスデータ要素を提示することができる。例えば、データコンテナは、レポート、スプレッドシート、1つ又は複数のスライドを有するプレゼンテーション、テキストファイル、Word文書、及び/又はPDFファイルであってもよい。幾つかの実施形態では、データコンテナ内のコンテンツは、ユーザによって、例えば、データベースクエリ(例えば、SQLクエリ)を行い、及びデータベースクエリの結果をデータコンテナに入れることによって、生成することができる。具体的な非制限例として、ユーザ指定データリネージを作成するユーザは、データベースクエリを行い、及びクエリの結果として返されたテーブルをスプレッドシートファイルに挿入することができる。
【0094】
図3Aに示されるように、データコンテナ303は、ビジネスデータ要素302を包含する1つ又は複数のビジネスデータ要素を包含する。データコンテナ305は、ビジネスデータ要素304を包含する1つ又は複数のビジネスデータ要素を包含する。データコンテナ307は、ビジネスデータ要素306を包含する1つ又は複数のビジネスデータ要素を包含する。データコンテナ309は、ビジネスデータ要素308を包含する1つ又は複数のビジネスデータ要素を包含する。
【0095】
幾つかの実施形態では、ユーザ指定データリネージは、どのようにビジネスデータ要素が取得されたか、及び/又は生成されたかに関する情報を提供する上流データリネージ情報、及び/又は1つ又は複数のビジネスデータ要素に関する下流リネージ情報(この情報は、どの他のビジネスデータ要素が、上記ビジネスデータ要素に依存するかを示す情報を提供する)を包含してもよい。例えば、
図3Aの説明のための例では、ユーザ指定リネージ300は、ビジネスデータ要素302に関する上流データリネージ情報を包含する。
図3Aに示すように、ユーザ指定リネージ300は、ビジネスデータ要素302が、ビジネスデータ要素308から取得されたビジネスデータ要素306から取得されたビジネスデータ要素304から取得されたことを示す。
【0096】
本明細書において述べるように、幾つかの実施形態では、導出データリネージにおける1つ又は複数の物理的データ要素と、ユーザ指定データリネージにおける1つ又は複数の対応するビジネスデータ要素との間の関連を生成することによって、ユーザ指定リネージと導出データリネージとの間の関連が生成されてもよい。このような関連の説明のための例を
図3Aに示し、これは、(1)ビジネスデータ要素302が、関連リンク352を介して物理的データ要素322と関連付けられること、(2)ビジネスデータ要素304が、関連リンク354を介して物理的データ要素324と関連付けられること、(3)ビジネスデータ要素306が、関連リンク356を介して物理的データ要素326と関連付けられること、及び(4)ビジネスデータ要素308が、関連リンク358を介して物理的データ要素332と関連付けられることを示す。
図3Aの例から理解することができるように、ユーザ指定データリネージと導出データリネージとの間の関連は、これらのリネージにおけるデータ要素間の1つ又は複数の関連リンクを指定する情報を含むことができる。
図3Bは、データエンティティ340、342、344、346、348、及び350、並びにデータコンテナ303、305、307、及び309が省略された、
図3Aの簡略バージョンを示す。
【0097】
幾つかの実施形態では、導出データリネージとユーザ指定データリネージとの間の関連を使用して、これらのリネージ間に相違が存在するか否かを決定することができる。例えば、
図3Aに示す関連は、ビジネスデータ要素302に関するユーザ指定リネージと、ビジネスデータ要素302と関連付けられた物理的データ要素322に関する導出データリネージとの間に相違が存在しないことを示す。この例では、物理的データ要素322の上流導出データリネージにおける全ての物理的データ要素が、ビジネスデータ要素302に関する上流ユーザ指定データリネージにおける対応するビジネスデータ要素と関連付けられる。例えば、導出データリネージ320に従って物理的データ要素322を取得するために使用される物理的データ要素332は、ユーザ指定データリネージ300に従ってビジネスデータ要素302を取得するために使用されるビジネスデータ要素308と関連付けられる。
【0098】
一方、
図3Cに示す関連は、ユーザ指定リネージ300と、基となるデータ処理システムによって管理されるデータに対する変更を反映するように更新された導出データリネージ320との間に相違が存在することを示す。導出データリネージ320に対する変更の結果として、物理的データ要素322は、今度は、
図3Bに示されるような物理的データ要素332ではなく、
図3Cにおいてシェーディングによって示されるように、物理的データ要素336を使用することによって取得される。その結果、物理的データ要素322の上流導出データリネージにおける全ての物理的データ要素が、ビジネスデータ要素302に関する上流ユーザ指定データリネージにおける対応するビジネスデータ要素と関連付けられるわけではない。
図3Cに示すように、物理的データ要素322を取得するために使用される物理的データ要素336は、物理的データ要素322と関連付けられたビジネスデータ要素であるビジネスデータ要素302を取得するために使用される、ユーザ指定データリネージ300におけるビジネスデータ要素と関連付けられない。また、物理的データ要素332は、導出データリネージに従って物理的データ要素322を生成するために使用されないが、それにもかかわらず、それは、ユーザ指定データリネージに従ってビジネスデータ要素302を生成するために使用されるビジネスデータ要素308と関連付けられる。これらの相違は、本明細書に記載する技術を使用して自動的に識別することができ、及びユーザは、それらの存在に対して注意喚起されることができ、及び/又はこれらの相違を解消するための1つ又は複数の自動措置を講じることができる(例えば、ユーザ指定データリネージを変更することによって、及び/又はこのような変更を実施することを一人又は複数のユーザに知らせることによって)。
【0099】
図3A、3B、及び3Cに図示するように、幾つかの実施形態では、ユーザ指定データリネージと導出データリネージとの間の関連は、ユーザ指定データリネージにおけるビジネスデータ要素と、導出データリネージにおける物理的データ要素との間の関連を包含する。幾つかの実施形態では、ユーザ指定データリネージと導出データリネージとの間の関連は、ユーザ指定データリネージにおける変換と、導出データリネージにおける変換との間の関連をさらに包含してもよい。ユーザ指定データリネージにおける変換は、どのように、あるビジネスデータ要素が、1つ又は複数の他のビジネスデータ要素から取得されるかを示すことができる。導出データリネージにおける変換は、どのように、ある物理的データ要素が、1つ又は複数の他の物理的データ要素から取得されるかを示すことができる。本明細書において、変換の例を提供する。
【0100】
ユーザ指定データリネージにおける変換と、導出データリネージにおける変換との間の関連の一例を、
図3Dに図示する例に示す。
図3Dでは、ユーザ指定データリネージ300は、ビジネスデータ要素306を取得するためにビジネスデータ要素308及び309に適用された変換310をさらに包含する。導出データリネージ320は、物理的データ要素326を取得するために物理的データ要素332及び334に適用された変換323をさらに包含する。
図3Dに示すように、変換310及び323は、関連リンク357を介して互いに関連付けられる。
図3Dでは、ユーザ指定データリネージ300及び導出データリネージ320のそれぞれに関して、1つのみの変換が示されるが、本明細書に記載する技術の態様は、この点において限定されないので、各リネージは、任意の適宜の数の変換を包含してもよいことが理解されるものとする。例えば、導出データリネージは、データエンティティ及び/又は物理的データエンティティのリンクされたペア間の変換を包含してもよい(例えば、
図2に示す変換204を参照)。
【0101】
図5は、本明細書に記載する技術の幾つかの実施形態に従った、ユーザ指定と導出リネージとの間の関連の取得(例えば、生成又はアクセス)を行い、及び取得した関連を使用して、ユーザ指定リネージと、導出リネージと、及びそれらの間の関連との間に相違が存在するか否かを決定するための、説明のためのプロセス500のフローチャートである。プロセス500は、任意の適宜のシステム及び/又はコンピューティングデバイスによって行われてもよく、及び例えば、
図1を参照して記載したデータ処理システム105によって行われてもよい。
【0102】
プロセス500は、ユーザ指定データリネージが取得されるアクト502から始まる。ユーザ指定データリネージは、任意の適宜のやり方で取得することができる。例えば、ユーザ指定データリネージは、データ処理システムによって、ユーザに対して、彼/彼女がユーザ指定データリネージを指定することを容易にするために提供された1つ又は複数のグラフィカルインタフェースを使用して、ユーザによって指定されてもよい。
【0103】
次に、プロセス500は、導出データリネージが取得されるアクト504に進む。導出データリネージは、本明細書に記載するやり方の何れかで取得されてもよい。例えば、幾つかの実施形態では、導出データリネージは、データ処理システムによって管理される複数の物理的データ要素の少なくとも幾つかにアクセスするように構成された1つ又は複数のコンピュータのプログラムのソースコードを分析することによって取得されてもよい。ソースコード分析を使用して、コンピュータプログラムによって入力又はアクセスされた1つ又は複数の物理的データ要素を識別し、入力及び/又はコンピュータプログラムの一部として入力を使用して行われた計算に適用された1つ又は複数の変換を識別し、及び/又はコンピュータプログラムの1つ又は複数の出力を識別することができる。追加的又は代替的に、導出データリネージは、コンピュータプログラムのランタイム中に取得された情報を分析することによって取得されてもよい。例えば、幾つかの実施形態では、コンピュータプログラムのランタイム中に生成された1つ又は複数のログを分析することによって、コンピュータプログラムへの入力、入力及び/又はコンピュータプログラムの一部として入力を使用して行われた計算に適用された1つ又は複数の変換、及び/又はコンピュータプログラムの1つ又は複数の出力を識別することができる。
【0104】
次に、プロセス500は、アクト502で取得されたユーザ指定リネージと、アクト504で取得された導出データリネージとの間の関連が取得されるアクト506に進む。この関連は、以前に生成された関連にアクセスすることによって、又はプロセス500の一部として関連を生成することによって取得されてもよい。導出データリネージとユーザ指定データリネージとの間の関連を生成することは、導出データリネージにおける1つ又は複数の物理的データ要素と、ユーザ指定データリネージにおける1つ又は複数の対応するビジネスデータ要素との間の関連を生成することを含んでもよい。追加的に、導出データリネージとユーザ指定データリネージとの間の関連を生成することは、導出データリネージにおける物理的データ要素の1つ又は複数の変換と、ユーザ指定データリネージにおけるビジネスデータ要素の1つ又は複数の対応する変換との間の関連を生成することを含んでもよい。関連は、生成されると、後の使用に利用できるように、データ処理システムによって、1つ又は複数のデータ構造に保存されてもよい。
【0105】
ユーザ指定データリネージと導出データリネージとの間の関連は、本明細書に記載するやり方の何れかで生成されてもよい。幾つかの実施形態では、これらのリネージ間の関連は、例えば、物理的データ要素及びビジネスデータ要素のメタデータ(例えば、名称)に基づいて、自動的に生成されてもよい。幾つかの実施形態では、これらのリネージ間の関連は、関連を指定するユーザ入力に基づいて生成されてもよい。このような実施形態においては、1つ又は複数のグラフィカルユーザインタフェースが、ユーザに対して、彼/彼女が関連を指定することを容易にするために、データ処理システムによって提供されてもよい。グラフィカルユーザインタフェースは、物理的データ要素とビジネスデータ要素との間の関連、並びにこのような要素に適用される変換同士の間の関連を指定することを容易にすることができる。
【0106】
次に、プロセス500は、アクト506で生成された関連の視覚化が生成されるアクト508に進む。視覚化は、どの物理的データ要素及びビジネスデータ要素が互いに関連付けられているのかのグラフィカルインディケーションを提供することができる。追加的に、この視覚化は、ユーザ指定リネージにおけるどの変換と、導出されたデータにおけるどの変換が互いに関連付けられるかのグラフィカルインディケーションも提供することができる。例えば、幾つかの実施形態では、生成された視覚化は、導出データリネージにおける1つ又は複数の物理的データ要素と、関連付けられたビジネスデータ要素との間の関連リンク(例えば、
図3Aにおける関連リンク352、354、356、及び358)を表す1つ又は複数のグラフィカル要素を包含してもよい。ある具体的な例として、アクト508で生成される視覚化は、(1)アクト504で取得された導出データリネージを表す第1のグラフの視覚化(第1のグラフは、データエンティティ、物理的データ要素、及び/又は変換を表すノードを包含する)、(2)アクト502で取得されたユーザ指定データリネージを表す第2のグラフの視覚化(第2のグラフは、データコンテナ、ビジネスデータ要素、及び/又は変換を表すノードを包含する)、及び(3)物理的データ要素とビジネスデータ要素との間の、及び/又は2つのリネージにおける変換同士の間の関連リンクを表すグラフにおけるノード間の1つ又は複数のエッジを包含してもよい。本明細書において、他の非限定的な視覚化例を、
図6A~6E及び8A~8Fに図示する。
【0107】
次に、プロセス500は、ビジネスデータ要素と関連付けられた1つ又は複数の物理的データ要素のそれぞれに関するデータ品質の尺度に基づいて、1つ又は複数のビジネスデータ要素のそれぞれ、データ品質の尺度が決定されるアクト509に進む。幾つかの実施形態では、物理的データ要素に関する品質の尺度は、物理的データ要素の値を評価するための基準を定義することができる、1つ又は複数の所定のデータ品質ルールを用いて、例えば、基準に従って値の特性(例えば、確度、精度、完全性、及び妥当性)を識別することによって、評価されてもよい。従って、値がこれらの特性を示す範囲が、物理的データ要素に関するデータ品質の尺度、及び物理的データ要素とビジネスデータ要素との間の関連により、ビジネスデータ要素に関するデータ品質の尺度をもたらすことができる。
【0108】
次に、プロセス500は、アクト502で取得されたユーザ指定データリネージと、アクト504で取得された導出データリネージと、アクト506で取得された関連との間に相違が存在するか否かが決定される決定ブロック510に進む。ある場合には、2種類のリネージ間の関連が正しく、及びリネージ自体間の相違による相違が生じる場合がある。他の場合では、2種類のリネージ間の関連にエラーが存在し、及びそのエラーの結果として相違が生じる場合がある。
【0109】
相違は、任意の適宜のやり方で検出することができる。例えば、幾つかの実施形態では、データ処理システムは、別の物理的データ要素(例えば、
図3Aにおける物理的データ要素322)を取得するために使用される物理的データ要素(例えば、
図3Aにおける物理的データ要素332)が、他の物理的データ要素(例えば、
図3Aにおける物理的データ要素322)と関連付けられたビジネスデータ要素(例えば、
図3Aにおけるビジネスデータ要素302)を取得するために使用されるビジネスデータ要素(例えば、
図3Aにおけるビジネスデータ要素308)と関連付けられるか否かを確かめてもよい。別の例として、データ処理システムは、物理的データ要素Pを取得するために使用されていると導出データリネージにおいて識別されたデータの1つ又は複数のソースの第1のセットが、ビジネスデータ要素Bを取得するために使用されているとユーザ指定リネージにおいて識別されたデータの1つ又は複数のソースの第2のセットとは異なる(又は同じである)か否かを決定してもよい。
【0110】
ユーザ指定データリネージと導出データリネージとの間に相違が検出されなければ、プロセス500は、NOブランチを介して、決定ブロック514に進む。一方、相違が検出されれば、プロセス500は、相違のインディケーションがユーザに提供されるアクト512に進む。インディケーションは、グラフィック、テキスト、又はそれらの任意の適宜の組み合わせであってもよい。例えば、インディケーションは、グラフィカルユーザインタフェース(例えば、
図6Dを参照)、テキストメッセージ、eメール、及び/又は任意のその他の適宜のコミュニケーション形態の一部として提供されてもよい。
【0111】
決定ブロック514では、アクト504で取得された導出データリネージをリフレッシュするか否かに関する決定が行われる。この決定は、任意の適宜のやり方で行うことができる。例えば、幾つかの実施形態では、導出データリネージは、スケジュールに従って自動的にリフレッシュされてもよい。幾つかの実施形態では、ユーザは、導出データリネージがリフレッシュされるべきであるか否かを示す入力を提供することができる(例えば、プロンプトに応答して、又はプロンプトなしで)。導出データリネージがリフレッシュされるべきであると決定されると、プロセス500は、YESブランチを介して、アクト504に戻る。そうでなければ、プロセス500は、完了する。
【0112】
プロセス500は、説明のためのものであり、且つこのプロセスのバリエーションが存在することが理解されるものとする。例えば、図示した実施形態においては、相違のインディケーションは、ユーザ指定データリネージと導出データリネージとの間の相違が検出されたことに応答してユーザに提供されるが、他の実施形態では、この相違に対処するために、1つ又は複数の自動措置を講じることができる。例えば、幾つかの実施形態では、導出データリネージは、この相違をなくすためにリフレッシュされてもよい。別の例として、幾つかの実施形態では、プロセス500を実行するデータ処理システムは、導出データリネージと一致するようにユーザ指定データリネージを変更してもよい。さらに別の例として、データ処理システムは、それが新しい導出データリネージを取得することを助けるためにユーザ指定データリネージを使用してもよい。
【0113】
プロセス500のバリエーションの別の例として、プロセス500の全てのアクトが、各実施形態において必要とされるわけではないことが理解されるものとする。例えば、幾つかの実施形態では、アクト508~514の何れか1つ又は複数が、任意選択のものであってもよい。例えば、幾つかの実施形態では、プロセス500は、アクト508及び/又は509を行うことなく進んでもよい。
【0114】
図6A~6Eは、本明細書に記載の技術の幾つかの実施形態と関連して使用することができるグラフィカルユーザインタフェースの幾つかの追加の説明のための例を示す。
図6A~6Eのグラフィカルユーザインタフェースは、ある銀行の顧客のクレジットスコアを表すことができるビジネスデータ要素「クレジットスコア」に関する情報を提供する。
【0115】
本明細書に記載するように、データ処理システムは、どの団体が、ビジネスデータ要素の管理に対して責任があるかに関する情報を保持することができる。これの一例として、
図6Aの説明のためのグラフィカルユーザインタフェース600は、「クレジットスコア」ビジネスデータ要素601の管理に対して責任のある4人の個人(事業主602、データ管理人604、及び2人の内容領域専門家606及び608)を識別する。
【0116】
図6B及び6Cは、「クレジットスコア」ビジネスデータ要素601に対応する物理的データ要素に関する導出データリネージに関する情報を提供する。
図6Bのグラフィカルユーザインタフェース610は、ビジネスデータ要素601に対応する物理的データ要素の生成に関与したシステムのリスト612を示す。
【0117】
図6Cは、ビジネスデータ要素601の「クレジットスコア」に関する導出データリネージ630を提示する、説明のためのユーザインタフェースである。
図6Cに示すように、ビジネスデータ要素601に対応する物理的データ要素が、リスクデータマート622内のフィード621に保存される。フィード621内の物理的データ要素は、顧客データウェアハウス624のストレージ623に保存された物理的データ要素を使用して取得される。ストレージ623内の物理的データ要素は、フィード626内の物理的データ要素を使用して取得され、フィード626内の物理的データ要素は、同様に、システム628、630、及び632に保存された物理的データ要素から取得される。
【0118】
図6Dは、ビジネスデータ要素601の「クレジットスコア」に関する申告データリネージで情報を提示する、説明のためのユーザインタフェース640である。このインタフェースに示されるように、クレジットスコアビジネスデータ要素601に関連付けられた物理的データ要素を取得するために使用されたデータのユーザ指定(「申告」)ソースは、「外部データ」642である。
【0119】
図6Eは、ビジネスデータ要素601に関するユーザ指定リネージと導出リネージとの間の相違の存在を示す、説明のためのユーザインタフェース650である。インタフェース650に示されるように、クレジットスコアビジネスデータ要素601に関連付けられた物理的データ要素を取得するために使用されたデータのユーザ指定(「申告」)ソースは、「外部データ」652である。しかし、導出データリネージによれば、この物理的データ要素のソースは、「米国オリジネーションシステム」654である。
図6Eから分かるように、ユーザインタフェース650は、ビジネスデータ要素601に対応する物理的データ要素に関する申告ソース及び導出ソースがマッチしないことを示す(ボックス内のチェックマークにより)ことによって、ユーザ指定リネージと導出リネージとの間の相違をユーザに提示する。
【0120】
図8Aは、ノード808によって表されるレポート「消費者エクスポージャレポート」に含有されるビジネスデータ要素「総クレジットエクスポージャ」に関するユーザ指定データリネージ800を提示する、説明のためのユーザインタフェースの図である。ユーザ指定データリネージ800は、特に、以下を示す:
(1)ビジネスデータ要素「総クレジットエクスポージャ」に対する入力は、「クレジットスコア」及び「貸付残高」であり、これらは共に、ノード806によって表される「リスクデータマート」と呼ばれるデータベースシステム内にあり、及び「総クレジットエクスポージャ」ビジネスデータ要素に対する入力として集約され、
(2)リスクデータマートデータベース内の「クレジットスコア」ビジネスデータ要素は、同じデータベース内に、テーブルカラム入力(これは、クレジットスコアをバンドに分類するための変換を経る)を有し、
(3)ノード804によって表される顧客データウェアハウス(CDW)と呼ばれるアプリケーションにおける「クレジットスコア」テーブルカラムは、「リスクデータマート」における「クレジットスコア」テーブルカラムに対するパススルー入力であり、及びノード804と806との間のリンク805に沿ったチェックボックスによって示される「クレジットスコアチェック」と呼ばれる自動制御によってチェックされ、及び
(4)CDWアプリケーションにおける「クレジットスコア」テーブルカラムのコンテンツは、3つの異なるオリジネーションシステムである、ノード802aによって表されるカナダオリジネーションシステム、ノード802cによって表されるメキシコオリジネーションシステム、及びノード802dによって表される米国オリジネーションシステム、並びに、ノード802bによって表される第三者アプリケーション「信用調査機関データ」のそれぞれに由来したデータに依存する。
【0121】
上記から理解することができるように、ユーザ指定データリネージ800において、様々なノードは、異なるシステム、アプリケーション、データベース、及びレポートを表す。ノード間のリンクは、データのフローを表し、これが、リンクが時に「フロー」と呼ばれる理由である。ユーザ指定データリネージ800においては、リンク803a~803dは、ノード802a~802dからノード804への各フローを表し、リンク805は、ノード804からノード806へのデータのフローを表し、及びリンク807は、ノード806からノード808へのデータのフローを表す。ユーザ指定リネージ800における各リンクが、ノード間のデータのフローを示すだけでなく、その中に含有されるビジネスデータ要素間の依存性も示すことに留意されたい。例えば、リンク803aは、ノード804によって表されるCDWアプリケーションにおける「クレジットスコア」テーブルのデータが、ノード802aによって表されるカナダオリジネーションシステムにおける「クレジットスコア」テーブルに依存することを示す。ユーザ指定リネージにおけるリンクは、データ依存性を示す。ビジネスデータ要素Aからビジネス要素Bへのリンクは、ビジネス要素Bが、ビジネス要素Aに依存することを示す。
【0122】
図8Aに示すように、リンクの幾つかは、太線(例えば、リンク803a、803c及び803d)を用いて示され、リンクの幾つかは、破線(例えば、リンク803b)を用いて示され、及びリンクの幾つかは、細線(例えば、リンク807)を用いて示される。幾つかの実施形態では、細線リンクは、ユーザ指定リネージにおけるリンクによって表される依存性が、導出データリネージにおける対応する依存性(例えば、1つ又は複数のリンクによって表される)を持たないことを示す。例えば、2つのビジネスデータ要素間のリンクは、導出データリネージにおいて、2つのビジネスデータ要素に対応する2つの物理的データ要素間に依存性が存在しない場合に、細線によって示すことができる。説明のための一例として、
図8Fにおいて、リンク807に関する依存性GUI要素840は、リンク807によって表された依存性が、ユーザによって指定されたことを「申告」フィールド842付近のチェックマークにより示すが、「導出」フィールド842付近のチェックマークの欠如は、ユーザ指定データリネージに関連付けられた導出データリネージにおいて、対応する依存性が存在しないことを示す。このようにして、ユーザ指定リネージにおける細線リンクは、ユーザ指定リネージと、関連付けられた導出データリネージとの間の差異の存在を示すことができる。このような差異は、本明細書に記載する技術に従って、ユーザ指定データリネージと導出データリネージとの間の関連を用いて検出することができる。
【0123】
幾つかの実施形態では、太線リンクは、ユーザ指定リネージにおいてリンクによって表される依存性が、導出データリネージにおいて対応する依存性(例えば、1つ又は複数のリンクによって表される)を有することを示す。例えば、2つのビジネスデータ要素間のリンクは、導出データリネージにおいて、2つのビジネスデータ要素に対応する2つの物理的データ要素間に対応する依存性が存在する場合に、太線によって示すことができる。説明のための一例として、
図8Bにおいて、リンク803aに関する依存性GUI要素810は、(1)リンク803aによって表される依存性が、ユーザによって指定されたことを「申告」フィールド812付近のチェックマークで示し、及び(2)ユーザ指定データリネージ800と関連付けられた導出データリネージにおいて対応する依存性が存在することを「導出」フィールド814付近のチェックマークで示す。GUI要素816をクリックすることにより、
図8Cに示される導出データリネージ820におけるノード822と824との間のこの対応する依存性が示される(ノード824を通して)。このようにして、ユーザ指定リネージにおける太線リンクは、ユーザ指定リネージと導出データリネージとの間の一致又は対応を示すことができる。このような一致又は対応は、本明細書に記載する技術に従って、ユーザ指定データリネージと導出データリネージとの間の関連を使用して検出することができる。
【0124】
幾つかの実施形態では、破線リンク(例えば、
図8Aにおけるリンク803a)は、依存性が、第三者アプリケーションによって提供されたデータに対するものであることを示すことができる。
【0125】
幾つかの実施形態では、ユーザ指定データリネージを示すグラフィカルユーザインタフェースは、ユーザ指定リネージを作成するユーザによって行われるアサーションに対する信頼性を提供することができる、1つ又は複数の制御チェックGUI要素も示すことができる。例えば、
図8Aに示すように、制御チェックGUI要素は、丸付き文字として表され、丸で囲まれたVは、ノードが、妥当性制御チェックをパスしたことを示し、及び丸で囲まれたAは、ノードが、確度制御チェックをパスしたことを示す。追加的に、又は代替の、データ品質制御チェックにパスしたというグラフィカルインディケーションが、提供されてもよい。制御チェックGUI要素は、ノード及びリンク/フローの両方に適用することができる。例えば、リンク805上のチェックボックスは、1つ又は複数のクレジットスコアに対するチェックが行われたことを示す。
【0126】
図8Dは、本明細書に記載する技術の幾つかの実施形態に従って、
図8Aのユーザ指定データリネージにおいてノードに関する情報を提示する、説明のためのユーザインタフェースの図である。
図8Dに示すように、パネル825は、ビジネスデータ要素「クレジットスコア」に関連付けられた追加情報を示しており、及び対応する物理的データ要素「credit_score」へのリンクを包含し、このリンクは、参照符号830によって示される。これは、ユーザ指定データリネージと導出データリネージとの間の関連の別のビューを提供する。参照符号830によって示される物理的データ要素「credit_score」に対するリンクをクリックすることにより、例えば、
図8Eのパネル835に示されるような、物理的データ要素に関するさらなる情報が提供される。
図8Eに示すGUI要素836をさらにクリックすることにより、物理的データ要素「credit_score」を含有する導出データリネージの少なくとも一部が示される。
【0127】
図7は、本明細書に記載する技術を実施することができる適宜のコンピューティングシステム環境700の一例を図示する。コンピューティングシステム環境700は、適宜のコンピューティング環境の一例にすぎず、本明細書に記載する技術の使用又は機能性の範囲に関して何ら制限を示唆することを意図したものではない。コンピューティング環境700は、例示的動作環境700に図示されるコンポーネントの何れか1つ又は組み合わせに関する依存性又は要件を有すると解釈されるべきものでもない。
【0128】
本明細書に記載する技術は、多数の他の汎用又は専用コンピューティングシステムの環境又は構成と共に使用可能である。本明細書に記載する技術と共に使用するのに適し得る周知のコンピューティングシステム、環境、及び/又は構成の例には、限定されることはないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル大衆消費電子製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスの何れかを包含する分散コンピューティング環境などが包含される。
【0129】
コンピューティング環境は、プログラムモジュールなどのコンピュータ実行可能命令を実行することができる。一般に、プログラムモジュールには、特定のタスクを行う、又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが包含される。本明細書に記載する技術は、通信ネットワークを通してリンクされるリモート処理デバイスによってタスクが行われる分散コンピューティング環境において実行されてもよい。分散コンピューティング環境では、プログラムモジュールは、メモリストレージデバイスを包含するローカル及びリモートコンピュータストレージ媒体の両方に位置していてもよい。
【0130】
図7を参照して、本明細書に記載する技術を実施する例示的システムは、コンピュータ710の形態の汎用コンピューティングデバイスを包含する。コンピュータ710のコンポーネントは、限定されないが、処理装置720、システムメモリ730、及びシステムメモリを包含する様々なシステムコンポーネントを処理装置720に結合するシステムバス721を包含してもよい。システムバス721は、様々なバスアーキテクチャの何れかを使用した、メモリバス又はメモリコントローラ、周辺バス、及びローカルバスを包含する幾つかのタイプのバス構造の何れかであってもよい。例として、及び限定ではなく、このようなアーキテクチャには、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子装置規格化協会(Video Electronics Standards Association)(VESA)ローカルバス、及びメザニンバスとしても知られるペリフェラルコンポーネントインターコネクト(PCI)バスが包含される。
【0131】
コンピュータ710は、一般的に、様々なコンピュータ可読媒体を包含する。コンピュータ可読媒体は、コンピュータ710によってアクセスすることができる任意の入手可能な媒体でよく、及び揮発性及び不揮発性両方の媒体、リムーバブル及び非リムーバブル媒体を包含する。例として、及び限定ではなく、コンピュータ可読媒体は、コンピュータストレージ媒体及び通信媒体を含んでもよい。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報のストレージのための任意の方法又は技術で実施される、揮発性及び不揮発性、リムーバブル及び非リムーバブル媒体を包含する。コンピュータストレージ媒体には、限定されないが、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)又は他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気ストレージデバイス、又は所望の情報を保存するために使用することができ、且つコンピュータ710によってアクセスすることができるその他の媒体が包含される。通信媒体は、一般的に、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを搬送波又は他のトランスポート機構などの変調データ信号で具現化し、及びあらゆる情報配信媒体を包含する。「変調データ信号」という用語は、それの特性集合の1つ又は複数を有する、又は信号の情報をエンコードするように変更された信号を意味する。例として、及び限定ではなく、通信媒体には、有線ネットワーク又は直接有線接続などの有線媒体、及び音響、RF、赤外線、及び他の無線媒体などの無線媒体が包含される。上記の何れかの組み合わせも、コンピュータ可読媒体の範囲内に包含されるものとする。
【0132】
システムメモリ730は、読み出し専用メモリ(ROM)731及びランダムアクセスメモリ(RAM)732などの揮発性及び/又は不揮発性メモリの形態のコンピュータストレージ媒体を包含する。起動時などに、コンピュータ710内の素子間で情報を転送することを助ける基本ルーチンを含有した、基本入出力システム733(BIOS)は、一般的に、ROM731内に保存される。RAM732は、一般的に、即座に利用できる、及び/又は処理装置720によって現在操作されているデータ及び/又はプログラムモジュールを含有する。例として、及び限定ではなく、
図7は、オペレーティングシステム734、アプリケーションプログラム735、他のプログラムモジュール736、及びプログラムデータ737を図示する。
【0133】
コンピュータ710は、他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータストレージ媒体も包含することができる。単なる例として、
図7は、非リムーバブル、不揮発性磁気媒体に対する読み取り又は書き込みを行うハードディスクドライブ741、フラッシュメモリなどのリムーバブル、不揮発性メモリ752に対する読み取り又は書き込みを行うフラッシュドライブ751、及びCD-ROM又は他の光学媒体などのリムーバブル、不揮発性光ディスク756に対する読み取り又は書き込みを行う光ディスクドライブ755を図示する。例示的動作環境において使用することができる他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータストレージ媒体には、限定されないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体RAM、固体ROMなどが包含される。ハードディスクドライブ741は、一般的に、インタフェース740などの非リムーバブルメモリインタフェースを通してシステムバス721に接続され、及び磁気ディスクドライブ751及び光ディスクドライブ755は、一般的に、インタフェース750などのリムーバブルメモリインタフェースによってシステムバス721に接続される。
【0134】
上述した、及び
図7に図示したドライブ及びそれらに関連付けられたコンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及びコンピュータ710の他のデータのストレージを提供する。
図7においては、例えば、ハードディスクドライブ741は、オペレーティングシステム744、アプリケーションプログラム745、他のプログラムモジュール746、及びプログラムデータ747を保存するものとして図示される。これらのコンポーネントは、オペレーティングシステム734、アプリケーションプログラム735、他のプログラムモジュール736、及びプログラムデータ737と同じであってもよいし、あるいは異なっていてもよいことに留意されたい。オペレーティングシステム744、アプリケーションプログラム745、他のプログラムモジュール746、及びプログラムデータ747は、少なくとも、それらが異なるコピーであることを図示するために、ここでは、異なる番号が付与されている。ユーザは、キーボード762及び一般にマウス、トラックボール、又はタッチパッドと呼ばれるポインティングデバイス761などの入力デバイスによって、コンピュータ710にコマンド及び情報を入力することができる。他の入力デバイス(不図示)には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが包含され得る。これら及び他の入力デバイスは、システムバスに結合されたユーザ入力インタフェース760によって、処理装置720に接続されることが多いが、パラレルポート、ゲームポート、又はユニバーサルシリアルバス(USB)などの他のインタフェース及びバス構造によって接続されてもよい。モニタ791又は他のタイプのディスプレイデバイスも、ビデオインタフェース790などのインタフェースを介して、システムバス721に接続される。モニタに加えて、コンピュータは、出力周辺インタフェース795を通して接続することができる、スピーカ797及びプリンタ796などの他の周辺出力デバイスも包含することができる。
【0135】
コンピュータ710は、リモートコンピュータ780などの1つ又は複数のリモートコンピュータへの論理接続を用いたネットワーク化環境で動作することができる。リモートコンピュータ780は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、又は他の共通ネットワークノードでもよく、及び一般的に、
図7ではメモリストレージデバイス781のみが図示されているが、コンピュータ710に関連して上記した素子の多く又は全てを包含する。
図7に描かれる論理接続は、ローカルエリアネットワーク(LAN)771及び広域ネットワーク(WAN)773を包含するが、他のネットワークも包含してもよい。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、及びインターネットにおいて、ありふれたものである。
【0136】
LANネットワーキング環境で使用される場合、コンピュータ710は、ネットワークインタフェース又はアダプタ770を通してLAN771に接続される。WANネットワーキング環境で使用される場合、コンピュータ710は、一般的に、モデム772、又はインターネットなどのWAN773上で通信を確立するための他の手段を包含する。内部又は外部のものでもよいモデム772は、ユーザ入力インタフェース760又は他の適宜の機構を介して、システムバス721に接続されてもよい。ネットワーク化環境において、コンピュータ710に関連して描かれたプログラムモジュール、又はそれらの一部は、リモートメモリストレージデバイスに保存されてもよい。例として、及び限定ではなく、
図7は、メモリデバイス781に常駐しているとして、リモートアプリケーションプログラム785を図示する。示されるネットワーク接続は、例示的なものであり、及びコンピュータ間で通信リンクを確立する他の手段が使用されてもよいことが理解されるだろう。
【0137】
本発明の少なくとも1つの実施形態の幾つかの態様を上記のように記載したが、様々な変更、修正、及び改良が、当業者には容易に思い付くことが理解されるものとする。
【0138】
このような変更、修正、及び改良は、本開示の一部であることが意図され、及び本発明の精神及び範囲内であることが意図される。さらに、本発明の利点が示されるが、本明細書に記載の技術の全ての実施形態が、全ての記載した利点を包含するわけではないことが理解されるものとする。幾つかの実施形態は、本明細書において有利であると記載された何れの特徴も実施しない場合があり、場合によっては、記載された特徴の1つ又は複数が、さらなる実施形態を得るために実施されてもよい。従って、上記の記載及び図面は、単なる例である。
【0139】
本明細書に記載の技術の上記実施形態は、多数のやり方の何れで実施されてもよい。例えば、これらの実施形態は、ハードウェア、ソフトウェア、又はそれらの組み合わせを用いて実施されてもよい。ソフトウェアで実施される場合には、ソフトウェアコードは、単一のコンピュータにおいて提供されていようと、複数のコンピュータ間で分散されていようと、任意の適宜のプロセッサ又は一群のプロセッサ上で実行することができる。このようなプロセッサは、集積回路として実施されてもよく、業界において、CPUチップ、GPUチップ、マイクロプロセッサ、マイクロコントローラ、又はコプロセッサなどの名称で知られている市販の集積回路コンポーネントを包含する集積回路コンポーネントにおいて、1つ又は複数のプロセッサを有する。代替的に、プロセッサは、ASICなどのカスタム回路、又はプログラマブル論理デバイスの構成に起因するセミカスタム回路において実施されてもよい。またさらなる代替手段として、プロセッサは、市販、セミカスタム、あるいはカスタムであろうと、より大きな回路又は半導体デバイスの一部であってもよい。ある具体例として、幾つかの市販のマイクロプロセッサは、複数のコアの1つ又はサブセットがプロセッサを構成することができるように、複数のコアを有する。しかし、プロセッサは、任意の適宜のフォーマットの回路を使用して実施することができる。
【0140】
さらに、コンピュータは、ラックマウント式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、又はタブレットコンピュータなどの多数の形態の何れかで具現化されてもよいことが理解されるものとする。追加的に、コンピュータは、携帯情報端末(PDA)、スマートフォン、又は任意のその他の適宜のポータブル又は固定電子デバイスを包含する、一般にコンピュータとは見なされないが、適宜の処理能力を備えたデバイスに組み込まれてもよい。
【0141】
また、コンピュータは、1つ又は複数の入力デバイス及び出力デバイスを有していてもよい。これらのデバイスは、特に、ユーザインタフェースを提示するために使用することができる。ユーザインタフェースを提供するために使用することができる出力デバイスの例には、出力の視覚的表現のためのプリンタ又はディスプレイスクリーン、及び出力の可聴表現のためのスピーカ又は他の音生成デバイスが包含される。ユーザインタフェースに使用することができる入力デバイスの例には、キーボード、並びにマウス、タッチパッド、及びデジタイザタブレットなどのポインティングデバイスが包含される。別の例として、コンピュータは、音声認識により、又は他の可聴フォーマットで入力情報を受信してもよい。
【0142】
このようなコンピュータは、企業ネットワーク又はインターネットなどのローカルエリアネットワーク又は広域ネットワークとして包含する、任意の適宜の形態の1つ又は複数のネットワークによって相互接続することができる。このようなネットワークは、任意の適宜の技術に基づいてもよく、及び任意の適宜のプロトコルに従って動作してもよく、及び無線ネットワーク、有線ネットワーク、又は光ファイバネットワークを包含してもよい。
【0143】
また、本明細書に概要が述べられる様々な方法又はプロセスは、様々なオペレーティングシステム又はプラットフォームの何れか1つを用いる1つ又は複数のプロセッサに対して実行可能なソフトウェアとして符号化されてもよい。追加的に、このようなソフトウェアは、多数の適宜のプログラミング言語及び/又はプログラミング又はスクリプト作成ツールの何れかを使用して書かれてもよく、及びフレームワーク又は仮想マシンに対して実行される実行可能マシン語コード又は中間コードとしてコンパイルされてもよい。
【0144】
この点において、本発明は、1つ又は複数のコンピュータ又は他のプロセッサに対して実行されると、上述の本発明の様々な実施形態を実施する方法を行う1つ又は複数のプログラムでエンコードされたコンピュータ可読ストレージ媒体(又は複数のコンピュータ可読媒体)(例えば、コンピュータメモリ、1つ又は複数のフロッピーディスク、コンパクトディスク(CD)、光ディスク、デジタルビデオディスク(DVD)、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイ又は他の半導体デバイスにおける回路構成、又は他の有形コンピュータストレージ媒体)として具現化されてもよい。上記の例から明らかなように、コンピュータ可読ストレージ媒体は、非一時的な形態でコンピュータ実行可能命令を提供するのに十分な時間の間、情報を保持することができる。このような1つ又は複数のコンピュータ可読ストレージ媒体は、それ(ら)に保存された1つ又は複数のプログラムを、上述のような本発明の様々な態様を実施するために、1つ又は複数の異なるコンピュータ又は他のプロセッサにロードすることができるように、可搬であってもよい。本明細書においては、「コンピュータ可読ストレージ媒体」という用語は、製品(すなわち、製造物)又はマシンであると見なすことができる非一時的コンピュータ可読媒体のみを網羅する。代替的又は追加的に、本発明は、伝搬信号などの、コンピュータ可読ストレージ媒体以外のコンピュータ可読媒体として具現化されてもよい。
【0145】
「プログラム」又は「ソフトウェア」という用語は、本明細書では、上述のような本発明の様々な態様を実施するようにコンピュータ又は他のプロセッサをプログラムするために使用することができる、あらゆるタイプのコンピュータコード又はコンピュータ実行可能命令のセットを指すために総称的に使用される。追加的に、本実施形態のある態様によれば、実行されると、本発明の方法を行う1つ又は複数のコンピュータプログラムは、単一のコンピュータ又はプロセッサに常駐する必要はなく、本発明の様々な態様を実施するために、多数の異なるコンピュータ又はプロセッサ間で、モジュラー方式で分散されてもよいことが理解されるものとする。
【0146】
コンピュータ実行可能命令は、1つ又は複数のコンピュータ又は他のデバイスによって実行される、プログラムモジュールなどの多くの形態のものでもよい。一般に、プログラムモジュールには、特定のタスクを行う、又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが包含される。一般的に、プログラムモジュールの機能性は、様々な実施形態において、要望通りに組み合わせられてもよいし、あるいは分散されてもよい。
【0147】
また、データ構造は、任意の適宜の形態でコンピュータ可読媒体に保存されてもよい。図示を簡単にするために、データ構造は、データ構造内の場所によって関連したフィールドを有して示される場合がある。このような関係は、同様に、フィールドのストレージにフィールド間の関係を伝達するコンピュータ可読媒体内の場所を割り当てることによって、達成することができる。但し、ポインタ、タグ、又はデータ要素間の関係を確立する他の機構の使用によることを包含する、任意の適宜の機構を使用して、データ構造のフィールドにおける情報間の関係を確立してもよい。
【0148】
本発明の様々な態様は、単独で、組み合わせて、又は上記に記載した実施形態において具体的に述べられていない様々な配置で使用されてもよく、従って、その適用において、上記の説明に記載された、又は図面に図示されたコンポーネントの詳細及び配置に限定されない。例えば、ある実施形態に記載した態様は、任意の様式で、他の実施形態に記載した態様と組み合わせることができる。
【0149】
また、本発明は、一例を提供した方法として具現化されてもよい。この方法の一部として行われるアクトは、任意の適宜のやり方で、順序付けが行われてもよい。従って、アクトが、図示されたものとは異なる順序で(これは、説明のための実施形態では、逐次的なアクトとして示されたとしても、幾つかのアクトを同時に行うことを包含してもよい)行われる実施形態が構築されてもよい。
【0150】
さらに、幾つかの行為は、「ユーザ」によって行われると記載される。「ユーザ」は、一人の個人である必要はなく、及び幾つかの実施形態では、「ユーザ」に帰する行為は、複数の個人から成るチーム及び/又はコンピュータ支援ツール又は他の機構と組み合わせた個人によって行われてもよいことが理解されるものとする。
【0151】
クレーム要素を修飾する、クレームにおける「第1の」、「第2の」、「第3の」などの序数用語の使用は、それ自体は、1つのクレーム要素の別のクレーム要素に対する優先、先行、又は順序、又は方法のアクトが行われる時間的順序を暗示せず、ある名称を有する1つのクレーム要素を、同じ名称(序数用語の使用を除き)を有する別の要素と区別するための単なるラベルとして使用することにより、これらのクレーム要素が区別される。
【0152】
また、本明細書において使用される表現及び用語は、説明目的のものであり、及び限定として見なされるものではない。本明細書における、「包含する(including)」、「含む(comprising)」、又は「有する(having)」、「含有する(containing)」、「関与する(involving)」、及びそれらのバリエーションの使用は、その後にリストされるアイテム及びそれらの均等物、並びに追加のアイテムを網羅することを意味する。