JP5940560B2 - データの集合体に対する変更の管理 - Google Patents

データの集合体に対する変更の管理 Download PDF

Info

Publication number
JP5940560B2
JP5940560B2 JP2013549581A JP2013549581A JP5940560B2 JP 5940560 B2 JP5940560 B2 JP 5940560B2 JP 2013549581 A JP2013549581 A JP 2013549581A JP 2013549581 A JP2013549581 A JP 2013549581A JP 5940560 B2 JP5940560 B2 JP 5940560B2
Authority
JP
Japan
Prior art keywords
records
result
proposed
proposed change
change
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013549581A
Other languages
English (en)
Other versions
JP2014507713A5 (ja
JP2014507713A (ja
Inventor
ゴウルド,ジョエル
パーキンス,ティモシー
ウェイス,アダム
Original Assignee
アビニシオ テクノロジー エルエルシー
アビニシオ テクノロジー エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アビニシオ テクノロジー エルエルシー, アビニシオ テクノロジー エルエルシー filed Critical アビニシオ テクノロジー エルエルシー
Publication of JP2014507713A publication Critical patent/JP2014507713A/ja
Publication of JP2014507713A5 publication Critical patent/JP2014507713A5/ja
Application granted granted Critical
Publication of JP5940560B2 publication Critical patent/JP5940560B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Description

関連出願の相互参照
本願は、2011年1月14日に出願された米国特許出願第61/433,082号の優先権を主張し、同特許は、参照により本明細書に組み込まれる。
背景
この説明は、データの集合体に対する変更の管理に関する。
データベースシステムなどのコンピューティングシステムは、データの集合体に対する変更を管理するためのさまざまなメカニズムを提供する。ある事例では、ユーザは、データベースに格納されたデータに対する変更を提案して実施する。一般に、データベースは、格納されたデータをどのように変更することができるかを定義する規則を含む。
要約
一態様では、一般に、記録の集合体に対する変更を管理するための方法は、データ格納システムに記録の第1のセットを格納するステップであって、記録の第1のセットは、記録の集合体の第1のバージョンを表す、ステップを含む。本方法は、ユーザインターフェース上で受信された入力によって指定される、記録の集合体に対する提案された変更を検証するステップをさらに含む。検証するステップは、提案された変更に関連する検証基準に基づいてデータ格納システムへのクエリを行い、クエリを行うステップに応じて第1の結果を受信するステップと、記録の集合体に未だ適用されていない変更を表す記録の第2のセットを処理して、第2の結果を生成するステップと、第2の結果に基づいて第1の結果を更新して、第3の結果を生成するステップと、第3の結果を処理して、検証基準に従って提案された変更が有効かどうかを決定するステップとを含む。
別の態様では、一般に、コンピュータ可読記憶媒体は、記録の集合体に対する変更を管理するためのコンピュータプログラムを格納する。コンピュータプログラムは、コンピューティングシステムに、データ格納システムに記録の第1のセットを格納させるための命令であって、記録の第1のセットは、記録の集合体の第1のバージョンを表す、命令と、ユーザインターフェース上で受信された入力によって指定される、記録の集合体に対する提案された変更を検証させるための命令とを含む。検証するステップは、提案された変更に関連する検証基準に基づいてデータ格納システムへのクエリを行い、クエリを行うステップに応じて第1の結果を受信するステップと、記録の集合体に未だ適用されていない変更を表す記録の第2のセットを処理して、第2の結果を生成するステップと、第2の結果に基づいて第1の結果を更新して、第3の結果を生成するステップと、第3の結果を処理して、検証基準に従って提案された変更が有効かどうかを決定するステップとを含む。
別の態様では、一般に、記録の集合体に対する変更を管理するためのコンピューティングシステムは、記録の第1のセットを格納するデータ格納システムであって、記録の第1のセットは、記録の集合体の第1のバージョンを表す、データ格納システムと、ユーザインターフェース上で受信された入力によって指定される、記録の集合体に対する提案された変更を検証するよう構成された少なくとも1つのプロセッサとを含む。検証するステップは、提案された変更に関連する検証基準に基づいてデータ格納システムへのクエリを行い、クエリを行うステップに応じて第1の結果を受信するステップと、記録の集合体に未だ適用されていない変更を表す記録の第2のセットを処理して、第2の結果を生成するステップと、第2の結果に基づいて第1の結果を更新して、第3の結果を生成するステップと、第3の結果を処理して、検証基準に従って提案された変更が有効かどうかを決定するステップとを含む。
別の態様では、一般に、記録の集合体に対する変更を管理するためのコンピューティングシステムは、記録の第1のセットを格納するための手段であって、記録の第1のセットは、記録の集合体の第1のバージョンを表す、手段と、ユーザインターフェース上で受信された入力によって指定される、記録の集合体に対する提案された変更を検証するための手段とを含む。検証するステップは、提案された変更に関連する検証基準に基づいてデータ格納システムへのクエリを行い、クエリを行うステップに応じて第1の結果を受信するステップと、記録の集合体に未だ適用されていない変更を表す記録の第2のセットを処理して、第2の結果を生成するステップと、第2の結果に基づいて第1の結果を更新して、第3の結果を生成するステップと、第3の結果を処理して、検証基準に従って提案された変更が有効かどうかを決定するステップとを含む。
態様は、以下の特徴の1つまたは複数を含み得る。記録の第1のセットは、1つまたは複数のソース値をそれぞれのターゲット値にマッピングするメタデータマップを含む。提案された変更は、1つまたは複数のソース値の1つが2つ以上の異なるターゲット値にマッピングされた場合は無効になる。第3の結果を処理するステップは、提案された変更の適用により、1つまたは複数の重複記録が作成されることになるかどうかを特定するステップを含む。提案された変更の適用により、1つまたは複数の重複記録が作成されることになるかどうかを特定するステップは、1つまたは複数の重複行を特定するステップを含む。1つまたは複数の重複行は、検証基準として1つまたは複数のソース値を使用することで特定される。記録の第2のセットは、ユーザインターフェースに入力されている記録の第1のセットに対する提案された変更を表す1つまたは複数の変更セットを含む。入力は、以前に保存された変更セットに関連する変更を記録の第1のセットに適用するという命令を含む。記録の集合体に対する提案された変更を検証するステップは、入力によってユーザインターフェースで指定される他の提案された変更に対して、提案された変更を検証するステップを含む。ユーザインターフェースは、記録セットの1つまたは複数のサブセットを選択可能に表示するための1つまたは複数のフィルタを含む。提案された変更が有効でない場合は通知が生成される。通知は、検証基準に違反する提案された変更の一部を特定する。
態様は、以下の利点の1つまたは複数を含み得る。例えば、本明細書に記載される技法を使用して、さまざまなデータベースおよびファイルの整合性および精度を維持することができる。また、本明細書に記載される技法により、管理者は、1つまたは複数の記録システムを効率的に維持することができる。
発明の他の特徴および利点は、以下の説明および特許請求の範囲から明らかになるであろう。
図面の説明
グラフベースのコンピューテーションを実行するためのシステムのブロック図である。 記録の集合体に対する変更を管理するための例示的な手順のフローチャートである。 例示的なコンピューティング環境のスクリーンショットである。 例示的なコンピューティング環境のスクリーンショットである。 例示的なコンピューティング環境のスクリーンショットである。
説明
図1は、データの集合体(例えば、記録として構造化されたデータ)に対する変更を管理するための技法を使用できる例示的なコンピューティング環境100を示す。システム100は、記憶装置またはオンラインデータストリームとの接続部などの1つまたは複数のデータソースを含み得るデータ格納システム112を含み、それぞれは、さまざまな格納形式のいずれかの形式(例えば、メインフレームによって使用されるデータベース表、スプレッドシートファイル、フラットテキストファイルまたはネイティブ形式)でデータを格納することができる。
処理環境106は、処理エンジン108と、検証エンジン110とを含む。処理環境106は、UNIX(登録商標)オペレーティングシステムなどの適切なオペレーティングシステムの制御下で、1つまたは複数の汎用コンピュータをホストとすることができる。例えば、処理環境106は、ローカルで接続された(例えば、SMPコンピュータなどのマルチプロセッサシステム)もしくはローカルで分散された(例えば、クラスタもしくはMPPとして結合された複数のプロセッサ)、または、リモートで接続されたもしくはリモートで分散された(例えば、ローカルエリアネットワーク(LAN)および/または広域ネットワーク(WAN)を介して結合された複数のプロセッサ)、あるいは、それらの任意の組み合わせの、複数の中央演算処理装置(CPU)を使用したコンピュータシステムの構成を含む複数ノード並列演算環境を含み得る。
データ格納システム112を提供する記憶装置は、処理環境106とローカルで接続する、例えば、処理環境106を実行しているコンピュータに接続された記憶媒体(例えば、ハードドライブ)に格納することもでき、処理環境106とリモートで接続する、例えば、リモート接続上で、処理環境106を実行しているコンピュータと連通するリモートシステム(例えば、メインフレーム)をホストとすることもできる。
処理環境106(および/または処理エンジン108などのその関連コンポーネント)は、異なる形式のデータベースシステムを含むさまざまなタイプのシステムからデータを受信することができる。データは、恐らくヌル値を含む、それぞれのフィールド(「属性」または「列」とも呼ばれる)に対する値を有する記録として組織化することができる。データソースから最初にデータを読み取る際、処理環境106は、通常、そのデータソース内の記録についてのいくつかの初期のフォーマット情報から始める。状況次第では、データソースの記録構造は、初めは知られていない場合があり、代わりに、データソースの分析後に決定される場合がある。記録についての初期情報は、異なる値を表すビット数と、記録内のフィールドの順番と、ビットによって表される値のタイプ(例えば、ストリング、符号付き/符号なし整数)とを含み得る。
また、コンピューティング環境100は、ユーザ101から処理環境106にコマンドを通信するよう構成されたユーザインターフェース102も含む。ある例では、以下でさらに詳細に説明されるように、ユーザ101は、ユーザインターフェース102を使用して、提案された記録変更104を入力することができる。例えば、ユーザ101は、記録セット116内の表からの行もしくは列の追加および/もしくは削除、または、表の1つもしくは複数のフィールドの値に対する変更を含む提案された記録変更104を入力することによって、データ格納システム112に格納された記録セット116内の1つまたは複数の記録の変更を試みることができる。また、ユーザインターフェース102は、コンピュータディスプレイ、スピーカおよび同様のものなど、さまざまな出力デバイスを使用して、処理環境106からユーザ101に情報を通信することもできる。例えば、ユーザインターフェース102は、データ格納システム112に格納された情報をグラフで表すことができるグラフ表示(例えば、データベース表の列と行を表すグリッドを表示することによって)を含み得る。
処理エンジン108および検証エンジン110は、提案された記録変更104およびデータ格納システム112から検索された情報を使用して、データ格納システム112に格納された記録セット116に対する変更を検証および/または実施する。データ格納システム112から検索された情報は、1つまたは複数の未定の記録変更114(例えば、まだ実施されていないが、既に検証および/または保存が行われている可能性がある記録セット116に対する変更)に関連する情報を含み得る。いくつかの例では、未定の記録変更は、「変更セット」と呼ばれる。一般に、処理エンジン108は、1つまたは複数の記録セットを変更するための命令を表すデータを含む記録データを受信して処理する。処理エンジン108は、提案された記録変更104、未定の記録変更114および記録セット116からのデータを使用して、データ格納システム112に格納された記録セット116を変更するための命令を生成または実行することができる。ある例では、検証エンジン110は、記録の集合体を変更するため、命令が実行される前に(例えば、処理エンジン108によって)記録の集合体を変更するための命令を検証する。処理環境106は処理エンジン108と検証エンジン110の両方を含むが、処理環境106は、任意の数の個別のタスクエンジン間でそのタスクを分割することができる。例えば、単一のタスクエンジンは、処理エンジン108と検証エンジン110の両方の機能を実行することが可能である。同様に、処理エンジン108および検証エンジン110によって実行されるタスクは、多数のサブタスクエンジン間で分割することが可能である。
データ格納システム112に格納されたデータは、処理環境106でアクセス可能である。また、データ格納システム112は、開発者101がデータ格納システム112に格納されたデータに対する変更を提案して実施することができるユーザインターフェース102でも直接または間接的にアクセス可能である。ある例では、ユーザインターフェース102は、頂点間の有向リンク(作業要素のフローを表す)によって接続された頂点(コンポーネントまたはデータセットを表す)を含むデータフローグラフなどのアプリケーションを開発するための開発環境に関連する。例えば、そのような環境については、参照により本明細書に組み込まれる「Managing Parameters for Graph-Based Applications」と称する米国特許出願公開第2007/0011668号でさらに詳細に説明されている。そのようなグラフベースのコンピューテーションを実行するシステムについては、参照により本明細書に組み込まれる米国特許第5,566,072号「EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS」で説明されている。このシステムに従って作成されたデータフローグラフは、グラフコンポーネントによって表される個別のプロセスに情報を持ち込む、および個別のプロセスから情報を引き出すための方法、プロセス間で情報を移動するための方法、ならびに、プロセスに対する実行順番を定義するための方法を提供する。このシステムは、プロセス間通信方法(例えば、グラフのリンクに従った通信経路は、TCP/IPもしくはUNIX(登録商標)ドメインソケットを使用することも、共有メモリを使用して、プロセス間でデータを渡すこともできる)を選択するアルゴリズムを含む。
図2は、記録の集合体に対する変更を管理するための例示的な手順200のフローチャートを示す。手順200は、コンピューティング環境100のモジュールの1つまたは複数(例えば、処理エンジン108)によって実行することができる。
記録の第1のセットが、データ格納システムに格納される(202)。記録の第1のセットは、記録の集合体の第1のバージョンを表す。ある例では、記録の集合体は、メタデータマップなど、データ処理の際に使用するために正確に維持および更新すべき情報の集合体を表す。一般に、メタデータマップは、2つの異なるシステム間での値の変換を指定することができる。例えば、第1のシステムが値M(男性)およびF(女性)を使用して「性別」フィールドを定義し、第2のシステムが値0(男性)および1(女性)を使用して性別フィールドを定義する場合、メタデータマップを使用して、第1の(「ソース」)システムから第2の(「ターゲット」)システムへ値を変換することができる(例えば、M→0、F→1)。マッピングは、単一フィールド間またはフィールドセット間で行うことができる(例えば、第1のシステムから第2のシステムに複数の列をマッピングする)。例えば、人物の性別を表す第1の列および人物が居住する州を表す第2の列を含む記録を格納する第1のシステムについて考慮する。この例では、性別コードは州に依存し得、第1の性別コードマッピングはある州に対して使用され、第2の性別コードマッピングは別の州に対して使用される。MA州の記録は、値1を男性にマッピングし得るが、NY州の記録は、値3を男性にマッピングし得る。この例では、MA/0の組み合わせは、男性にマッピングし、MA/1の組み合わせは、女性にマッピングし、NY/3の組み合わせは、男性にマッピングする。
ある例では、メタデータマップは、1つの(および唯一の)ソース値から1つのターゲット値への変換を提供する。これらの例では、そのような変換はエラーを引き起こす恐れがあるため、メタデータマップは、M→0およびF→0に対する変換を提供することはできない。この様式の変換は、2つの異なるソース値が同じターゲット値にマッピングされることになるため、「M」と「F」との区別を本質的に破壊することになる。それに応じて、多くの場合、各ターゲット値は、1つのソース値にのみ関連し得る。他の実装形態では、ターゲットシステムが2つの異なるソース値(例えば、MとF)間の区別を維持することが望ましくない場合は、複数のソース値を同じターゲット値にマッピングすることが可能である。
入力によって指定される記録の集合体に対する提案された変更が、検証される(204)。ある例では、提案された変更を検証するステップ(204)は、手順206、208、210および212を含む検証プロセス205を含む。すなわち、提案された変更を検証するステップ(204)では、提案された変更に関連する検証基準に基づいてデータ格納システムへのクエリを行い、クエリを行うステップに応じて第1の結果を受信する(206)。例えば、提案された記録変更104についての情報を受信した後、処理エンジン108は、データ格納システム112へのクエリを行う。ある例では、データ格納システム112へのクエリを行うステップにより、データ格納システム112は、提案された変更104によって影響を受ける行および/または列に関連する行および/または列を特定する第1の結果を返すことになる。クエリが基づく検証基準は、特定の行のソースまたはターゲット列からの値のセットを表す。例えば、ソース列検証基準を使用して、提案された変更104の実施が記録セット116内の重複行をもたらさないことを検証することができ、ターゲット列からの値を使用して、ソース値とターゲット値との間のマッピングが可逆的なものであることを検証することができる(例えば、ターゲット値の各セットがユニークなものであることを確認するため)。処理エンジン108は、提案された記録変更104の検証において後に使用するために、第1の結果を格納することができる(例えば、ローカルメモリに)。
第2の結果を生成するため、記録の集合体に未だ適用されていない変更を表す記録の第2のセット(「変更セット」)が、処理される(208)。例えば、処理エンジン108は、第2の結果を生成するため、提案された記録変更104と矛盾し得る変更を表す、データ格納システム112に格納された未定の記録変更114を処理することができる。例えば、提案された記録変更104が行Xの値を修正するという命令を含む場合、処理エンジンは、行Xに関連する未定の記録変更114からいかなる情報も抽出することができる。未定の記録変更114から抽出された情報は、第2の結果として格納される(例えば、ローカルメモリに)。ある実施形態では、処理エンジン108は、未定の記録変更114を考慮することなく、提案された記録変更104を検証するため、第1の結果を検証エンジン110に渡すことができる。同様に、処理エンジン108は、提案された記録変更104を考慮することなく、未定の記録変更114を検証するため、第2の結果を検証エンジン110に渡すことができる。ある例では、図4A、4Bに示される環境および技法の1つまたは複数(以下でさらに詳細に説明される)を使用して、変更セットを生成することができる。
第1の処理結果が、第2の結果に基づいて更新されて、第3の結果が、生成される(210)。例えば、上記で論じられる方法で第1および第2の結果を生成した後、処理エンジン108は、第2の結果からの情報を用いて第1の結果を更新して、第3の結果を生成することができる。ある例では、第3の結果は、第1および第2の結果において特定された行および/または列を含む。第3の結果を処理して、検証基準に従って提案された変更が有効かどうかを決定することができる(212)。例えば、処理エンジン108は、第3の結果および提案された記録変更104を検証エンジン110に渡すことができる。次いで、検証エンジン110は、提案された記録変更104を比較して(例えば、提案された記録変更104において特定された検証基準を使用して)、提案された記録変更104が有効かどうかを決定することができる(214)。記録セットに対する提案された変更が有効かどうかを決定するステップは、重複ソース値をチェックするステップ、ソース値の各セットがターゲット値のユニークなセットにマッピングされることを実証するステップおよびいかなる範囲(例えば、日付範囲)も重複しないことを実証するステップの1つまたは複数を含み得る。
提案された変更が無効である(いいえ)と決定された場合は、提案された変更が、拒否される(218)。また、1つまたは複数のユーザ通知が、生成され得る(220)。ある例では、通知は、提案された変更が無効になった1つまたは複数の理由を特定することができる。例えば、提案された変更が未定の記録変更114において削除されている行を修正するという命令を含むことが原因で、検証エンジン110が提案された変更を拒否すれば、提案された記録変更104と未定の記録変更114との間の矛盾を特定する通知をユーザインターフェース102上で生成することができる。
提案された変更が有効である(はい)と決定された場合は、提案された変更が、記録の集合体に適用され得る。例えば、検証エンジン110が検証基準に従って提案された変更104が有効であることを決定すれば、処理エンジン108(または別の適切な実体)は、提案された記録変更104において提供された命令に従って、記録セット116を修正することができる。例えば、提案された記録変更104が記録セット116の行を修正するという命令を含み、検証エンジン110が検証基準に従って提案された変更104が有効であることを決定する場合は、処理エンジン108は、提案された記録変更104において特定された記録セット116の行を修正することができる。
ある例では、検証基準に基づいて外部の表からの行についてクエリを行う検証プロセス、それはソース値セットまたはターゲット値セットのいずれかであり得る。次いで、データ格納システム(例えば、メタデータ格納リポジトリ)は、外部の行の更新または削除を表す現在の変更セットに関して、保存された行に対してクエリを受け得る。ある例では、データ格納システムのこのクエリは、オーバーライドの本質は結果として得られた行がもはや検証基準に適合しないことを意味し得るため、検証基準を使用しない場合がある。保存されたオーバーライドに基づいて、もはや検証基準に適合しない外部の行は、データ格納システムから除去することができる。次いで、データ格納システムは、検証基準に適合する行に対してクエリを受け得る。既に検証セット内にある外部の行のユニークな識別子に適合する、結果として得られた行の一部またはすべては、対応する外部の行を置き換えることができる。次いで、検証基準に適合する他の行は、セットに追加することができる。最終的に、ユーザインターフェースからのいかなる未保存の変更も、最新の変更が検証基準に適合するかどうかに基づいて、検証セットから、同じユニークな識別子を有する既存の行を置き換えるまたは除去することができる。検証基準に適合し、新しい行(例えば、外部の表に対する挿入)を表す未保存の行は、検証セットに追加することができる。次いで、行の最終セットを使用して、検証を適用することができる。
図3は、例えば、ユーザインターフェース102上で表示され得る環境300の例示的なスクリーンショットである。ユーザ(例えば、ユーザ101)は、環境300を使用して、1つまたは複数の記録を閲覧したり相互作用したりすることができる。環境300は、ファイルエクスプローラ312を提供し、ファイルエクスプローラ312は、1つまたは複数の組織システムを使用して、ファイルの構成を表示する。この例では、ファイルは階層構造に組織化される(例えば、親「Mappings」は子ノード「Maps」を含み、子ノード「Maps」は順に多くの下位の子ノードファイルを含む)。ユーザは、ファイルエクスプローラをナビゲートして、選択されたファイル303などの1つまたは複数のファイルを選択して表示することができる。
ファイルが選択された後、選択されたファイル303に関連するデータに1つまたは複数のフィルタ314を適用することができる。フィルタ314の適用は、例えば、環境300で表示されるデータのタイプまたは量を変更することができる。例えば、選択されたファイル303にフィルタ314を適用して、ターゲット値が入力されていない行の表示を抑制することができる。
この例では、選択されたファイル303は、メタデータマップである。上記で論じられるように、一般に、メタデータマップは、2つの異なるシステム間での値の変換であり得る。図3では、メタデータマップは、第1の行304を含む5つの行302を含む。また、メタデータマップは、第1の列308と第2の列310を含む2つの列306も含む。第1の行304を参照すると、第1の列308は、ある1つのメタデータに対するソース値(P001)を表す。第2の列310は、同じある1つのメタデータに対するターゲット値(Y)を表す。したがって、この例では、第1の列308および第2の列310は、選択されたファイル303の第1の行304に対するメタデータマップを定義し、ソース値P001をターゲット値「Y」にマッピングする。
図4Aおよび4Bは、例示的な環境400A、400Bであり、無効な提案された変更に関連する行が閲覧環境に自動的に提供され、その結果、ユーザは、規則違反の視覚表示を見ることができる技法のデモンストレーションを行う。図4Aは、上記で説明される環境300(図3)と同様の環境400Aの例示的なスクリーンショットである。環境400Aは、選択されたファイルに関連するメタデータを表示し、第1の行404を含む。この例では、フィルタ402により、環境400Aは、ソース値が値「P002」を有する行のみを表示し、この行は第1の行404を含む。第1の行404の第1の列は、ソース値406 P002を含み、これは、第1の行404の第2の列のターゲット値408「N」にマッピングされる。それに応じて、第1の行404は、ソース値406 P002に対するメタデータマップを表す。
図4Bは、ユーザ(または他の実体)が無効な変更を表す第2の行410を追加した環境400Bを示す。上記で説明されるように、無効な変更により、通知で示されるタイプの行を本来なら抑制することになるフィルタが存在するにもかかわらず、規則違反(例えば、検証基準の違反)をユーザに通知するための通知が生成されることになり得る。例えば、図4Aと同様に、フィルタ402は有効な状態を保ち、これにより、通常、表示される行をソース値が値P002を有する行に制限することができる。しかし、この例では、第2の行410が追加されており(例えば、提案された変更104として)、これは、ソース値412「P003」をターゲット値414「X」にマッピングすることを提案する。提案された変更を分析すると同時に、提案された変更は、第1の結果(例えば、記録セット116に関連する第1の結果)および第2の結果(例えば、未定の記録変更114に関連する第2の結果)の一方または両方に対して無効になる。この例では、検証基準は単一のソース値を2つ以上のターゲット値にマッピングすることはできないと指定しているため、ターゲット値X 414へのソース値412 P003の提案されたマッピングは、矛盾する行409で示される、ターゲット値407「Y」へのソース値412 P003の既存のマッピングと矛盾するため、無効である。
検証プロセスは、さまざまな技法を使用してトリガすることができる。例えば、ユーザは、記録の集合体に対する提案された変更を検証することを検証エンジン110(図1)に指示する「変更を検証する」コントロールを起動することができる。また、検証プロセスは、ユーザインターフェース(例えば、環境400A、400B)に変更が入力された後でトリガすることもできる。ある例では、検証プロセスは、リアルタイムで起こり得、ユーザがユーザインターフェースに変更を入力する(例えば、タイプする)と、記録の集合体に対する変更を検証することができる。したがって、検証プロセスは、格納された(例えば、外部に格納された)記録の集合体、格納された未定の記録変更のセット(例えば、変更セット)およびユーザインターフェースに現れるが、変更セットとして未だ保存されていない、または記録の集合体に未だ適用されていない変更に対して、提案された変更を検証することができる(例えば、ユーザインターフェースにおける第1の変更は、未だ実施されていない、または変更セットとして未だ保存されていないユーザインターフェースにおける他の変更に対して検証することができる)。
提案された変更が無効になった後、矛盾する行409は、そうでなければP002以外のソース値を有する行を抑制することになるフィルタ402を適用するにもかかわらず、環境400Bにおいてレンダリングすることができる。この場合、矛盾する行409は、無効な提案された変更を表す違反する行(行410)に隣接してレンダリングされる。それに加えて、1つまたは複数の通知414、416を生成して、無効な提案された変更にユーザの注目を集めることができる。無効な提案された変更を訂正するため、ユーザは、違反した検証規則を満たすため、提案された変更の削除、または、提案された変更および/もしくは矛盾する値の修正のいずれかを行うことができる。
また、環境400Bは、ユーザによって起動され得る保存コントロール418と、保存&提出コントロール420とを含む。ある例では、保存コントロール418の起動は、ユーザによって入力されたいかなる提案された変更も保存するが、提案された変更を記録セットに適用することはない(例えば、保存コントロール418の起動に応じて、記録セットに関連するデータが変更されることはない)。代わりに、保存コントロール418の起動により、記録セットに未だ適用されていない保存された提案された変更(例えば、図1に示される未定の記録変更114)を含むファイル(例えば、変更セット)が生成され得る。保存&提出コントロール420は、提案された変更の保存と記録セットへのそれらの適用の両方を行うためにユーザによって起動され得る。したがって、提案された変更が有効であると決定されれば(例えば、図2に関連して説明されるプロセス200によって)、提案された変更に従って記録セットが変更されることになる。ある例では、ユーザは、変更セットをさらに編集するため、または、変更セットで示される変更を実施するため、変更セットにアクセスすることができる。記録の集合体への変更セットの実施は、プロセス200(図2)と同様の検証プロセス次第である。変更セットを実施する(例えば、変更セットの提案された変更を記録の集合体に適用する)と、変更セットは提案された変更104を表し得、未定の記録変更114は有効になった変更セットとは異なる1つまたは複数の変更セットであり得る。
上記で説明される記録の集合体に対する変更を管理するための技法は、コンピュータ上で実行するためのソフトウェアを使用して実施することができる。例えば、ソフトウェアは、1つまたは複数のプログラムされたまたはプログラム可能なコンピュータシステム(それは、分散型、クライアント/サーバまたはグリッドなどのさまざまなアーキテクチャのものである)上で実行する1つまたは複数のコンピュータプログラムの手順を形成し、コンピュータシステムはそれぞれ、少なくとも1つのプロセッサと、少なくとも1つのデータ格納システム(揮発性および不揮発性メモリならびに/または格納要素を含む)と、少なくとも1つの入力デバイスまたはポートと、少なくとも1つの出力デバイスまたはポートを含む。ソフトウェアは、例えば、データフローグラフの設計および構成に関連する他のサービスを提供する大規模なプログラムの1つまたは複数のモジュールを形成することができる。グラフのノードおよび要素は、コンピュータ可読媒体に格納されたデータ構造、または、データリポジトリに格納されたデータモデルに適合する他の組織化されたデータとして実装することができる。
ソフトウェアは、汎用または特殊用途のプログラム可能なコンピュータによる読み取りが可能なCD−ROMなどの記憶媒体上で提供されても、ネットワークの通信媒体上で、ソフトウェアが実行されるコンピュータに送達されてもよい(伝播信号で符号化される)。機能のすべては、特殊用途のコンピュータ上で、または、コプロセッサなどの特殊用途のハードウェアを使用して実行することができる。ソフトウェアは、ソフトウェアによって指定されるコンピューテーションの異なる部分は異なるコンピュータによって実行される分散様式で実施することができる。それぞれのそのようなコンピュータプログラムは、好ましくは、汎用もしくは特殊用途のプログラム可能なコンピュータによる読み取りが可能な記憶媒体もしくはデバイス(例えば、ソリッドステートメモリもしくは媒体、または、磁気もしくは光媒体)上に格納されるか、または、同記憶媒体もしくはデバイスにダウンロードされるが、それは、コンピュータシステムで記憶媒体もしくはデバイスを読み取り、本明細書に記載される手順を実行する際にコンピュータを構成および動作するためである。また、本発明のシステムは、コンピュータ可読記憶媒体として実装され、コンピュータプログラムを用いて構成されるものと考慮され得、そのように構成された記憶媒体は、特定の事前に定義された様式でコンピュータシステムを動作させ、本明細書に記載される機能を実行する。
本発明の多くの実施形態について説明してきた。それにもかかわらず、本発明の精神および範囲から逸脱することなく、さまざまな変更を行うことができることが理解されよう。例えば、上記で説明されたステップのいくつかは、順番に依存しないものであり得、したがって、説明されている順番とは異なる順番で実行することができる。
前述の説明は、例示を意図するものであり、本発明の範囲を限定するものではなく、本発明の範囲は、添付の特許請求の範囲によって定義されることを理解されたい。例えば、上記で説明された多くの機能ステップは、処理全体に実質的に影響を与えることなく、異なる順番で実行することができる。他の実施形態は、以下の特許請求の範囲内にある。

Claims (51)

  1. 少なくとも1つのプロセッサを含むコンピューティングシステムにおける、記録の集合体に対する変更を管理するための方法であって、
    前記少なくとも1つのプロセッサは、
    データ格納システムに記録の第1のセットを格納するステップであって、前記記録の第1のセットは、前記記録の集合体の第1のバージョンを表す、ステップと、
    ユーザインターフェース上で受信された入力によって指定される、前記記録の集合体に対する提案された変更を検証するステップと
    を含み、前記検証するステップは、
    前記提案された変更を検証するための検証基準に基づいて前記データ格納システムへのクエリを行い、前記クエリを行うステップに応じて第1の結果を受信するステップと、
    前記記録の集合体に未だ適用されていない変更を表す記録の第2のセットを処理して、第2の結果を生成するステップであって、前記記録の第2セットによって表される前記変更は、前記入力によって指定される前記提案された変更と異なる、該生成するステップと、
    前記第2の結果に基づいて前記第1の結果を更新して、第3の結果を生成するステップと、
    前記第3の結果を処理して、前記検証基準に従って前記提案された変更が有効かどうかを決定するステップと
    実行する、方法。
  2. 前記記録の第1のセットは、1つ以上のソース値を1つ以上のターゲット値にマッピングするメタデータマップをそれぞれ有する記録を含む、請求項1に記載の方法。
  3. 前記第3の結果を処理するステップは、1つ以上のソース値の同じセット、2つ以上の異なるメタデータマップにより、1つ以上のターゲット値の2つ以上の異なるセットにマッピングされた場合、又は1つ以上のソース値の2つ以上の異なるセットが、2つ以上の異なるメタデータマップにより、1つ以上のターゲット値の前記同じセットにマッピングされる場合は前記提案された変更を無効にするステップを含む、請求項2に記載の方法。
  4. 前記第3の結果を処理するステップは、前記提案された変更の適用により、前記記録の第1のセットに既に含まれる他の記録と重複する重複記録が1つ以上作成されることになるかどうかを特定するステップを含む、請求項1に記載の方法。
  5. 前記提案された変更の適用により、1つ以上の重複記録が作成されることになるかどうかを特定するステップは、1つ以上の重複行を特定するステップを含む、請求項4に記載の方法。
  6. ソース値をそれぞれのターゲット値にマッピングする1つの行より多くの行に固有のソース値が出現しないことを保証するための前記検証基準として、1つ以上のソース値を使用することで、前記1つ以上の重複行が特定される、請求項に記載の方法。
  7. 前記記録の第2のセットは、ユーザインターフェースに入力されている前記記録の第1のセットに対する提案された変更を表す1つ以上の変更セットを含む、請求項1に記載の方法。
  8. 前記入力は、以前に保存された変更セットに関連する変更を前記記録の第1のセットに適用するという命令を含む、請求項1に記載の方法。
  9. 前記記録の集合体に対する前記提案された変更を検証するステップは、前記入力によって前記ユーザインターフェースで指定される他の提案された変更に対して、前記提案された変更を検証するステップを含む、請求項1に記載の方法。
  10. 前記ユーザインターフェースは、記録セットの1つ以上のサブセットを選択可能に表示するための1つ以上のフィルタを含む、請求項1に記載の方法。
  11. 前記少なくとも1つのプロセッサが、
    前記提案された変更が有効でない場合に通知を生成するステップをさらに実行する、請求項1に記載の方法。
  12. 前記通知は、前記検証基準に違反する前記提案された変更の一部を特定する、請求項11に記載の方法。
  13. 記録の集合体に対する変更を管理するためのコンピュータプログラムを格納するコンピュータ可読記憶媒体であって、前記コンピュータプログラムは、コンピューティングシステムに、
    データ格納システムに記録の第1のセットを格納させるための命令であって、前記記録の第1のセットは、前記記録の集合体の第1のバージョンを表す、命令と、
    ユーザインターフェース上で受信された入力によって指定される、前記記録の集合体に対する提案された変更を検証させるための命令と
    を含み、前記検証することは、
    前記提案された変更を検証するための検証基準に基づいて前記データ格納システムへのクエリを行い、前記クエリを行うことに応じて第1の結果を受信することと、
    前記記録の集合体に未だ適用されていない変更を表す記録の第2のセットを処理して、第2の結果を生成することであって、前記記録の第2セットによって表される前記変更は、前記入力によって指定される前記提案された変更と異なる、該生成することと、
    前記第2の結果に基づいて前記第1の結果を更新して、第3の結果を生成することと、
    前記第3の結果を処理して、前記検証基準に従って前記提案された変更が有効かどうかを決定することと
    を含む、コンピュータ可読記憶媒体。
  14. 記録の集合体に対する変更を管理するためのコンピューティングシステムであって、
    記録の第1のセットを格納するデータ格納システムであって、前記記録の第1のセットは、前記記録の集合体の第1のバージョンを表す、データ格納システムと、
    ユーザインターフェース上で受信された入力によって指定される、前記記録の集合体に対する提案された変更を検証するよう構成された少なくとも1つのプロセッサと
    を含み、前記検証することは、
    前記提案された変更を検証するための検証基準に基づいて前記データ格納システムへのクエリを行い、前記クエリを行うことに応じて第1の結果を受信することと、
    前記記録の集合体に未だ適用されていない変更を表す記録の第2のセットを処理して、第2の結果を生成することであって、前記記録の第2セットによって表される前記変更は、前記入力によって指定される前記提案された変更と異なる、該生成することと、
    前記第2の結果に基づいて前記第1の結果を更新して、第3の結果を生成することと、
    前記第3の結果を処理して、前記検証基準に従って前記提案された変更が有効かどうかを決定することと
    を含む、コンピューティングシステム。
  15. 前記記録の第1のセットは、1つ以上のソース値を1つ以上のターゲット値にマッピングするメタデータマップをそれぞれ有する記録を含む、請求項13に記載のコンピュータ可読記憶媒体。
  16. 前記第3の結果を処理することは1つ以上のソース値の同じセット、2つ以上の異なるメタデータマップにより、1つ以上のターゲット値の2つ以上の異なるセットにマッピングされた場合、又は1つ以上のソース値の2つ以上の異なるセットが、2つ以上の異なるメタデータマップにより、1つ以上のターゲット値の前記同じセットにマッピングされる場合は前記提案された変更を無効にさせるための命令をさらに含む、請求項15に記載のコンピュータ可読記憶媒体。
  17. 前記第3の結果を処理することは、前記提案された変更の適用により、前記記録の第1のセットに既に含まれる他の記録と重複する重複記録が1つ以上作成されることになるかどうかを特定することを含む、請求項13に記載のコンピュータ可読記憶媒体。
  18. 前記提案された変更の適用により、1つ以上の重複記録が作成されることになるかどうかを特定することは、1つ以上の重複行を特定することを含む、請求項17に記載のコンピュータ可読記憶媒体。
  19. ソース値をそれぞれのターゲット値にマッピングする1つの行より多くの行に固有のソース値が出現しないことを保証するための前記検証基準として、1つ以上のソース値を使用することで、前記1つ以上の重複行が特定される、請求項18に記載のコンピュータ可読記憶媒体。
  20. 前記記録の第2のセットは、ユーザインターフェースに入力されている前記記録の第1のセットに対する提案された変更を表す1つ以上の変更セットを含む、請求項13に記載のコンピュータ可読記憶媒体。
  21. 前記入力は、以前に保存された変更セットに関連する変更を前記記録の第1のセットに適用するという命令を含む、請求項13に記載のコンピュータ可読記憶媒体。
  22. 前記記録の集合体に対する前記提案された変更を検証することは、前記入力によって前記ユーザインターフェースで指定される他の提案された変更に対して、前記提案された変更を検証することを含む、請求項13に記載のコンピュータ可読記憶媒体。
  23. 前記ユーザインターフェースは、記録セットの1つ以上のサブセットを選択可能に表示するための1つ以上のフィルタを含む、請求項13に記載のコンピュータ可読記憶媒体。
  24. 前記コンピュータプログラムは、前記コンピューティングシステムに、
    前記提案された変更が有効でない場合に通知を生成させる命令をさらに含む、請求項13に記載のコンピュータ可読記憶媒体。
  25. 前記通知は、前記検証基準に違反する前記提案された変更の一部を特定する、請求項24に記載のコンピュータ可読記憶媒体。
  26. 前記記録の第1のセットは、1つ以上のソース値を1つ以上のターゲット値にマッピングするメタデータマップをそれぞれ有する記録を含む、請求項14に記載のコンピューティングシステム。
  27. 前記第3の結果を処理することは、1つ以上のソース値の同じセット、2つ以上の異なるメタデータマップにより、1つ以上のターゲット値の2つ以上の異なるセットにマッピングされた場合、又は1つ以上のソース値の2つ以上の異なるセットが、2つ以上の異なるメタデータマップにより、1つ以上のターゲット値の前記同じセットにマッピングされる場合は前記提案された変更を無効にすることを含む、請求項26に記載のコンピューティングシステム。
  28. 前記第3の結果を処理することは、前記提案された変更の適用により、前記記録の第1のセットに既に含まれる他の記録と重複する重複記録が1つ以上作成されることになるかどうかを特定することを含む、請求項14に記載のコンピューティングシステム。
  29. 前記提案された変更の適用により、1つ以上の重複記録が作成されることになるかどうかを特定することは、1つ以上の重複行を特定することを含む、請求項28に記載のコンピューティングシステム。
  30. ソース値をそれぞれのターゲット値にマッピングする1つの行より多くの行に固有のソース値が出現しないことを保証するための前記検証基準として1つ以上のソース値を使用することで、前記1つ以上の重複行が特定される、請求項29に記載のコンピューティングシステム。
  31. 前記記録の第2のセットは、ユーザインターフェースに入力されている前記記録の第1のセットに対する提案された変更を表す1つ以上の変更セットを含む、請求項14に記載のコンピューティングシステム。
  32. 前記入力は、以前に保存された変更セットに関連する変更を前記記録の第1のセットに適用するという命令を含む、請求項14に記載のコンピューティングシステム。
  33. 前記記録の集合体に対する前記提案された変更を検証することは、前記入力によって前記ユーザインターフェースで指定される他の提案された変更に対して、前記提案された変更を検証することを含む、請求項14に記載のコンピューティングシステム。
  34. 前記ユーザインターフェースは、記録セットの1つ以上のサブセットを選択可能に表示するための1つ以上のフィルタを含む、請求項14に記載のコンピューティングシステム。
  35. 前記プロセッサは、
    前記提案された変更が有効でない場合に通知を生成するようさらに構成される、請求項14に記載のコンピューティングシステム。
  36. 前記通知は、前記検証基準に違反する前記提案された変更の一部を特定する、請求項35に記載のコンピューティングシステム。
  37. 前記記録の第2のセットは、前記記録の集合体に対する前記提案された変更を指定する前記入力を受信する前に前記データ格納システムに格納される、請求項1に記載の方法。
  38. 前記記録の第2のセットは、前記記録の集合体に対する前記提案された変更を指定する前記入力を受信する前に前記データ格納システムに格納される、請求項13に記載のコンピュータ可読記憶媒体。
  39. 前記記録の第2のセットは、前記記録の集合体に対する前記提案された変更を指定する前記入力を受信する前に前記データ格納システムに格納される、請求項14に記載のコンピューティングシステム。
  40. 前記記録の第2のセットにより表される前記変更は、既に提案され、検証されている、請求項1に記載の方法。
  41. 前記第1の結果は、前記提案された変更により影響される情報を含む前記記録の第1のセット内の記録を示す、請求項40に記載の方法。
  42. 前記第2の結果は、前記提案された変更と潜在的に矛盾する前記記録の第2のセット内に矛盾する記録があるか否かを示す、請求項41に記載の方法。
  43. 前記第2の結果は、前記提案された変更により影響される情報を含む矛盾の記録内または前記記録の第1のセット内の記録を示す、請求項42に記載の方法。
  44. 前記記録の第2のセットにより表される前記変更は、既に提案され、検証されている、請求項13に記載のコンピュータ可読記録媒体。
  45. 前記第1の結果は、前記提案された変更により影響される情報を含む前記記録の第1のセット内の記録を示す、請求項44に記載のコンピュータ可読記録媒体。
  46. 前記第2の結果は、前記提案された変更と潜在的に矛盾する前記記録の第2のセット内に矛盾する記録があるか否かを示す、請求項45に記載のコンピュータ可読記録媒体。
  47. 前記第2の結果は、前記提案された変更により影響される情報を含む矛盾の記録内または前記記録の第1のセット内の記録を示す、請求項46に記載のコンピュータ可読記録媒体。
  48. 前記記録の第2のセットにより表される前記変更は、既に提案され、検証されている、請求項14に記載のコンピューティングシステム。
  49. 前記第1の結果は、前記提案された変更により影響される情報を含む前記記録の第1のセット内の記録を示す、請求項48に記載のコンピューティングシステム。
  50. 前記第2の結果は、前記提案された変更と潜在的に矛盾する前記記録の第2のセット内に矛盾する記録があるか否かを示す、請求項49に記載のコンピューティングシステム。
  51. 前記第2の結果は、前記提案された変更により影響される情報を含む矛盾の記録内または前記記録の第1のセット内の記録を示す、請求項50に記載のコンピューティングシステム。



JP2013549581A 2011-01-14 2012-01-13 データの集合体に対する変更の管理 Active JP5940560B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161433082P 2011-01-14 2011-01-14
US61/433,082 2011-01-14
PCT/US2012/021286 WO2012097278A1 (en) 2011-01-14 2012-01-13 Managing changes to collections of data

Publications (3)

Publication Number Publication Date
JP2014507713A JP2014507713A (ja) 2014-03-27
JP2014507713A5 JP2014507713A5 (ja) 2015-03-05
JP5940560B2 true JP5940560B2 (ja) 2016-06-29

Family

ID=45615045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013549581A Active JP5940560B2 (ja) 2011-01-14 2012-01-13 データの集合体に対する変更の管理

Country Status (8)

Country Link
US (1) US9418095B2 (ja)
EP (1) EP2663937B1 (ja)
JP (1) JP5940560B2 (ja)
KR (1) KR101872748B1 (ja)
CN (1) CN103329130B (ja)
AU (1) AU2012205339B2 (ja)
CA (1) CA2824282C (ja)
WO (1) WO2012097278A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010065511A1 (en) 2008-12-02 2010-06-10 Ab Initio Software Llc Mapping instances of a dataset within a data management system
JP6121163B2 (ja) * 2009-09-16 2017-04-26 アビニシオ テクノロジー エルエルシー データセット要素のマッピング
CA2814835C (en) 2010-10-25 2019-01-08 Ab Initio Technology Llc Managing data set objects in a dataflow graph that represents a computer program
WO2012097278A1 (en) 2011-01-14 2012-07-19 Ab Initio Technology Llc Managing changes to collections of data
US9165035B2 (en) * 2012-05-10 2015-10-20 Microsoft Technology Licensing, Llc Differential dataflow
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US9832068B2 (en) 2012-12-17 2017-11-28 Microsoft Technology Licensing, Llc Reachability-based coordination for cyclic dataflow
US10140269B2 (en) * 2013-03-12 2018-11-27 Microsoft Technology Licensing, Llc Viewing effects of proposed change in document before committing change
CN104598374B (zh) * 2013-10-30 2017-12-01 国际商业机器公司 校正失效脚本的方法和设备
US20150242389A1 (en) * 2014-02-27 2015-08-27 Netapp, Inc. Techniques to identify user interface elements associated with model violation events
US9910883B2 (en) 2014-04-07 2018-03-06 International Business Machines Corporation Enhanced batch updates on records and related records system and method
EP3191962B1 (en) 2014-07-18 2019-12-11 AB Initio Technology LLC Managing parameter sets
US10204134B2 (en) * 2014-08-14 2019-02-12 International Business Machines Corporation Automatic detection of problems in a large-scale multi-record update system and method
US9626393B2 (en) 2014-09-10 2017-04-18 Ab Initio Technology Llc Conditional validation rules
US10176234B2 (en) 2014-11-05 2019-01-08 Ab Initio Technology Llc Impact analysis
US9942091B2 (en) * 2015-02-27 2018-04-10 Roche Diabetes Care, Inc. Pump configuration software wizard for configuring parameters of a handheld insulin pump
US11514448B1 (en) * 2016-07-11 2022-11-29 Chicago Mercantile Exchange Inc. Hierarchical consensus protocol framework for implementing electronic transaction processing systems
US11521242B2 (en) * 2016-08-31 2022-12-06 Meta Platforms, Inc. Asynchronous execution of tasks and ordering of task execution
US11507571B2 (en) * 2019-04-16 2022-11-22 Snowflake Inc. Materialized views over external tables in database systems
WO2022119848A1 (en) * 2020-12-03 2022-06-09 Merck Sharp & Dohme Corp. Chemistry, manufacturing, and controls change assessment system

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758351A (en) 1995-03-01 1998-05-26 Sterling Software, Inc. System and method for the creation and use of surrogate information system objects
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
JPH10133920A (ja) * 1996-09-03 1998-05-22 Fujitsu Ltd データベース管理装置及びデータベース管理制御プログラムを記録したコンピュータ読取可能な記録媒体
US6216140B1 (en) 1997-09-17 2001-04-10 Hewlett-Packard Company Methodology for the efficient management of hierarchically organized information
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6216131B1 (en) 1998-02-06 2001-04-10 Starfish Software, Inc. Methods for mapping data fields from one data set to another in a data processing environment
JP2000029896A (ja) * 1998-07-13 2000-01-28 Nec Corp 未検証データを分離したデータベースシステムおよびその管理方法
JP2000267909A (ja) * 1999-03-19 2000-09-29 Hitachi Software Eng Co Ltd データベースシステム
US6948154B1 (en) 1999-03-22 2005-09-20 Oregon State University Methodology for testing spreadsheets
US7120638B1 (en) 1999-09-21 2006-10-10 International Business Machines Corporation Method, system, program, and data structure for cleaning a database table
US6633875B2 (en) * 1999-12-30 2003-10-14 Shaun Michael Brady Computer database system and method for collecting and reporting real estate property and loan performance information over a computer driven network
GB2358072B (en) 2000-01-07 2004-01-28 Mitel Corp Tabular range editing mechanism
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US6708186B1 (en) 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US7143076B2 (en) * 2000-12-12 2006-11-28 Sap Aktiengesellschaft Method and apparatus for transforming data
US7117430B2 (en) 2001-02-27 2006-10-03 Microsoft Corporation Spreadsheet error checker
US7614036B2 (en) 2001-03-22 2009-11-03 Robert D Bjornson Method and system for dataflow creation and execution
US7853553B2 (en) 2001-03-26 2010-12-14 Siebel Systems, Inc. Engine for converting data from a source format to a destination format using user defined mappings
US6494159B2 (en) 2001-05-11 2002-12-17 The United States Of America As Represented By The Secretary Of The Navy Submarine launched unmanned combat vehicle replenishment
US7099885B2 (en) 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US6868526B2 (en) 2001-07-18 2005-03-15 The Mathworks, Inc. Graphical subclassing
AUPR966001A0 (en) 2001-12-20 2002-01-24 Canon Information Systems Research Australia Pty Ltd A microprocessor card defining a custom user interface
US7080088B1 (en) 2002-01-30 2006-07-18 Oracle International Corporation Automatic reconciliation of bindable objects
US7185317B2 (en) * 2002-02-14 2007-02-27 Hubbard & Wells Logical data modeling and integrated application framework
US6820077B2 (en) 2002-02-22 2004-11-16 Informatica Corporation Method and system for navigating a large amount of data
EP1349080A1 (en) * 2002-03-26 2003-10-01 Deutsche Thomson-Brandt Gmbh Methods and apparatus for using metadata from different sources
US7110924B2 (en) 2002-05-15 2006-09-19 Caterpillar Inc. Method for controlling the performance of a target system
US7574652B2 (en) 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
US20050144189A1 (en) 2002-07-19 2005-06-30 Keay Edwards Electronic item management and archival system and method of operating the same
US7167850B2 (en) 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
JP4502305B2 (ja) * 2003-02-10 2010-07-14 共同印刷株式会社 データベース問合せ文作成装置及びその方法並びにプログラム
US7257603B2 (en) * 2003-05-08 2007-08-14 Microsoft Corporation Preview mode
US20050060317A1 (en) 2003-09-12 2005-03-17 Lott Christopher Martin Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software
KR100922141B1 (ko) 2003-09-15 2009-10-19 아브 이니티오 소프트웨어 엘엘시 데이터 프로파일링 방법 및 시스템
US7865507B2 (en) 2003-09-15 2011-01-04 Oracle International Corporation Data quality analyzer
US7765529B1 (en) 2003-10-31 2010-07-27 The Mathworks, Inc. Transforming graphical objects in a graphical modeling environment
US7743382B2 (en) 2003-11-03 2010-06-22 Ramal Acquisition Corp. System for deadlock condition detection and correction by allowing a queue limit of a number of data tokens on the queue to increase
US20050187984A1 (en) 2004-02-20 2005-08-25 Tianlong Chen Data driven database management system and method
US8165853B2 (en) 2004-04-16 2012-04-24 Knowledgebase Marketing, Inc. Dimension reduction in predictive model development
JP4275013B2 (ja) 2004-06-21 2009-06-10 三洋電機株式会社 データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
US7353227B2 (en) * 2004-07-23 2008-04-01 Sap Aktiengesellschaft Conflict resolution engine
JP2006085224A (ja) * 2004-09-14 2006-03-30 Canon Inc データメンテナンスシステム
US20060074879A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Easy-to-use data context filtering
US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
WO2006096681A1 (en) 2005-03-07 2006-09-14 Computer Associates Think, Inc. System and method for data manipulation
JP4550641B2 (ja) 2005-03-30 2010-09-22 大陽日酸エンジニアリング株式会社 データ照合装置及び方法
US8255363B2 (en) * 2005-06-08 2012-08-28 rPath Methods, systems, and computer program products for provisioning software using dynamic tags to identify and process files
US8630917B2 (en) 2005-06-09 2014-01-14 At&T Intellectual Property Ii, L.P. Arrangement for guiding user design of comprehensive product solution using on-the-fly data validation
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US7464105B2 (en) 2005-07-06 2008-12-09 International Business Machines Corporation Method for performing semi-automatic dataset maintenance
US7870162B2 (en) 2005-07-29 2011-01-11 Sap Ag Method for generating properly formed expressions
US20070050750A1 (en) 2005-08-31 2007-03-01 Microsoft Corporation Extensible data-driven setup application for operating system
WO2007048229A1 (en) 2005-10-25 2007-05-03 Angoss Software Corporation Strategy trees for data mining
US8060821B2 (en) 2005-12-09 2011-11-15 Apple Inc. Enhanced visual feedback of interactions with user interface
US20070179956A1 (en) * 2006-01-18 2007-08-02 Whitmyer Wesley W Jr Record protection system for networked databases
US7761586B2 (en) 2006-02-06 2010-07-20 Microsoft Corporation Accessing and manipulating data in a data flow graph
US7661067B2 (en) 2006-02-21 2010-02-09 International Business Machines Corporation Method for providing quick responses in instant messaging conversations
US7647298B2 (en) 2006-03-23 2010-01-12 Microsoft Corporation Generation of query and update views for object relational mapping
US20070294119A1 (en) 2006-03-30 2007-12-20 Adaptive Alpha, Llc System, method and computer program product for evaluating and rating an asset management business and associate investment funds using experiential business process and performance data, and applications thereof
US8868577B2 (en) 2006-03-31 2014-10-21 Sap Se Generic database manipulator
US7797319B2 (en) 2006-05-15 2010-09-14 Algebraix Data Corporation Systems and methods for data model mapping
US7870556B2 (en) 2006-05-16 2011-01-11 Ab Initio Technology Llc Managing computing resources in graph-based computations
US7970746B2 (en) 2006-06-13 2011-06-28 Microsoft Corporation Declarative management framework
US7689565B1 (en) * 2006-06-28 2010-03-30 Emc Corporation Methods and apparatus for synchronizing network management data
US8572236B2 (en) 2006-08-10 2013-10-29 Ab Initio Technology Llc Distributing services in graph-based computations
US8423564B1 (en) * 2006-10-31 2013-04-16 Ncr Corporation Methods and apparatus for managing and updating stored information
US8538918B1 (en) 2006-12-05 2013-09-17 Corelogic Solutions, Llc Systems and methods for tracking parcel data acquisition
GB0700450D0 (en) 2007-01-10 2007-02-21 Radiation Watch Ltd The RWL threat engine
US9430552B2 (en) 2007-03-16 2016-08-30 Microsoft Technology Licensing, Llc View maintenance rules for an update pipeline of an object-relational mapping (ORM) platform
US20080243765A1 (en) 2007-03-29 2008-10-02 Ariel Fuxman Method for generating nested mapping specifications in a schema mapping formalism
US7603368B2 (en) 2007-03-30 2009-10-13 Fmr Llc Mapping data on a network
US8069129B2 (en) 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US8032404B2 (en) 2007-06-13 2011-10-04 International Business Machines Corporation Method and system for estimating financial benefits of packaged application service projects
US8694518B2 (en) 2007-06-14 2014-04-08 Colorquick, L.L.C. Method and apparatus for database mapping
US8103704B2 (en) * 2007-07-31 2012-01-24 ePrentise, LLC Method for database consolidation and database separation
US8566296B2 (en) 2007-09-14 2013-10-22 Oracle International Corporation Support for compensation aware data types in relational database systems
CN101884024B (zh) 2007-09-20 2016-03-30 起元技术有限责任公司 在基于图的计算中管理数据流
JP2009211599A (ja) * 2008-03-06 2009-09-17 Hitachi Ltd マッピング定義作成システムおよびマッピング定義作成プログラム
JP4224126B1 (ja) 2008-06-09 2009-02-12 パナソニック株式会社 データベース管理サーバ装置、データベース管理システム、データベース管理方法およびデータベース管理プログラム
US20090319494A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Field mapping for data stream output
AU2009267034B2 (en) 2008-06-30 2015-12-10 Ab Initio Technology Llc Data logging in graph-based computations
US8082228B2 (en) 2008-10-31 2011-12-20 Netapp, Inc. Remote office duplication
KR101688554B1 (ko) 2008-11-12 2016-12-21 아브 이니티오 테크놀로지 엘엘시 데이터 객체의 관리 및 자동 링킹
CA2744876C (en) * 2008-12-02 2017-08-29 Ab Initio Technology Llc Data maintenance system
WO2010065511A1 (en) 2008-12-02 2010-06-10 Ab Initio Software Llc Mapping instances of a dataset within a data management system
AU2010208112B2 (en) 2009-01-30 2015-05-28 Ab Initio Technology Llc Processing data using vector fields
EP2221733A1 (en) 2009-02-17 2010-08-25 AMADEUS sas Method allowing validation in a production database of new entered data prior to their release
US8935702B2 (en) 2009-09-04 2015-01-13 International Business Machines Corporation Resource optimization for parallel data integration
JP6121163B2 (ja) 2009-09-16 2017-04-26 アビニシオ テクノロジー エルエルシー データセット要素のマッピング
US8583664B2 (en) * 2010-05-26 2013-11-12 Microsoft Corporation Exposing metadata relationships through filter interplay
US8732143B2 (en) * 2010-08-27 2014-05-20 Microsoft Corporation Reducing locking during database transactions
CA2814835C (en) 2010-10-25 2019-01-08 Ab Initio Technology Llc Managing data set objects in a dataflow graph that represents a computer program
US8949166B2 (en) 2010-12-16 2015-02-03 International Business Machines Corporation Creating and processing a data rule for data quality
WO2012097278A1 (en) 2011-01-14 2012-07-19 Ab Initio Technology Llc Managing changes to collections of data
US20130166515A1 (en) 2011-12-22 2013-06-27 David Kung Generating validation rules for a data report based on profiling the data report in a data processing tool
US8516008B1 (en) 2012-05-18 2013-08-20 Splunk Inc. Flexible schema column store
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data

Also Published As

Publication number Publication date
CA2824282C (en) 2019-05-21
WO2012097278A1 (en) 2012-07-19
EP2663937A1 (en) 2013-11-20
KR20140051819A (ko) 2014-05-02
EP2663937B1 (en) 2018-08-29
CN103329130A (zh) 2013-09-25
AU2012205339B2 (en) 2015-12-03
US20120185449A1 (en) 2012-07-19
CA2824282A1 (en) 2012-07-19
AU2012205339A1 (en) 2013-05-02
CN103329130B (zh) 2016-12-07
KR101872748B1 (ko) 2018-06-29
US9418095B2 (en) 2016-08-16
JP2014507713A (ja) 2014-03-27

Similar Documents

Publication Publication Date Title
JP5940560B2 (ja) データの集合体に対する変更の管理
AU2019213302B2 (en) Filtering data lineage diagrams
JP5902185B2 (ja) コンピュータプログラムを表すデータフローグラフ内のデータセットオブジェクトの管理
JP6594950B2 (ja) データ系統の要約
JP6216423B2 (ja) データクエリの管理
JP6609262B2 (ja) キー指定される実体の属性のマッピング
CN107257973B (zh) 查询网络上的数据源
US10521459B2 (en) Filtering data lineage diagrams
JP6882892B2 (ja) データ生成
JP7381705B2 (ja) 実行可能グラフの更新

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160330

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160420

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160518

R150 Certificate of patent or registration of utility model

Ref document number: 5940560

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250