JP2017525039A - 系統情報の管理 - Google Patents

系統情報の管理 Download PDF

Info

Publication number
JP2017525039A
JP2017525039A JP2017502803A JP2017502803A JP2017525039A JP 2017525039 A JP2017525039 A JP 2017525039A JP 2017502803 A JP2017502803 A JP 2017502803A JP 2017502803 A JP2017502803 A JP 2017502803A JP 2017525039 A JP2017525039 A JP 2017525039A
Authority
JP
Japan
Prior art keywords
data
logical
data processing
parameter
data set
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.)
Granted
Application number
JP2017502803A
Other languages
English (en)
Other versions
JP6636009B2 (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 JP2017525039A publication Critical patent/JP2017525039A/ja
Application granted granted Critical
Publication of JP6636009B2 publication Critical patent/JP6636009B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/2379Updates performed during online database operations; commit processing
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

系統情報の管理が、2又は3以上のデータ処理プログラム及び2又は3以上の論理データセットの間の1又は2以上の系統の関係を表す系統情報を受け取るステップと、1又は2以上のランタイムアーチファクトを受け取るステップであって、それぞれのランタイムアーチファクトが、2又は3以上のデータ処理プログラムのうちのデータ処理プログラムの以前の実行に関連する情報を含む、ステップと、1又は2以上のランタイムアーチファクト及び系統情報を解析して、系統情報に対する1又は2以上の修正候補を決定するステップとを含む。

Description

関連出願の相互参照
本出願は、2014年7月18日に出願した米国特許出願第62/026,228号明細書の優先権を主張するものである。
本明細書は、パラメータセットの管理に関する。
データ処理システムにおいては、データがシステムを通り抜けるときのそのデータの系統(lineage)のレポートに特定の種類のユーザがアクセスすることができることが望ましいことが多い。極めて広く、多くの用途の中でもとりわけ、そのような「データ系統」のレポートは、リスクを減らし、遵守義務を確認し、ビジネスプロセスを能率化し、データを保護するために使用され得る。データ系統のレポートは正しくかつ完全であることが重要である。
一態様においては、概して、パラメータ値の集合を管理して、パラメータ値のそれらの集合を使用してインスタンス化されたジェネリック(generic)コンピュータプログラムのインスタンスの間の関係を反映する系統情報が、より正確で完全なデータ系統のレポートの生成を可能にする。
別の態様においては、概して、系統情報を管理するための方法が、2又は3以上のデータ処理プログラム及び2又は3以上の論理データセットの間の1又は2以上の系統の関係を表す系統情報を受け取るステップと、1又は2以上のランタイムアーチファクトを受け取るステップであって、それぞれのランタイムアーチファクトが、2又は3以上のデータ処理プログラムのうちのデータ処理プログラムの以前の実行に関連する情報を含む、ステップと、1又は2以上のランタイムアーチファクト及び系統情報を解析して、系統情報に対する1又は2以上の修正候補を決定するステップとを含む。
態様は、以下の特徴のうちの1又は2以上を含み得る。
1又は2以上の修正候補は、2又は3以上のデータ処理プログラムのうちのデータ処理プログラムと2又は3以上の論理データセットのうちの論理データセットとの間の新しい間接的な系統の関係を追加する修正候補を含む。
1又は2以上の修正候補は、2又は3以上のデータ処理プログラムのうちのデータ処理プログラムと2又は3以上の論理データセットのうちの論理データセットとの間の新しい直接的な系統の関係を追加する第1の修正候補を含む。
ランタイムアーチファクト及び系統情報を解析するステップは、2若しくは3以上のデータ処理プログラムの以前の実行のログを解析して、2若しくは3以上のデータ処理プログラムから読み取られた物理データセット又は2若しくは3以上のデータ処理プログラムによって書き込まれた物理データセットを決定することを含む。
ランタイムアーチファクト及び系統情報を解析するステップは、系統情報内に表され、同じ物理データセットに関連付けられる2又は3以上の論理データセットのうちの2つの異なる論理データセットを特定することをさらに含む。
第1の修正候補は、2つの異なる論理データセットの間の新しい系統の関係の生成を含む。
第1の修正候補は、2つの異なる論理データセットを新しい組み合わされた論理データセットに統合させることを含む新しい系統の関係の生成を含む。
2又は3以上のデータ処理プログラムのうちのそれぞれのデータ処理プログラムは、1又は2以上のパラメータ値の集合に従ってインスタンス化されたジェネリックデータ処理プログラムのインスタンスである。
1又は2以上のランタイムアーチファクト及び系統情報を解析するステップは、2又は3以上のデータ処理プログラムのうちの第1のデータ処理プログラムの以前の実行の1又は2以上のログを解析して、1又は2以上のパラメータ値の第1の集合に従って第1のデータ処理プログラムの第1のインスタンス化において使用された第1のパラメータセットを決定することと、第1のパラメータセットから少なくともいくつかのパラメータを選択することと、第1のデータ処理プログラムのジェネリックバージョン及び少なくともいくつかのパラメータに基づいて、第1のデータ処理プログラムの第1のインスタンス化が系統情報内に表されないと決定することとを含む。
第1のパラメータセットから少なくともいくつかのパラメータを選択することは、ユーザから受け取った情報に基づいてパラメータを選択することを含む。
第1のパラメータセットから少なくともいくつかのパラメータを選択することは、1又は2以上の予め定義された規則に基づいてパラメータを選択することを含む。
1又は2以上の予め定義された規則のうちの第1の規則は、日付の形態のパラメータ値を有するパラメータが選択されるパラメータから除外されることを規定する。
1又は2以上の予め定義された規則のうちの第1の規則は、ジェネリックデータ処理プログラムの論理において変換されるパラメータ値を有するパラメータが選択されるパラメータに含められることを規定する。
系統情報に対する1又は2以上の修正候補は、2又は3以上のデータ処理プログラムのうちの第1のデータ処理プログラムと2又は3以上の論理データセットのうちの論理データセットとの間の新しい系統の関係を追加する第1の修正候補を含む。
別の態様においては、概して、系統情報を管理するためのソフトウェアが、コンピュータ可読媒体に非一時的形態で記憶され、ソフトウェアは、コンピューティングシステムに、2又は3以上のデータ処理プログラム及び2又は3以上の論理データセットの間の1又は2以上の系統の関係を表す系統情報を受け取ることと、1又は2以上のランタイムアーチファクトを受け取ることであって、それぞれのランタイムアーチファクトが、2又は3以上のデータ処理プログラムのうちのデータ処理プログラムの以前の実行に関連する情報を含む、受け取ることと、1又は2以上のランタイムアーチファクト及び系統情報を解析して、系統情報に対する1又は2以上の修正候補を決定することとを行わせるための命令を含む。
別の態様においては、概して、系統情報を管理するためのコンピューティングシステムが、2又は3以上のデータ処理プログラム及び2又は3以上の論理データセットの間の1又は2以上の系統の関係を表す系統情報、並びに1又は2以上のランタイムアーチファクトを受け取るように構成された入力デバイス又はポートであって、それぞれのランタイムアーチファクトが、2又は3以上のデータ処理プログラムのうちのデータ処理プログラムの以前の実行に関連する情報を含む、入力デバイス又はポートと、1又は2以上のランタイムアーチファクト及び系統情報を解析して、系統情報に対する1又は2以上の修正候補を決定するように構成された少なくとも1つのプロセッサとを含む。
別の態様においては、概して、系統情報を管理するためのコンピューティングシステムが、2又は3以上のデータ処理プログラム及び2又は3以上の論理データセットの間の1又は2以上の系統の関係を表す系統情報、並びに1又は2以上のランタイムアーチファクトを受け取るための手段であって、それぞれのランタイムアーチファクトが、2又は3以上のデータ処理プログラムのうちのデータ処理プログラムの以前の実行に関連する情報を含む、手段と、1又は2以上のランタイムアーチファクト及び系統情報を解析して、系統情報に対する1又は2以上の修正候補を決定するための手段とを含む。
態様は、以下の利点のうちの1又は2以上を含む可能性がある。
本明細書において説明される手法を使用してパラメータセットを発見し、発見されたパラメータセットを使用してパラメータセットの既存の集合を増強することによって、既存のパラメータセットの増強された集合を使用して生じさせられたデータ系統のレポートが、データ処理システムの真のデータ系統をより正確に表す。特に、前に見落とされたであろうデータ処理システムに関するデータ系統の部分が、データ系統のレポートに含められる。
一部の例においては、パラメータセット発見手法の結果が、コンピュータプログラムのインスタンスの実行のログエントリを増強する(つまり、発見されたパラメータセットについての情報によってログエントリを増強する)ためにやはり使用され得る。増強されたログエントリは、コンピュータプログラム及び/又はデータセットの間の論理的なつながりが物理的なつながりに対応することを確認するために有利に使用され得る。この確認の結果は、ユーザに提示されるデータ系統がコンピュータプログラム並びにそれらのコンピュータプログラムの入力及び出力の間の正しい系統の関係を示すことを保証する。
本発明のその他の特徴及び利点は、以下の説明及び特許請求の範囲から明らかになるであろう。
パラメータセットの発見のためのシステムのブロック図である。 部分グラフ及びそれらの部分グラフの関連するパラメータセットを含むデータフローグラフである。 図2のデータフローグラフのランタイムの構成の図である。 図2のデータフローグラフの静的解析(static analysis)の構成の図である。 パラメータセットの発見のための方法の流れ図である。 パラメータセットの発見のための方法の例示的な動作の前半の図である。 パラメータセットの発見のための方法の例示的な動作の後半の図である。 第1の部分グラフ及び第2の部分グラフを含む例示的なデータフローグラフである。 データフローグラフの論理データセットが物理データセットに解決される図8のデータフローグラフである。 図8のデータフローグラフに関するデータ系統のレポートを示す図である。 第1の部分グラフ及び第2の部分グラフを含み、重複論理データセット(duplicate logical dataset)を有する例示的なデータフローグラフである。 データフローグラフの論理データセットが物理データセットに解決される図11の例示的なデータフローグラフである。 図11のデータフローグラフに関する、データ系統の断絶を含むデータ系統のレポートを示す図である。 データ系統のレポート内のデータ系統の断絶の影響を軽減するための第1の技術を示す図である。 データ系統のレポート内のデータ系統の断絶の影響を軽減するための第2の技術を示す図である。 データ系統のレポート内のデータ系統の断絶の影響を軽減するための第3の技術を示す図である。 データ系統のレポート内のデータ系統の断絶の影響を軽減するための第4の技術を示す図である。 データ系統のレポート内のデータ系統の断絶の影響を軽減するための第5の技術を示す図である。 データ系統のレポート内のデータ系統の断絶の影響を軽減するための第6の技術を示す図である。
図1は、本明細書において説明されるパラメータセット発見技術が使用され得るデータ処理システム100の例を示す。システムは、一部の実施形態において、(データ処理構成要素又はデータセットを表す)頂点間の(作業要素(work element)、すなわち、データのフローを表す)有向リンクによって接続された頂点を含むデータフローグラフ117としてアプリケーションを開発するためのシステムである開発環境118を含む。例えば、そのような環境は、参照により本明細書に組み込まれる「Managing Parameters for Graph-Based Applications」と題された米国特許出願公開第2007/0011668号明細書により詳細に説明されている。そのようなグラフに基づく計算を実行するためのシステムは、参照により本明細書に組み込まれる「EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS」と題された米国特許第5,966,072号明細書に説明されている。このシステムによって作成されるデータフローグラフ117は、プロセス間で情報を移動するため及びプロセスに関する実行の順序を定義するためにグラフの構成要素によって表される個々のプロセスに情報を出し入れするための方法を提供する。このシステムは、任意の利用可能な方法からプロセス間通信の方法を選択するアルゴリズムを含む(例えば、グラフのリンクに従った通信パスは、TCP/IP若しくはUNIXドメインソケットを使用するか、又はプロセス間でデータを渡すために共有メモリを使用する可能性がある)。開発環境118を使用して開発者120によって作成されたデータフローグラフ117は、システム100のその他のモジュールによるその後の使用のために、開発環境118によってアクセスされ得るデータストレージシステム116に記憶され得る。
実行環境104は、パラメータ解決モジュール106及び実行モジュール112を含む。実行環境104は、例えば、UNIXオペレーティングシステムのバージョンなどの好適なオペレーティングシステムの制御下の1又は2以上の多目的コンピュータでホストされる可能性がある。例えば、実行環境104は、ローカルの(例えば、対称型マルチプロセッシング(SMP,symmetric multi-processing)コンピュータなどのマルチプロセッサシステム)又はローカルに分散された(例えば、クラスタ若しくは超並列処理(MPP,massively parallel processing)システムとして接続された複数のプロセッサか、或いは遠隔の又は遠隔に分散された(例えば、ローカルエリアネットワーク(LAN,local area network)及び/若しくは広域ネットワーク(WAN,wide-area network)を介して接続された複数のプロセッサ)か、或いはこれらの任意の組合せかのいずれかの複数の中央演算処理装置(CPU,central processing unit)或いはプロセッサコアを用いるコンピュータシステムの構成を含むマルチノード並列コンピューティング環境を含む可能性がある。
パラメータ解決モジュール106は、データストレージシステム116からデータフローグラフ117の規定を受け取り、実行モジュール112によって実行するためにデータフローグラフ(複数可)117を準備するために(下でより詳細に説明されるように)データフローグラフ117に関するパラメータを解決する。実行モジュール112は、パラメータ解決モジュール106から準備されたデータフローグラフ117を受け取り、それらのデータフローグラフ117を使用してデータソース102からのデータを処理し、出力データ114を生じさせる。出力データ114は、実行環境104によってアクセスされ得るデータソース102若しくはデータストレージシステム116に戻して記憶されるか、又はその他の方法で使用される可能性がある。概して、データソース102は、ストレージデバイス、又はオンラインデータストリームへの接続などのデータの1又は2以上のソースを含む可能性があり、それらの1又は2以上のソースのそれぞれは、さまざまなフォーマット(例えば、データベーステーブル、スプレッドシートファイル、フラットテキストファイル、又はメインフレームによって使用されるネイティブフォーマット)のいずれかでデータを記憶又は提供し得る。
データソース102を提供するストレージデバイスは、実行環境104のローカルにあり、例えば、実行環境104をホストするコンピュータに接続されたストレージ媒体(例えば、ハードドライブ108)に記憶される可能性があり、又は実行環境104のリモートにあり、例えば、(例えば、クラウドコンピューティングインフラストラクチャによって提供される)リモート接続を介して実行環境104をホストするコンピュータと通信するリモートシステム(例えば、メインフレーム110)でホストされる可能性がある。
システム100は、企業ユーザ121(例えば、データ設計者又はビジネスユーザ)によってアクセスされ得るメタデータ環境モジュール119も含む。メタデータ環境モジュール119は、データフローグラフ117(又はそれらのデータフローグラフ117を特徴付けるメタデータ並びにそれらのデータフローグラフ117が参照する入力及び出力データセット)を処理してデータフローグラフ117に関するデータ系統を生じさせるデータ系統モジュール115を含む。企業ユーザ121は、データフローグラフ117の検証及び遵守の検査などの理由でデータ系統を見る可能性がある。特定のデータアイテム(例えば、データセット、又はデータセット内のフィールド)についてのデータ系統情報は、データ処理システムによって実行される処理から生じる依存関係に基づき、本明細書において使用される用語「データ系統」は、概して、その他の関連するデータアイテムと、それらのデータアイテムを消費するか又は生じさせる処理エンティティとを含む集合を指す。データ系統のレポート(データ系統図とも呼ばれる)は、ノードがデータアイテム及び処理エンティティを表し、リンクがそれらの間の依存関係を表すグラフの形態のデータ系統の図式的表現を含む可能性がある。データ系統のレポートを生じさせ、表示することができる一部のシステムは、上流端のデータの根本的なソースから下流端において生成される最終データまでエンドツーエンドのデータ系統を自動的に提示することができる。特定のデータアイテムから上流のパス上のノードは、そのデータアイテムに関する「ディペンデンシ(dependency)」と呼ばれることがあり、特定のデータアイテムから下流のパス上のノードは、そのデータアイテムに関する「インパクト(impact)」と呼ばれることがある。「データ系統」は上流のディペンデンシのみを指すために使用されることがあるが、本明細書において使用されるとき、「データ系統」は、特定の文脈に応じて上流のディペンデンシ及び/又は下流のインパクトのどちらか又は両方を指す可能性がある。
1 データフローグラフの概要
図2を参照すると、図1の開発環境118を使用して生じさせられたデータフローグラフ217の例が、gather.mpと命名された第1の部分グラフ202と、process.mpと命名された第2の部分グラフ204とを含む。
第1の部分グラフ202は、第1の論理データセットDS1 206及び第2の論理データセットDS2 208を入力として受け取り、第1の及び第2の論理データセット206、208からのデータを処理し、処理の結果を第3の論理データセットDS3 210に書き込む。第2の部分グラフ204は、(たまたま第3の論理データセット210と同じ物理ファイルを指す)第4の論理データセットDS4 212を入力として受け取り、第4の論理データセット212からのデータを処理し、処理の結果をテーブル214に書き込む。
4つの論理データセット206、208、210、212のそれぞれは、ランタイムで物理ファイルへのパスに解決するパラメータ表記されたパスに関連付けられる。特に、第1の論理データセット206は、パラメータ表記されたパス/${FEED}/inv_${DATE}.datを使用して特定され、第2の論理データセット208は、パラメータ表記されたパス/${FEED}/cust_${DATE}.datを使用して特定され、第3の論理データセット210は、パラメータ表記されたパス/trans_${DATE}.datを使用して特定され、第4の論理データセット212は、パラメータ表記されたパス/trans_${DATE}.datを使用して特定される。
第1の部分グラフ202は、2つのパラメータP1 = FEED及びP2 = DATEを引数として受け取り、下でより詳細に説明されるように、パラメータを使用して、パラメータ表記されたパス内のFEED及びDATEプレースホルダを受け取られたFEED及びDATEパラメータ値で置き換えることによって、パスを、第1の論理データセット206、第2の論理データセット208、及び第3の論理データセット210のそれぞれの物理的位置に解決する。さらに、第1の部分グラフ202は、DATEパラメータの「静的解析」値を含む。下でより詳細に説明されるように、DATEパラメータの静的解析値は、データフローグラフ217の静的解析中に(つまり、データフローグラフ217のデータ系統が決定されるときに)パラメータ値として使用されるプレースホルダの値である。
同様に、第2の部分グラフ104は、単一のパラメータP1 = DATEを受け取り、そのパラメータを使用して、第4の論理データセット212に関するパラメータ表記されたパス内のDATEプレースホルダを受け取られたDATEパラメータの値で置き換えることによって、パスを、第4の論理データセット212の物理的位置に解決する。さらに、第2の部分グラフ204は、DATEパラメータの「静的解析」値を含む。下でより詳細に説明されるように、DATEパラメータの静的解析値は、データフローグラフ217の静的解析中に(つまり、データフローグラフ217のデータ系統が決定されるときに)パラメータ値として使用されるプレースホルダの値である。
データフローグラフ217及びその部分グラフの動作はそれが受け取るパラメータに依存するので、データフローグラフ及びその部分グラフは、「ジェネリック」データフローグラフ又は「ジェネリック」コンピュータプログラムと呼ばれることがある。
1.1 パラメータ
概して、上述のパラメータは、「設計時」パラメータ又は「ランタイム」パラメータのどちらかとして指定される可能性がある。上述のようにパス解決のために使用されることに加えて、設計時パラメータは、それらのパラメータの関連するデータフローグラフの論理的な動作に影響を与える。対称的に、ランタイムパラメータは、ジョブ毎にグラフに供給され、グラフの論理的な動作に影響を与えない。一部の例において、データフローグラフの論理的な動作は、グラフの機能とグラフによって利用される論理データセットとの両方を指す。
図2において、FEEDパラメータは、gather.mp部分グラフの論理的な動作に影響を与える設計時パラメータである。例えば、FEEDパラメータの1つの値に関して、第1の部分グラフ202内のソート構成要素216が、そのソート構成要素216が受け取るデータを昇順にソートする可能性がある一方、FEEDパラメータの別の異なる値は、ソート構成要素216にデータを降順にソートさせる可能性がある。一部の例において、設計時パラメータを含むデータフローグラフは、そのデータフローグラフの論理的な動作が設計時パラメータの供給された値に基づいて変わるので、「ジェネリックグラフ」と呼ばれる。
DATEパラメータは、部分グラフ202の論理的な動作に影響を与えず、ジョブ毎に供給されるランタイムパラメータである。
1.2 パラメータセット
一部の例においては、データフローグラフに関するパラメータのよく使用される集合は、ディスクに保存され、容易に再利用され得る「パラメータセット」(「pset」と呼ばれることがある)として記憶される。例えば、図2において、第1の部分グラフ202は、その部分グラフ202に関連する3つのpset、PSET_mexico218、PSET_canada220、及びPSET_usa222を有する。PSET_mexico218は、よく使用されるFEEDパラメータ値「mexico」と、今日の日付を返す関数であるよく使用されるDATEパラメータ値「today()」とを含む。PSET_canada220は、よく使用されるFEEDパラメータ値「canada」と、よく使用されるDATEパラメータ値「today()」とを含む。PSET_usa222は、よく使用されるFEEDパラメータ値「usa」と、よく使用されるDATEパラメータ値「today()」とを含む。
同様に、第2の部分グラフ204は、その部分グラフ204に関連する単一のpset、PSET223を有する。PSET223は、今日の日付を返す関数であるよく使用されるDATEパラメータ値「today()」を含む。
2 パラメータ解決モジュール
一部の例においては、データフローグラフ117が実行モジュール112によって実行される前に、図1のパラメータ解決モジュール106が、データフローグラフ117(並びにそれに関連する部分グラフ202、204)に関連する1又は2以上のpsetを特定し、1又は2以上のpset内のいくつかの一意の設計時パラメータを決定する。所与のデータフローグラフに関するそれぞれの一意の設計時パラメータに関して、パラメータ解決モジュール106は、データフローグラフの別々の実行可能なインスタンスをインスタンス化する。例えば、図3を参照すると、図2のデータフローグラフ217に関して、第1の部分グラフ202、gather.mpの3つのインスタンスがインスタンス化され(PSET_mexico−>gather.mp202a、PSET_canada−>gather.mp202b、PSET_usa−>gather.mp202c)、各インスタンスは、図2のpsetの3つの一意のフィードパラメータ、すなわちmexico、canada、usaのうちの異なる1つに従って構成される。第2の部分グラフ204はいかなる設計時パラメータも含まない単一のpset223のみに関連付けられるので、第2の部分グラフ204の単一のインスタンス(process.mp204a)のみが、実行時にインスタンス化される。
部分グラフ202、204の適切なインスタンスがパラメータ解決モジュール106によってインスタンス化されると、パラメータ解決モジュール106は、データセットに関するパラメータ表記されたパス内のパラメータ値のプレースホルダをpsetからの実際のパラメータ値で置き換え、パスをデータセットの物理的位置に解決する。例えば、第1の部分グラフ202のPSET_mexico−>gather.mpインスタンス202aに関して、第1のデータセット206に関するパスは、FEEDパラメータ値が「mexico」であり、DATEパラメータ値が「031014」であるので、/mexico/inv_031014に解決される。
パラメータ解決モジュール106が、データフローグラフ217の部分グラフ202、204を含むデータフローグラフ217をインスタンス化し、物理パスをデータフローグラフ217のデータセットに解決すると、データフローグラフ217は、実行モジュール112によって実行するために準備される。実行中、第1の部分グラフ202の3つのインスタンス202a、202b、202cは、それらのインスタンスのそれぞれの入力データセットからデータを読み、データを処理し、処理されたデータを/trans_031014.dat物理ファイルに記憶する。第2の部分グラフ202のインスタンス204aに関する入力データセット(例えば、DS4 212)は第1の部分グラフの出力データセットと同じ物理ファイルに解決するので、/trans_031014.dat物理ファイルは、process.mpのインスタンスによって読まれ、それから処理され、テーブル214に記憶される。
3 データ系統モジュール
図4を参照すると、一部の例においては、データフローグラフ217を実行するのではなく、図1のデータ設計者又はビジネスユーザ121は、データがデータフローグラフ217を通り抜けるときのそのデータの系統を調べることを必要とする可能性がある。そのようにするために、図1のデータ系統モジュール115は、データフローグラフ217を解析して、データ設計者又はビジネスユーザ121に対して提示するためのデータ系統のレポートを生じさせるように構成される。
一部の例においては、データフローグラフ217に関するデータ系統を決定する際の第1のステップとして、データ系統モジュール115は、データフローグラフ217の個々の部分グラフ202、204を特定する。特定された部分グラフ202、204のそれぞれに関して、データ系統モジュール115は、部分グラフ202、204に関連する1又は2以上のpset218、220、222、223を特定し、それから、部分グラフ202、204に関する1又は2以上のpset218、220、222、223内のいくつかの一意の設計時パラメータを決定する。それぞれの一意の設計時パラメータに関して、パラメータ解決モジュールは、部分グラフ202、204の別々のインスタンスをインスタンス化する。
一部の例において、データ系統モジュール115は、実際の物理ファイル及びそれらの物理ファイルが記憶するデータはデータ系統の解析と無関係であるという仮定の下で動作する。このため、データセットの物理的位置を解決するために使用されるいかなるランタイムパラメータ値も必要なく、プレースホルダの値によって置き換えられ得る。上述のように、部分グラフに関連するそれぞれのランタイムパラメータに関して、対応するプレースホルダの静的解析パラメータ値が部分グラフに含まれる。例えば、図2においては、両方のデータフローグラフ202、204がDATEランタイムパラメータを含むので、それらのデータフローグラフ202、204は、両方とも、プレースホルダの静的解析パラメータ値「MMDDYY」も含む。
データ系統モジュール115がデータフローグラフ217を解析してデータ系統を決定するとき、データフローグラフ内のDATEパラメータのすべてのインスタンスが、プレースホルダの値「MMDDYY」によって置き換えられ、図4に示されるように、一時的データセットオブジェクト452を生成する。それから、さまざまな部分グラフのインスタンスと一時的データセットオブジェクトとの間の相互接続が特定され、データ設計者又はビジネスユーザにデータ系統として提示される。例えば、第1の部分グラフ202のインスタンス202a、202b、202cの解析は、第1の部分グラフ202のインスタンスのすべてが/trans_MMDDYY.datデータセットオブジェクトによって表されるデータセットにデータを書き込むことを示す。そして、解析は、第2のデータフローグラフ204のインスタンス204aが/trans_MMDDYY.datデータセットオブジェクトによって表されるデータセットから読み取ることを示す。この情報に基づいて、データフローグラフ217のデータ系統は、第1の部分グラフ202のインスタンス202a、202b、202cの出力が第2の部分グラフ204のインスタンス204aの入力に供給されることを示す。
4 論理pset発見及び生成方法
一部の例においては、所与のデータフローグラフが、前に記憶されたpsetからではなく実行コマンドに与えられる引数としてパラメータ値を受け取る実行コマンドを使用して実行される。上述の方法は記憶されたpsetのみを使用してデータ系統を決定するので、データフローグラフを実行するための実行コマンドに与えられる引数に由来するパラメータ値に関連するpsetは、データ系統内に表されない。これは、不完全な又は誤ったデータ系統が企業の設計者又は監査人に提供される結果をもたらす可能性がある。
図5は、データフローグラフのインスタンスの実行に関連するログ内で特定されたパラメータの集合に基づいて生成された論理パラメータセット(pset)によってデータフローグラフに関する既存の論理psetのリポジトリを増強するための方法を示す流れ図である。一部の例において、図5において説明される方法は、図1のデータ系統モジュール115によって実施される。
4.1 グラフパラメータ
初めに、データフローグラフの一例(例えば、図1の第1の部分グラフ202)は、2つのパラメータ(P及びP)を含み、これらのパラメータのそれぞれは、「設計時」パラメータ又は「ランタイム」パラメータのどちらかとして指定され得る。上述のように、設計時パラメータは、グラフの論理的な動作に影響を与える(例えば、グラフによって実行される変換を変え得る)パラメータである一方、ランタイムパラメータは、ジョブ毎に変わり(例えば、日付)、グラフの論理的な動作に影響を与えないパラメータである。
4.2 パラメータの分類
グラフ202は、グラフ202のパラメータを解析してパラメータ分類結果426を生じさせるパラメータ分類ステップ424に提供される。パラメータ分類結果426内で、各パラメータは、設計時パラメータ又はランタイムパラメータのどちらかとして分類される。流れ図に示された例示的な場合、Pは、設計時パラメータとして分類され、Pは、ランタイムパラメータとして分類される。
一部の例において、データフローグラフに関するパラメータは、設計時パラメータ又はランタイムパラメータのどちらかであるものとして(例えば、ユーザによって)予め分類される。(例えば、レガシーデータフローグラフに関する)その他の例において、データフローグラフに関するパラメータは、設計時パラメータ又はランタイムパラメータのどちらかであるものとして予め分類されない。そのような場合、パラメータ分類ステップ424は、すべてのパラメータが設計時パラメータであると仮定する可能性がある。後の再分類ステップにおいては、所与のパラメータがログエントリの集合(例えば、下で説明されるジョブログデータストア(job log data store))内に(例えば、所与の閾値を超える)多数の一意の値を有すると判定される場合、所与のパラメータはランタイムパラメータとして再分類され得る。代替的に、再分類は、データ系統感度解析(data lineage sensitivity analysis)に基づく可能性がある。特に、パラメータがデータフローグラフ内のデータ系統(すなわち、データフローグラフ内のデータセット又は構成要素のインパクト又はディペンデンシ)を変えることなくさまざまな異なる値をとり得る場合、パラメータはランタイムパラメータとして分類され得る。例えば、グラフ内のデータセット(例えば、図3のDS1、DS2、DS3)の関連するレコードフォーマット又はその他の特徴がパラメータのさまざまな値によって影響を受けない場合、そのパラメータは、ランタイムパラメータとして再分類される。すべての内部のインパクト及びディペンデンシを解決することを含むより包括的なデータ系統感度解析、並びにデータセットのレコードフォーマットに関連するインパクト及びディペンデンシだけを解決することを含むより制限されたデータ系統感度解析などのこのデータ系統感度解析の変更形態が、使用され得る。
(例えば、レガシーデータフローグラフに関する)一部の例において、パラメータは、設計時部分とランタイム部分との両方を含む可能性がある。例えば、ファイル名パラメータ「/mexico/inv_031014.dat」は、設計時部分(すなわち、「mexico」)及びランタイム部分(すなわち、「031014」)を含むのでハイブリッドパラメータである可能性がある。そのような例においては、ユーザが、ハイブリッドパラメータからそれぞれの設計時パラメータ及びランタイムパラメータを抽出し、分類するためにパラメータ分類ステップ424によって使用される正規表現又は何らかのその他の種類の文字列解析規則を与える可能性がある。
4.3 ジョブログデータストア
方法は、それぞれがデータフローグラフ202のインスタンスの実行に関連する情報を含むいくつかのジョブログエントリ(job log entry)429を含むジョブログデータストア428を利用する。情報の中でもとりわけ、ジョブログエントリの少なくとも一部は、データフローグラフ202をインスタンス化するために使用された実行コマンドのレコードを含む。所与のジョブログエントリに関する実行コマンドは、実行コマンドに引数として与えられたグラフ名及びパラメータ値を含む。概して、ジョブログデータストア428のジョブログエントリの少なくとも一部は、いかなるパラメータセットにもアクセスすることなくデータフローグラフをインスタンス化するが、その代わりに、実行コマンドに与えられる引数としてパラメータ値を受け取る。
4.4 処理ループ
ジョブログデータストア428及びパラメータ分類結果426は、処理ループ430に与えられ、処理ループ430は、ジョブログデータストア428のそれぞれのジョブログエントリ429に関して、グラフ実行コマンドに関する新しい論理psetを生じさせ、新しい論理psetが既存の論理psetのリポジトリ448内に既に存在するかどうかを判定し、新しい論理psetがまだ存在しない場合、新しい論理psetをリポジトリ448に追加する。
4.4.1 初期コマンドライン論理pset構築
処理ループ430内では、パラメータ分類結果426及びジョブログデータストア428からのジョブログエントリJ432が、論理pset構築ステップ434に与えられ、論理pset構築ステップ434は、パラメータ分類結果426に従ってジョブログエントリ432を解析して論理pset436を生じさせる。そのようにする際に、論理pset構築ステップ434は、ジョブログエントリ432に含まれるグラフ実行コマンドを解析して、グラフ実行コマンドへの引数として含まれるパラメータ値を抽出する。論理pset構築ステップ434は、ジョブログエントリ432に含まれるプロジェクトスコープも抽出する。一部の例において、プロジェクトスコープは、データフローグラフが実行されているプロジェクトの指示、データフローグラフに関する内部パラメータの指示、並びにデータフローグラフによって使用された環境設定、グローバル変数、及び構成変数の指示を含む。
論理pset構築ステップ434は、抽出されたプロジェクトスコープを論理pset436に自動的に含める。そして、論理pset構築ステップ434は、それぞれの抽出されたパラメータ値をパラメータ分類結果426内の対応するパラメータとマッチングする。抽出されたパラメータ値がパラメータ分類結果426内の設計時パラメータに対応すると論理pset構築ステップ434が判定する場合、論理pset構築ステップ434は、抽出された設計時パラメータの値を論理pset436に含める。抽出されたパラメータ値がパラメータ分類結果426内のランタイムパラメータに対応すると論理pset構築ステップ434が判定する場合、抽出されたパラメータ値は、論理pset436に含められない。
4.4.2 pset署名文字列計算
論理pset436は、pset署名文字列計算ステップ442に与えられ、pset署名文字列計算ステップ442は、論理pset436内のプロジェクトスコープ及びパラメータ値に基づいて論理pset署名文字列444を計算する。一部の例において、pset署名文字列444は、論理pset436に関するプロジェクトスコープ、論理pset436内のパラメータの名前/値ペア、及び論理pset436に関連するデータフローグラフのプロトタイプをシリアル化することによって計算される。その他の例において、pset署名文字列444は、論理pset436にハッシュ関数又は何らかのその他のデータマッピングアルゴリズムを適用することによって計算される。
4.4.3 pset署名文字列検索
pset署名文字列444は、既存の論理psetのリポジトリ448内のすべての既存の論理psetのpset署名文字列と一緒にpset署名検索ステップ446に与えられる。既存の論理psetのそれぞれに関して、既存の論理psetのpset署名文字列が、pset署名文字列444と比較される。pset署名文字列444が既存の論理psetのpset署名文字列のうちの少なくとも1つに一致する場合、グラフ432の実行コマンドのインスタンス化のための論理psetは既存の論理psetのリポジトリ448内に既に存在するので、何も行われる必要がない。
一部の例において、既存の論理psetのリポジトリ448内のすべての既存の論理psetのpset署名文字列は、既存の論理psetと一緒にリポジトリ448に記憶される。その他の例において、既存の論理psetに関する署名文字列は、オンザフライで、必要に応じて計算される。
4.4.4 新しい論理psetの追加
そうではなく、既存の論理psetの署名文字列のいずれもpsetの署名文字列444に一致しない場合、論理pset436及びその論理pset436の署名文字列444は、新しい論理pset追加ステップ450によって既存の論理psetのリポジトリ448に新しい論理psetとして追加される。
4.5 例
図6及び図7を参照すると、図2の第1の部分グラフ202に適用される図4の論理pset発見及び生成方法の例示的な動作が提示される。図2の第1の部分グラフ202は、2つのパラメータP1 = FEED及びP2 = DATEを含む。第1の部分グラフ202は、パラメータが「設計時」パラメータ又は「ランタイム」パラメータのどちらかとして分類され、パラメータ分類結果426を生じさせるパラメータ分類ステップ424に与えられる。パラメータ分類結果426は、P1(FEED)パラメータが設計時パラメータであり、P2(DATE)パラメータがランタイムパラメータであることを示す。
パラメータ分類結果426及びジョブログデータストア428が、論理pset構築ステップ434に与えられる。図6の例において、ジョブログデータストア428は、第1の部分グラフ202(すなわち、gather.mp)のインスタンスの実行に関連する情報を含む4つのジョブログエントリを含む。それぞれのジョブログエントリは、DATEパラメータ及びFEEDパラメータに関する値を引数として受け取った実行コマンドを含む。
論理pset構築ステップ434は、ジョブログデータストア428のジョブログエントリのそれぞれに関して異なる論理pset436を生成する。P1(FEED)パラメータが設計時パラメータであるので、実行コマンドに引数として与えられたそのP1(FEED)パラメータの値(例えば、mexico、usa、canada、又はhong kong)は、論理pset436のそれぞれに関して含められる。P2(DATE)パラメータがランタイムパラメータであるので、実行コマンドに引数として与えられたそのP2(DATE)パラメータの値は、論理pset436に含められない。論理pset436のそれぞれは、第1の部分グラフ202のその論理pset436の対応するインスタンスに関するプロジェクトスコープを含む。
図7を参照すると、論理pset436は、論理pset436のそれぞれに関して異なる論理pset署名文字列444を計算するpset署名文字列計算ステップ442に与えられる。
論理pset署名文字列444と、既存のpsetのリポジトリ448内の既存のpsetに関する論理pset署名文字列の集合447とが、検索ステップ446に与えられる。図2においてそうだったように、第1の部分グラフ202に関連する3つの既存のpset、すなわち、mexico FEEDパラメータに関する既存のpset、usa FEEDパラメータに関する既存のpset、及びcanada FEEDパラメータに関する既存のpsetが存在する。したがって、既存のpsetに関する論理pset署名文字列444の集合447は、第1の部分グラフ202に関連する既存のpsetのそれぞれに関する文字列を含む。
検索ステップ446は、既存のpsetに関する論理pset署名文字列の集合447内の論理pset署名文字列444のそれぞれの存在を検索する。この例において、検索ステップ446によって生じさせられた結果は、既存のpsetに関する論理pset署名文字列の集合447に含まれない論理pset署名文字列のみがFEEDパラメータ値「hong kong」を有する論理psetに関連する論理pset署名文字列であることである。
検索ステップ446の結果と、「hong kong」フィードパラメータを含む論理pset436とが、論理pset追加ステップ450に与えられ、論理pset追加ステップ450は、FEEDパラメータ「hong kong」を含む論理psetと、その論理psetの対応する論理pset署名文字列444とを既存の論理psetのリポジトリ448に追加する。
新しい論理psetをリポジトリに追加することによって、以前のデータ系統の結果において見落とされたであろう第1の部分グラフ202の「hong kong」インスタンスが、データ系統の結果に表される。
上記の例においては、ランタイムパラメータに関する静的解析値がデータフローグラフ自体に記憶されるものとして説明されているが、一部の例においては、ランタイムパラメータに関する静的解析値は、データフローグラフに関連する1又は2以上のpsetに保有される可能性があることが留意される。
一部の例において、特定の設計時パラメータ値は、静的解析時に存在するとは限らないソースから(例えば、データベースから)導出される。しかし、一部の例においては、ジョブログデータストアに記憶されたジョブログエントリが、その特定のジョブに関する解決されたすべてのパラメータに関する値を含む。静的解析時には、記憶されたパラメータ値が、静的解析時に存在しないソースから導出されるパラメータ値の代わりに使用され得る。
一部の例において、ジョブログデータストアのジョブログエントリは、データフローグラフに関するすべての解決されたパラメータ、データフローグラフによって読み書きされたすべてのファイルのログ、及び性能追跡情報を含む。一部の例において、ジョブログデータストアのジョブログエントリは、図4の方法によって発見される任意の論理パラメータセットによって増強される。一部の例において、発見された論理パラメータセットによってジョブログデータストアのジョブログエントリを増強することは、ジョブログエントリと発見された論理パラメータセットとの間の関連付けを形成することを含む。ジョブログデータストアの増強されたジョブログエントリは、さまざまな形態の情報をデータ設計者又はビジネスユーザに提供するために利用され得る。一部の例において、増強されたジョブログエントリは、論理的に接続されるデータフローグラフが物理的にも接続されることを保証するために解析され得る。一部の例において、増強されたジョブログエントリは、物理データセットがどの論理データセットのインスタンスに対応するかを判定するために解析され得る。一部の例において、増強されたジョブログエントリは、同じ物理ファイル名を有するが、異なる静的解析パラメータに関連付けられるデータセットを特定するために解析され得る。そのような例においては、不整合が、手動で修復するためにユーザに提示される可能性があり、又は自動的に修復される可能性がある。一部の例において、データ系統のレポートは、不整合の指示と、不整合が自動的に修正されたか否かとを含む可能性がある。
一部の例において、増強されたジョブログエントリは、頻度及び/又は新しさによってデータ系統のレポートをフィルタリングするためにデータ系統モジュールによって使用され得る。例えば、メタデータ環境モジュールは、実行モジュールによってもはや実行されないいくつかのデータフローグラフ及びpsetを保有する可能性がある。そのようなデータフローグラフ及びpsetは、万が一後で必要とされる場合に備えて適所に残される可能性がある。しかし、実行されないデータフローグラフ及びpsetは、データ系統のレポートを不必要に乱雑にする可能性がある。乱雑さを減らすために、増強されたジョブログエントリは、どのデータフローグラフ及び/若しくはpsetがまれにしか使用されず並びに/又は最近使用されていないかを判定するために解析され得る。頻度及び新しさの情報に基づいて、まれにしか実行されず、最近実行されていないデータフローグラフ及びpset(例えば、過去1年間実行されなかったデータフローグラフ)は、企業ユーザに提示する前にデータ系統のレポートから除去される可能性がある。
一部の例においては、所与のデータフローグラフに関する論理pset(例えば、FEED = USAを含むpset)が存在する可能性があるが、データフローグラフを呼び出す1又は2以上のジョブは、既存のpsetを利用する代わりにデータフローグラフにパラメータ値を直接与えることによってそのようにする。そのような場合、ジョブと(例えばジョブに関連する署名を介して)ジョブによってアクセスされた論理psetとの間で保有される関連付けが、ジョブログエントリをそれらのジョブログエントリの関連する論理psetに基づいてグループ分けするために使用され得る。グループ分けに基づいて、既存のpsetを利用する代わりにグラフを直接呼び出すことによってインスタンス化されるジョブが、論理pset及びその論理psetのパラメータに関連するものとして特定され得る。
一部の例において、データフローグラフに関するそれぞれのジョブログエントリは、情報の中でもとりわけ、ジョブログエントリに関連付けられるデータフローグラフの実行のためのすべての解決されたパラメータ値のリストを含む。いくつかのジョブログエントリがたまると、ジョブログエントリに含まれる解決されたパラメータ値が、データフローグラフのさまざまな「設計時インスタンス」を特定するために比較され得る。例えば、ジョブログエントリ内の特定の解決されたパラメータが、ジョブログエントリのすべての中のほんのいくつかの値によって表される可能性がある一方、特定のその他の解決されたパラメータは、ジョブログエントリのすべての中の多くの異なる値によって表される可能性がある。ジョブログエントリ内のほんのいくつかの値によって表される解決されたパラメータは、おそらくは「設計時」パラメータであり、ジョブログエントリ内の多くの異なる値によって表されるその他の解決されたパラメータは、おそらくは「ランタイムパラメータ」である。「設計時パラメータ」の一意の組合せを共有するデータフローグラフのインスタンスは、一緒にグループ化され、すべてデータフローグラフの「設計時インスタンス」であると考えられる。データ系統モジュールは、データフローグラフの異なる設計時インスタンスをデータ系統のレポートに含める。
5 重複論理データセット発見及び軽減方法
5.1 概要
概して、所与のデータフローグラフに関する入力及び出力データセット(例えば、データのデータベース又はテーブル)は、データフローグラフ内の論理データセットとして規定される。一部の例において、それぞれの論理データセットは、論理ファイル名などの識別子に関連付けられる。
データフローグラフは、実行される前に、それぞれの論理データセットを対応する物理データセット(例えば、ディスク上のファイル)に解決することを含め、実行のために準備される。一部の例において、それぞれの物理データセットは、物理ファイル名(例えば、summary.dat)などの識別子に関連付けられる。パラメータ解決プロセスは、たとえ論理データセットの論理ファイル名が対応する物理データセットの物理ファイル名と異なるとしても、論理データセットをその論理データセットの対応する物理データセットにうまく解決することができる。
データ系統のレポートが2又は3以上の部分グラフを含むデータフローグラフに関して決定されるとき、部分グラフの間の系統の関係が、2又は3以上の部分グラフの入力及び出力論理データセットの論理ファイル名に従って少なくとも部分的に決定される。このため、系統の関係の正しさは、所与の物理データセットを参照する2又は3以上のいかなる入力及び出力論理データセットも同じ論理ファイル名を共有することを必要とする。さらに言えば、第1の部分グラフが所与の物理データセットに書き込み、その後、第2の部分グラフが所与の物理データセットから読み取るが、第1の部分グラフの出力論理データセット及び第2の部分グラフの入力論理データセットの論理ファイル名が一致しない場合、2つの部分グラフの間で系統の関係は特定されない。一部の例において、同じ物理データセットに解決するが、一致しない論理ファイル名を有する2つの論理データセットは、「重複論理データセット」と呼ばれる。
下で詳細に説明されるように、データフローグラフ内の重複論理データセットは、特定され、ユーザに提示され得る。そのとき、ユーザは、いくつかの方法で重複論理データセットに対処することを選択し得る。
5.2 重複論理データセットのない例
図8を参照すると、図1の開発環境118を使用して生じさせられたデータフローグラフ817の例が、gather.mpと命名された第1の部分グラフ802と、process.mpと命名された第2の部分グラフ804とを含む。
第1の部分グラフ802は、論理ファイル名「Acct_1.dat」を有する第1の論理データセットDL1 806及び論理ファイル名「Acct_2.dat」を有する第2の論理データセットDL2 808を入力として受け取る。第1の部分グラフ802は、第1の及び第2の論理データセット806、808からのデータを処理し、論理ファイル名「Acct_summ.dat」を有する第3の論理データセットDL3 810に処理の結果を書き込む。第2の部分グラフ804は、論理ファイル名「Acct_summ.dat」を有する第3の論理データセットDL3 810を入力として受け取り、第3の論理データセット810からのデータを処理し、処理の結果をテーブル814に書き込む。第1の部分グラフ802と第2の部分グラフ804との両方によって使用される第3の論理データセット810は、部分グラフ802、804の両方において同じ論理ファイル名を有することに留意されたい。
図9を参照すると、データフローグラフ817が実行前に解決されるとき、論理データセットは、それらの論理データセットの対応する物理データセットに解決される。例えば、第1の論理データセット806は、物理ファイル名「Acct_1.dat」を有する第1の物理データセットDP1 814に解決され、第2の論理データセット808は、物理ファイル名「Acct_2.dat」を有する第2の物理データセットDP2 816に解決され、第3の論理データセット810は、物理ファイル名「summary.dat」を有する第3の物理データセットDP3 818に解決される。
図10を参照すると、データフローグラフに関するデータ系統のレポート1017が、第1の部分グラフ1002、第2の部分グラフ1004、第1の論理データセット1006、第2の論理データセット1008、及び第3の論理データセット1010を含む。データ系統のレポート1017は、第1の論理データセット1006と第1の部分グラフ1002の入力との間の第1の系統の関係1018、第2の論理データセット1008と第1の部分グラフ1002の入力との間の第2の系統の関係1020、第1の部分グラフ1002の出力と第3の論理データセット1010との間の第3の系統の関係1022、及び第3の論理データセット1010と第2の部分グラフ1004との間の第4の系統の関係1024も含む。この場合、同じ論理ファイル名(すなわち、「Acct_summ.dat」)を有する同じ論理データセット(すなわち、第3の論理データセットDL3 810)が第1の部分グラフ802の出力及び第2の部分グラフ804の入力に存在するので、データ系統のレポート1017は正しいことに留意されたい。
5.3 重複論理データセットがある例
図11を参照すると、図1の開発環境118を使用して生じさせられたデータフローグラフ1117の別の例が、gather.mpと命名された第1の部分グラフ1102及びprocess.mpと命名された第2の部分グラフ1104を含む。
第1の部分グラフ1102は、論理ファイル名「Acct_1.dat」を有する第1の論理データセットDL1 1106及び論理ファイル名「Acct_2.dat」を有する第2の論理データセットDL2 1108を入力として受け取る。第1の部分グラフ1102は、第1の及び第2の論理データセット1106、1108からのデータを処理し、論理ファイル名「Acct_summ.dat」を有する第3の論理データセットDL3 1110に処理の結果を書き込む。第2の部分グラフ1104は、論理ファイル名「Acct−summ.dat」を有する第4の論理データセットDL4 1111の入力を入力として受け取り、第4の論理データセット1111からのデータを処理し、処理の結果をテーブル814に書き込む。第3の論理データセット1110の論理ファイル名(すなわち、「Acct_summ.dat」)は、第4の論理データセット1111の論理ファイル名(すなわち、「Acct−summ.dat」)とは異なることに留意されたい。
図12を参照すると、データフローグラフ1117が実行前に解決されるとき、論理データセットは、それらの論理データセットの対応する物理データセットに解決される。例えば、第1の論理データセット1106は、物理ファイル名「Acct_1.dat」を有する第1の物理データセットDP1 1114に解決され、第2の論理データセット1108は、物理ファイル名「Acct_2.dat」を有する第2の物理データセットDP2 1116に解決され、第3の論理データセット1110と第4の論理データセット1111との両方は、物理ファイル名「summary.dat」を有する第3の物理データセットDP3 1218に解決される。第3の論理データセット1110及び第4の論理データセット1111は、それぞれ同じ物理データセット(すなわち、第3の物理データセット1218)を指すので重複論理データセットであることに留意されたい。
図13を参照すると、データフローグラフに関するデータ系統のレポート1317が、第1の部分グラフ1102、第2の部分グラフ1104、第1の論理データセット1106、第2の論理データセット1108、第3の論理データセット1110、及び第4の論理データセット1111を含む。データ系統のレポート1317は、第1の論理データセット1106と第1の部分グラフ1102の入力との間の第1の系統の関係1318、第2の論理データセット1108と第1の部分グラフ1102の入力との間の第2の系統の関係1320、第1の部分グラフ1002の出力と第3の論理データセット1110との間の第3の系統の関係1322、及び第4の論理データセット1111と第2の部分グラフ1104との間の第4の系統の関係1324も含む。
この場合、異なる論理ファイル名を有する2つの異なる論理データセット(すなわち、第3の論理データセット1110及び第4の論理データセット1111)が同じ物理データセット(すなわち、第3の物理データセット1218)を参照するので、データ系統のレポート1317は正しくないことに留意されたい。特に、論理ファイル名「Acct_summ.dat」を有する第3の論理データセットDL3 1110が、第1の部分グラフ1102の出力に存在し、論理ファイル名「Acct−summ.dat」を有する第4の論理データセット1111が、第2の部分グラフ1104の入力に存在する。データ系統のレポート1317は、第3の論理データセット1110及び第4の論理データセット1111を、互いにいかなる系統の関係もない別々のデータセットとして表す。したがって、データ系統のレポート1317は、第3の論理データセット1110と第4の論理データセット1111との間のデータ系統の断絶を誤って含む。
5.4 重複論理データセットの発見
一部の例において、データフローグラフ内の重複論理データセットは、データフローグラフの実行によって生じさせられたランタイムアーチファクト(artifact)(例えば、図5のジョブログ429)を解析することによって発見され得る。特に、データフローグラフが実行されるたびに、ジョブログが生じさせられる。
ジョブログは、グラフインスタンス名と、グラフ内のそれぞれのデータセット構成要素に関して、そのデータセット構成要素がアクセスした物理データセット及びアクセスの種類(読み取り又は書き込み)とを含むデータフローグラフの実行に関連する情報を含む。グラフインスタンスは、それぞれのデータセット構成要素の論理データセット名を決定するために調べられ得る。グラフインスタンス及びデータセット構成要素名に対するマッチングによって、システムは、論理データセット名を物理データセット名にマッピングすることができる。
重複論理データセットを特定するために、マッピングの第1の論理データセットがマッピングの第2の論理データセットと異なる論理データセットから物理データセットへのマッピングを特定するためにジョブログが解析される。第1の論理データセット及び第2の論理データセットが異なる論理データセットから物理データセットへのマッピングは、重複論理データセットとして分類される。
特定された重複論理データセットは、重複論理データセットを訂正すべきか否かを判断するユーザに提示されるか、又は自動的に軽減されるかのどちらかである。
5.4.1 重複論理データセット発見の例
再び図12を参照すると、解決されたデータフローグラフ1117が実行されるとき、データフローグラフの実行に関するジョブログが生じさせられる。ジョブログは、第1の部分グラフ1102と第2の部分グラフ1104との間のフローに対応する単一の論理データセットから物理データセットへのマッピングを含む。論理データセットから物理データセットへのマッピングは、第1の部分グラフ1104の出力の第3の論理データセットDL3 1110に関する識別子、第2の部分グラフ1106の入力の第4の論理データセットDL4 1111に関する識別子、及び第3の物理データセット1218に関する識別子を含む。
第3の論理データセット1110及び第4の論理データセット1111は、同じ物理データセット(すなわち、第3の物理データセット1218)を指す異なる論理データセット(例えば、異なる論理ファイル名を有する論理データセット)であるので、重複論理データセットとして分類される。
上述の簡単な例は単一のジョブログからの重複論理データセットの単一のペアの特定を含むが、上述の重複論理データセット発見手法を含むデータ処理システムの実際の実施形態においては、重複論理データセットの多数のペアが、多数のジョブログを使用して特定される可能性がある。
5.5 重複論理データセットの軽減
上述のように、重複論理データセットは、データ系統のレポート内の断絶をもたらす可能性がある。重複論理データセットが特定されると、重複論理データセットを消去するか又はデータ系統のレポートに対するそれらの重複論理データセットの影響を軽減するためにいくつかの異なる手法が使われ得る。一部の例において、特定された重複論理データセットは、例えば、スプレッドシートの形態でユーザに提示される。そのとき、ユーザは、(例えば、所与のデータフローグラフにおいて、所与の物理データセットが単一の論理データセットによってのみ参照されることを保証することによって)重複論理データセットを消去するために重複論理データセットを含むデータフローグラフを編集することができる。その他の例において、ユーザは、等価であるものとして重複論理データセットのペアに印を付ける可能性がある。このようにして、ユーザは、データフローグラフにいかなる変更を行うことも要求されない。さらにその他の例において、重複論理データセットのペアは、等価であるものとして自動的に印を付けられる可能性がある。
重複論理データセットのペアが等価であるものとして印を付けられるとき、データ系統のレポート内で等価性を表示するいくつかの手法が存在する。1つの手法においては、データ系統のレポート内で、重複論理データセットのペアが参照する物理データセットが重複論理データセットに接続されて示される。例えば、図14を参照すると、第3の物理データセットDP3 1218がデータ系統のレポート1317に含まれる。第3の論理データセットDL3 1110と第4の論理データセットDL4 1111は、系列の関係1450及び1452によって第3の物理データセット1218に接続されるものとして示される。
別の手法においては、重複論理データセットのペアの論理データセットが、系統の関係によってデータ系統のレポート内で互いに接続されて示される。例えば、図15を参照すると、データ系統のレポート1317内で、第3の論理データセットDL3 1110は、系統の関係1550によって第4の論理データセットDL4 1111に接続されるものとして示される。
別の手法においては、重複論理データセットのペアが、データ系統のレポート内で組み合わされた論理データセットによって表される。例えば、図16を参照すると、重複論理データセットのペアが、データ系統のレポート1317内で組み合わされた論理データセットDLR1654によって表される。
別の手法においては、重複論理データセットのペアのうちの一方の論理データセットが、データ系統の重複レポート内で論理データセットのペアを表すために選択される。例えば、図17を参照すると、第4の論理データセットDL4 1111が、データ系統のレポート1317内で重複論理データセットのペアを表す。
別の手法においては、重複論理データセットのペアと、重複論理データセットのペアの組み合わされた論理データセットの表現とが、データ系統のレポートに含まれる。重複論理データセットのペアと組み合わされた論理データセットの表現との間の系統の関係の一意の構成が、データ系統グラフ内に示される。例えば、図18を参照すると、データ系統のレポート1317は、重複論理データセットのペアの組み合わされた論理データセットの表現DLR1854、第3の論理データセットDL3 1110、及び第4の論理データセットDL4 1111を含む。組み合わされた論理データセット1854は、第1の部分グラフ1102及び第2の部分グラフ1104と直接的な系統の関係を有するものとして示される。また、組み合わされた論理データセット1845は、第3の論理データセット1110を介した第1の部分グラフ1102との間接的な系統の関係を有し、第4の論理データセット1111を介した第2の部分グラフ1104との間接的な系統の関係を有するものとして示される。
別の手法においては、重複論理データセットのペアの論理データセットが、データ系統のレポートに含まれる。重複論理データセットのペアの論理データセットの間の系統の関係の一意の構成が、データ系統グラフ内に示される。例えば、図19を参照すると、データ系統のレポート1317は、第3の論理データセットDL3 1110及び第4の論理データセットDL4 1111を含む。第4の論理データセット1111は、第1の部分グラフ1102及び第2の部分グラフ1104と直接的な系統の関係を有するものとして示される。第3の論理データセットDL3 1110は、第1の部分グラフ1102との直接的な系統の関係を有し、第4の論理データセット1111を介した第2の部分グラフ1104との間接的な系統の関係を有するものとして示される。
一部の例において、上述の軽減手法は、データ系統のレポート内で、破線、太線、又は軽減手法がデータ系統のレポートに適用されたことがデータ系統のレポートのユーザに対して明瞭であるその他の代替的な方法で示される。
上述の重複論理データセット発見及び軽減手法が第1の構成要素が物理データセットに書き込み、別の構成要素がその物理データセットから読み取る筋書きを用いて説明されているが、その他の筋書きが重複論理データセットをもたらし得ることが留意される。例えば、重複論理データセットのペアが、同じ物理データセットから読み取る2つの異なる論理データセットから生じる可能性がある。同様に、重複論理データセットのペアが、同じ物理データセットに書き込む2つの異なる論理データセットから生じる可能性がある。
上述の手法が、2009年2月26日に出願した米国特許出願第12/393,765号明細書、2011年10月25日に出願した米国特許出願第13/281,039号明細書、及び2014年7月24日に出願した米国仮出願第62/028,485号明細書においてより詳細に説明されているようにデータ系統情報を管理し、提示するための及びデータセットオブジェクトを管理するためのさまざまなその他の手法の特徴を組み込む可能性があり、これらの出願のすべては、参照により本明細書に組み込まれる。
上述の手法は、例えば、好適なソフトウェア命令を実行するプログラミング可能なコンピューティングシステムを用いて実装される可能性があり、又はフィールドプログラマブルゲートアレイ(FPGA,field-programmable gate array)などの好適なハードウェアで、若しくは何らかの混成の形態で実装される可能性がある。例えば、プログラミングされる手法において、ソフトウェアは、それぞれが少なくとも1つのプロセッサ、(揮発性及び/又は不揮発性メモリ及び/又はストレージ要素を含む)少なくとも1つのデータストレージシステム、(少なくとも1つの入力デバイス又はポートを用いて入力を受け取るため、及び少なくとも1つの出力デバイス又はポートを用いて出力を与えるための)少なくとも1つのユーザインターフェースを含む(分散、クライアント/サーバ、又はグリッドなどのさまざまなアーキテクチャである可能性がある)1又は2以上のプログラミングされた又はプログラミング可能なコンピューティングシステムで実行される1又は2以上のコンピュータプログラムの手順を含み得る。ソフトウェアは、例えば、データフローグラフの設計、構成、及び実行に関連するサービスを提供するより大きなプログラムの1又は2以上のモジュールを含む可能性がある。プログラムのモジュール(例えば、データフローグラフの要素)は、データリポジトリに記憶されたデータモデルに準拠するデータ構造又はその他の編成されたデータとして実装され得る。
ソフトウェアは、CD−ROM又は(例えば、多目的若しくは専用のコンピューティングシステム若しくはデバイスによって読み取り可能な)その他のコンピュータ可読媒体などの有形の非一時的媒体で提供されるか、或いはそのソフトウェアが実行されるコンピューティングシステムの有形の非一時的媒体にネットワークの通信媒体を介して配信される(例えば、伝搬信号に符号化される)可能性がある。処理の一部又はすべては、専用のコンピュータで、又はコプロセッサ若しくはフィールドプログラマブルゲートアレイ(FPGA)若しくは専用の特定用途向け集積回路(ASIC,application-specific integrated circuit)などの専用のハードウェアを用いて実行される可能性がある。処理は、ソフトウェアによって規定された計算の異なる部分が異なる計算要素によって実行される分散された方法で実装される可能性がある。それぞれのそのようなコンピュータプログラムは、本明細書において説明された処理を実行するためにストレージデバイスの媒体がコンピュータによって読み取られるときにコンピュータを構成し、動作させるために、多目的又は専用のプログラミング可能なコンピュータによってアクセスされ得るストレージデバイスのコンピュータ可読ストレージ媒体(例えば、ソリッドステートメモリ若しくは媒体、又は磁気式若しくは光学式媒体)に記憶されるか又はダウンロードされることが好ましい。本発明のシステムは、コンピュータプログラムで構成された有形の非一時的媒体として実装されると考えられる可能性もあり、そのように構成された媒体は、本明細書において説明された処理ステップのうちの1又は2以上を実行するために特定の予め定義された方法でコンピュータを動作させる。
本発明のいくつかの実施形態が、説明された。しかしながら、上述の説明は、添付の特許請求の範囲によって定義される本発明の範囲を例示するように意図されており、限定するように意図されていないことを理解されたい。したがって、その他の実施形態も、添付の特許請求の範囲内にある。例えば、本発明の範囲を逸脱することなくさまざまな修正がなされ得る。さらに、上述のステップの一部は、順序に依存しない可能性があり、したがって、説明された順序とは異なる順序で実行される可能性がある。

Claims (17)

  1. 系統情報を管理するための方法であって、
    2又は3以上のデータ処理プログラム及び2又は3以上の論理データセットの間の1又は2以上の系統の関係を表す系統情報を受け取るステップであって、前記論理データセットのうちの少なくとも1つが、前記データ処理プログラムのうちの少なくとも1つのランタイムで物理データセットに解決される、ステップと、
    1又は2以上のランタイムアーチファクトを受け取るステップであって、それぞれのランタイムアーチファクトが、前記2又は3以上のデータ処理プログラムのうちのデータ処理プログラムの以前の実行に関連する情報を含む、ステップと、
    前記1又は2以上のランタイムアーチファクト及び前記系統情報を解析し、該解析の結果に基づいて前記系統情報に対する1又は2以上の修正候補を決定するステップであって、少なくとも1つの修正候補が、前記解析の結果に少なくとも部分的に基づく、前記2又は3以上の論理データセットのうちの少なくとも1つの表現に対する修正を含み、前記結果が、1又は2以上の物理データセットに関連付けられる、ステップとを含む、前記方法。
  2. 1又は2以上の修正候補が、2又は3以上のデータ処理プログラムのうちのデータ処理プログラムと2又は3以上の論理データセットのうちの論理データセットとの間の新しい間接的な系統の関係を追加する修正候補を含む、請求項1に記載の方法。
  3. 1又は2以上の修正候補が、2又は3以上のデータ処理プログラムのうちのデータ処理プログラムと2又は3以上の論理データセットのうちの論理データセットとの間の新しい直接的な系統の関係を追加する第1の修正候補を含む、請求項1に記載の方法。
  4. ランタイムアーチファクト及び系統情報を解析するステップが、2若しくは3以上のデータ処理プログラムの以前の実行のログを解析して、前記2若しくは3以上のデータ処理プログラムから読み取られた物理データセット又は前記2若しくは3以上のデータ処理プログラムによって書き込まれた物理データセットを決定することを含む、請求項3に記載の方法。
  5. ランタイムアーチファクト及び系統情報を解析するステップが、前記系統情報内に表され、同じ物理データセットに関連付けられる2又は3以上の論理データセットのうちの2つの異なる論理データセットを特定することをさらに含む、請求項4に記載の方法。
  6. 第1の修正候補が、2つの異なる論理データセットの間の新しい系統の関係の生成を含む、請求項5に記載の方法。
  7. 第1の修正候補が、2つの異なる論理データセットを新しい組み合わされた論理データセットに統合させることを含む新しい系統の関係の生成を含む、請求項5に記載の方法。
  8. 2又は3以上のデータ処理プログラムのうちのそれぞれのデータ処理プログラムが、1又は2以上のパラメータ値の集合に従ってインスタンス化されたジェネリックデータ処理プログラムのインスタンスである、請求項1に記載の方法。
  9. 1又は2以上のランタイムアーチファクト及び系統情報を解析するステップが、
    2又は3以上のデータ処理プログラムのうちの第1のデータ処理プログラムの以前の実行の1又は2以上のログを解析して、1又は2以上のパラメータ値の第1の集合に従って前記第1のデータ処理プログラムの第1のインスタンス化において使用された第1のパラメータセットを決定することと、
    前記第1のパラメータセットから少なくともいくつかのパラメータを選択することと、
    前記第1のデータ処理プログラムのジェネリックバージョン及び前記少なくともいくつかのパラメータに基づいて、前記第1のデータ処理プログラムの前記第1のインスタンス化が前記系統情報内に表されないと決定することとを含む、請求項8に記載の方法。
  10. 第1のパラメータセットから少なくともいくつかのパラメータを選択することが、ユーザから受け取った情報に基づいてパラメータを選択することを含む、請求項9に記載の方法。
  11. 第1のパラメータセットから少なくともいくつかのパラメータを選択することが、1又は2以上の予め定義された規則に基づいてパラメータを選択することを含む、請求項9に記載の方法。
  12. 1又は2以上の予め定義された規則のうちの第1の規則が、日付の形態のパラメータ値を有するパラメータが選択されるパラメータから除外されることを規定する、請求項11に記載の方法。
  13. 1又は2以上の予め定義された規則のうちの第1の規則が、ジェネリックデータ処理プログラムの論理において変換されるパラメータ値を有するパラメータが選択されるパラメータに含められることを規定する、請求項11に記載の方法。
  14. 系統情報に対する1又は2以上の修正候補が、2又は3以上のデータ処理プログラムのうちの第1のデータ処理プログラムと2又は3以上の論理データセットのうちの論理データセットとの間の新しい系統の関係を追加する第1の修正候補を含む、請求項9に記載の方法。
  15. コンピュータ可読媒体に非一時的形態で記憶された系統情報を管理するためのソフトウェアであって、コンピューティングシステムに、
    2又は3以上のデータ処理プログラム及び2又は3以上の論理データセットの間の1又は2以上の系統の関係を表す系統情報を受け取ることであって、前記論理データセットのうちの少なくとも1つが、前記データ処理プログラムのうちの少なくとも1つのランタイムで物理データセットに解決される、受け取ることと、
    1又は2以上のランタイムアーチファクトを受け取ることであって、それぞれのランタイムアーチファクトが、前記2又は3以上のデータ処理プログラムのうちのデータ処理プログラムの以前の実行に関連する情報を含む、受け取ることと、
    前記1又は2以上のランタイムアーチファクト及び前記系統情報を解析し、該解析の結果に基づいて前記系統情報に対する1又は2以上の修正候補を決定することであって、少なくとも1つの修正候補が、前記解析の結果に少なくとも部分的に基づく、前記2又は3以上の論理データセットのうちの少なくとも1つの表現に対する修正を含み、前記結果が、1又は2以上の物理データセットに関連付けられる、解析し、決定することとを行わせるための命令を含む、前記ソフトウェア。
  16. 系統情報を管理するためのコンピューティングシステムであって、
    2又は3以上のデータ処理プログラム及び2又は3以上の論理データセットの間の1又は2以上の系統の関係を表す系統情報、並びに1又は2以上のランタイムアーチファクトを受け取るように構成された入力デバイス又はポートであって、それぞれのランタイムアーチファクトが、前記2又は3以上のデータ処理プログラムのうちのデータ処理プログラムの以前の実行に関連する情報を含み、前記論理データセットのうちの少なくとも1つが、前記データ処理プログラムのうちの少なくとも1つのランタイムで物理データセットに解決される、入力デバイス又はポートと、
    前記1又は2以上のランタイムアーチファクト及び前記系統情報を解析し、該解析の結果に基づいて前記系統情報に対する1又は2以上の修正候補を決定するように構成された少なくとも1つのプロセッサであって、少なくとも1つの修正候補が、前記解析の結果に少なくとも部分的に基づく、前記2又は3以上の論理データセットのうちの少なくとも1つの表現に対する修正を含み、前記結果が、1又は2以上の物理データセットに関連付けられる、少なくとも1つのプロセッサとを含む、前記コンピューティングシステム。
  17. 解析の結果が、少なくとも1つのデータ処理プログラムのランタイムで少なくとも1つの論理データセットが解決された少なくとも1つの物理データセットの特定を含む、請求項1に記載の方法。
JP2017502803A 2014-07-18 2015-07-20 系統情報の管理 Active JP6636009B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462026228P 2014-07-18 2014-07-18
US62/026,228 2014-07-18
PCT/US2015/041097 WO2016011442A1 (en) 2014-07-18 2015-07-20 Managing lineage information

Publications (2)

Publication Number Publication Date
JP2017525039A true JP2017525039A (ja) 2017-08-31
JP6636009B2 JP6636009B2 (ja) 2020-01-29

Family

ID=53836203

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017502812A Active JP6457622B2 (ja) 2014-07-18 2015-07-20 パラメータの集合の管理
JP2017502803A Active JP6636009B2 (ja) 2014-07-18 2015-07-20 系統情報の管理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017502812A Active JP6457622B2 (ja) 2014-07-18 2015-07-20 パラメータの集合の管理

Country Status (9)

Country Link
US (3) US10175974B2 (ja)
EP (4) EP3195114B1 (ja)
JP (2) JP6457622B2 (ja)
KR (2) KR102279859B1 (ja)
CN (2) CN106716352B (ja)
AU (3) AU2015289441B2 (ja)
CA (2) CA2955380C (ja)
SG (2) SG11201700384WA (ja)
WO (2) WO2016011441A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022058555A (ja) * 2017-11-13 2022-04-12 アビニシオ テクノロジー エルエルシー 実行可能論理を用いて構造化データアイテムを処理するためのキーベースのロギング

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102279859B1 (ko) 2014-07-18 2021-07-20 아브 이니티오 테크놀로지 엘엘시 파라미터 세트의 관리
US10275227B1 (en) * 2015-02-20 2019-04-30 The Mathworks, Inc. Determining functional equivalence of configurations of a model
US11727025B2 (en) 2015-04-03 2023-08-15 Oracle International Corporation Method and system for implementing a log parser in a log analytics system
US10366096B2 (en) 2015-04-03 2019-07-30 Oracle International Corporation Method and system for implementing a log parser in a log analytics system
US11226975B2 (en) 2015-04-03 2022-01-18 Oracle International Corporation Method and system for implementing machine learning classifications
US10467195B2 (en) 2016-09-06 2019-11-05 Samsung Electronics Co., Ltd. Adaptive caching replacement manager with dynamic updating granulates and partitions for shared flash-based storage system
US10455045B2 (en) 2016-09-06 2019-10-22 Samsung Electronics Co., Ltd. Automatic data replica manager in distributed caching and data processing systems
CA3043586A1 (en) 2016-11-09 2018-05-17 Ab Initio Technology Llc Systems and methods for determining relationships among data elements
US10431002B2 (en) * 2017-02-23 2019-10-01 International Business Machines Corporation Displaying data lineage using three dimensional virtual reality model
US10379825B2 (en) 2017-05-22 2019-08-13 Ab Initio Technology Llc Automated dependency analyzer for heterogeneously programmed data processing system
US10726069B2 (en) * 2017-08-18 2020-07-28 Sap Se Classification of log entry types
US11681944B2 (en) 2018-08-09 2023-06-20 Oracle International Corporation System and method to generate a labeled dataset for training an entity detection system
US10803051B2 (en) * 2018-10-10 2020-10-13 Bank Of America Corporation System for performing a lineage control in a data network
US11256701B2 (en) 2019-01-02 2022-02-22 Bank Of America Corporation Interactive lineage mapping system
US11194845B2 (en) * 2019-04-19 2021-12-07 Tableau Software, LLC Interactive lineage analyzer for data assets
US10996946B2 (en) 2019-05-22 2021-05-04 Ab Initio Technology Llc Static and runtime analysis of computer program ecosystems
US11080227B2 (en) * 2019-08-08 2021-08-03 SambaNova Systems, Inc. Compiler flow logic for reconfigurable architectures
US10798100B1 (en) 2019-09-12 2020-10-06 Snowflake Inc. Managing membership in a private data exchange
KR102168775B1 (ko) * 2019-12-27 2020-10-23 주식회사에어플러그 네트워크를 경유하는 서비스 기반의 정보 조회를 신속하게 처리하기 위한 방법과 그 방법을 위한 기기
CN112131303A (zh) * 2020-09-18 2020-12-25 天津大学 基于神经网络模型的大规模数据沿袭方法
US11971909B2 (en) 2021-01-31 2024-04-30 Ab Initio Technology Llc Data processing system with manipulation of logical dataset groups
CA3210343A1 (en) * 2021-01-31 2022-08-04 Ab Initio Technology Llc Dataset multiplexer for data processing system
WO2023060170A2 (en) 2021-10-08 2023-04-13 Ab Initio Technology Llc Automated modification of computer programs

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03116229A (ja) * 1989-06-14 1991-05-17 A T R Tsushin Syst Kenkyusho:Kk プログラム構造自動設計装置
US20100138388A1 (en) * 2008-12-02 2010-06-03 Ab Initio Software Llc Mapping instances of a dataset within a data management system
US20130018873A1 (en) * 2011-07-15 2013-01-17 International Business Machines Corporation Versioning of metadata, including presentation of provenance and lineage for versioned metadata

Family Cites Families (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5168441A (en) 1990-05-30 1992-12-01 Allen-Bradley Company, Inc. Methods for set up and programming of machine and process controllers
US5446885A (en) 1992-05-15 1995-08-29 International Business Machines Corporation Event driven management information system with rule-based applications structure stored in a relational database
JPH0744368A (ja) 1993-07-29 1995-02-14 Hitachi Ltd 組合せモデルの編集システム
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
US6216140B1 (en) 1997-09-17 2001-04-10 Hewlett-Packard Company Methodology for the efficient management of hierarchically organized information
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
US6088702A (en) 1998-02-25 2000-07-11 Plantz; Scott H. Group publishing system
US6381735B1 (en) * 1998-10-02 2002-04-30 Microsoft Corporation Dynamic classification of sections of software
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
US7117219B1 (en) * 2000-05-05 2006-10-03 Group 1 Software, Inc. Method and apparatus for creating a lineage of a data field in a data flow system
US7054885B1 (en) * 2000-05-23 2006-05-30 Rockwell Collins, Inc. Method and system for managing the configuration of an evolving engineering design using an object-oriented database
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
US7031001B2 (en) 2000-07-31 2006-04-18 Canon Kabushiki Kaisha Print control apparatus and control method
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
US6629098B2 (en) 2001-01-16 2003-09-30 Hewlett-Packard Development Company, L.P. Method and system for validating data submitted to a database application
JP2002279147A (ja) 2001-03-22 2002-09-27 Sharp Corp 内製化判断支援装置、内製化判断支援方法および内製化判断支援プログラムを記録した機械読取可能な記録媒体および内製化判断支援プログラム
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
US6732095B1 (en) 2001-04-13 2004-05-04 Siebel Systems, Inc. Method and apparatus for mapping between XML and relational representations
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
US6832366B2 (en) 2001-05-17 2004-12-14 Simdesk Technologies, Inc. Application generator
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
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
US7437766B2 (en) * 2002-10-03 2008-10-14 Sandia National Laboratories Method and apparatus providing deception and/or altered operation in an information system operating system
US7167850B2 (en) 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
US7225301B2 (en) 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
US20040225632A1 (en) 2003-05-08 2004-11-11 Microsoft Corporation Automated information management and related methods
US7257603B2 (en) 2003-05-08 2007-08-14 Microsoft Corporation Preview mode
CA2433750A1 (en) * 2003-06-27 2004-12-27 Ibm Canada Limited - Ibm Canada Limitee Automatic collection of trace detail and history data
US20050010896A1 (en) 2003-07-07 2005-01-13 International Business Machines Corporation Universal format transformation between relational database management systems and extensible markup language using XML relational transformation
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
US7865507B2 (en) 2003-09-15 2011-01-04 Oracle International Corporation Data quality analyzer
CN102982065B (zh) 2003-09-15 2016-09-21 起元科技有限公司 数据处理方法、数据处理装置及计算机可读存储介质
US7263532B2 (en) * 2003-09-23 2007-08-28 Microsoft Corporation Region-based memory management for object-oriented programs
US7328428B2 (en) 2003-09-23 2008-02-05 Trivergent Technologies, Inc. System and method for generating data validation rules
US7765529B1 (en) 2003-10-31 2010-07-27 The Mathworks, Inc. Transforming graphical objects in a graphical modeling environment
US20080052687A1 (en) 2003-11-03 2008-02-28 Agustin Gonzales-Tuchmann Development environment for data transformation applications
US7690000B2 (en) 2004-01-08 2010-03-30 Microsoft Corporation Metadata journal for information technology systems
US20050187984A1 (en) 2004-02-20 2005-08-25 Tianlong Chen Data driven database management system and method
US7543256B1 (en) 2004-03-01 2009-06-02 Advanced Micro Devices, Inc. System and method for designing an integrated circuit device
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 三洋電機株式会社 データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
US7536406B2 (en) 2004-06-23 2009-05-19 Microsoft Corporation Impact analysis in an object model
US20060007464A1 (en) 2004-06-30 2006-01-12 Percey Michael F Structured data update and transformation system
US7353227B2 (en) 2004-07-23 2008-04-01 Sap Aktiengesellschaft Conflict resolution engine
US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
US7760746B2 (en) * 2004-11-30 2010-07-20 Computer Associates Think, Inc. Cascading configuration using one or more configuration trees
US7428486B1 (en) 2005-01-31 2008-09-23 Hewlett-Packard Development Company, L.P. System and method for generating process simulation parameters
US8768877B2 (en) 2005-03-07 2014-07-01 Ca, 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
US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US7716630B2 (en) * 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters 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
US20070080088A1 (en) 2005-10-06 2007-04-12 Trotter Jason K Preassembly of cooperating parts
US9798781B2 (en) 2005-10-25 2017-10-24 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
US20080040388A1 (en) * 2006-08-04 2008-02-14 Jonah Petri Methods and systems for tracking document lineage
EP2050013A4 (en) 2006-08-10 2010-01-06 Ab Initio Software Llc DISTRIBUTION SERVICES IN DIAGRAM-BASED CALCULATIONS
US8397208B2 (en) * 2006-08-31 2013-03-12 Serena Software, Inc. Method and system for baselining across multiple domains
US7913233B2 (en) 2006-09-28 2011-03-22 Bank Of America Corporation Performance analyzer
US8423564B1 (en) 2006-10-31 2013-04-16 Ncr Corporation Methods and apparatus for managing and updating stored information
US20080126988A1 (en) 2006-11-24 2008-05-29 Jayprakash Mudaliar Application management tool
CA2705379C (en) * 2006-12-04 2016-08-30 Commvault Systems, Inc. Systems and methods for creating copies of data, such as archive copies
US7890509B1 (en) 2006-12-05 2011-02-15 First American Real Estate Solutions Llc Parcel data acquisition and processing
US9614929B2 (en) * 2006-12-19 2017-04-04 International Business Machines Corporation Application server with automatic and autonomic application configuration validation
US7428846B2 (en) 2006-12-21 2008-09-30 Namco Machine & Gear Works Ltd. Shaft encoder with anti-backlash gears
US20080162384A1 (en) 2006-12-28 2008-07-03 Privacy Networks, Inc. Statistical Heuristic Classification
GB0700450D0 (en) 2007-01-10 2007-02-21 Radiation Watch Ltd The RWL threat engine
WO2008113164A1 (en) * 2007-03-16 2008-09-25 Research In Motion Limited Automating construction of a data-source interface for component applications
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
US8429619B2 (en) 2007-07-03 2013-04-23 International Business Machines Corporation Executable high-level trace file generation system
US8103704B2 (en) 2007-07-31 2012-01-24 ePrentise, LLC Method for database consolidation and database separation
US7912264B2 (en) 2007-08-03 2011-03-22 Siemens Medical Solutions Usa, Inc. Multi-volume rendering of single mode data in medical diagnostic imaging
US9110967B2 (en) 2007-08-29 2015-08-18 International Business Machines Corporation Data lineage in data warehousing environments
US7860863B2 (en) 2007-09-05 2010-12-28 International Business Machines Corporation Optimization model for processing hierarchical data in stream systems
US8566296B2 (en) 2007-09-14 2013-10-22 Oracle International Corporation Support for compensation aware data types in relational database systems
EP2191362B1 (en) 2007-09-20 2015-08-19 Ab Initio Technology LLC Managing data flows in graph-based computations
US8572551B2 (en) * 2007-12-20 2013-10-29 International Business Machines Corporation Difference log production for model merging
US7937415B2 (en) 2007-12-28 2011-05-03 Business Objects, S.A. Apparatus and method for stripping business intelligence documents of references to unused data objects
EP2260404A4 (en) 2008-02-26 2016-03-30 Ab Initio Technology Llc GRAPHICAL PRESENTATIONS OF DATA RELATIONSHIPS
US20090234623A1 (en) 2008-03-12 2009-09-17 Schlumberger Technology Corporation Validating field data
JP4224126B1 (ja) 2008-06-09 2009-02-12 パナソニック株式会社 データベース管理サーバ装置、データベース管理システム、データベース管理方法およびデータベース管理プログラム
US20090319494A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Field mapping for data stream output
CA2729304C (en) * 2008-06-30 2016-12-13 Ab Initio Technology Llc Data logging in graph-based computations
US8082228B2 (en) 2008-10-31 2011-12-20 Netapp, Inc. Remote office duplication
EP2356581A4 (en) 2008-11-12 2012-05-02 Ab Initio Technology Llc MANAGEMENT AND AUTOMATIC CONNECTION OF DATA OBJECTS
JP5587905B2 (ja) 2008-12-02 2014-09-10 アビニシオ テクノロジー エルエルシー データメンテナンスシステム
CN105243422B (zh) 2009-01-30 2018-07-06 起元技术有限责任公司 使用矢量字段处理数据
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
US20100293365A1 (en) * 2009-05-14 2010-11-18 Sony Computer Entertainment America Inc. Method and apparatus for system and software quick launch
CA2672336A1 (en) * 2009-07-15 2011-01-15 Ibm Canada Limited - Ibm Canada Limitee Tool for analyzing and resolving errors in a process server
US8935702B2 (en) 2009-09-04 2015-01-13 International Business Machines Corporation Resource optimization for parallel data integration
KR101688555B1 (ko) * 2009-09-16 2016-12-21 아브 이니티오 테크놀로지 엘엘시 데이터세트 요소의 매핑
KR101755365B1 (ko) 2009-11-13 2017-07-10 아브 이니티오 테크놀로지 엘엘시 레코드 포맷 정보의 관리
US9805015B2 (en) 2009-12-16 2017-10-31 Teradata Us, Inc. System and method for enhanced user interactions with a grid
US8433733B2 (en) * 2010-01-13 2013-04-30 Vmware, Inc. Web application record-replay system and method
US8555265B2 (en) 2010-05-04 2013-10-08 Google Inc. Parallel processing of data
US8862563B2 (en) 2010-05-12 2014-10-14 Microsoft Corporation Getting dependency metadata using statement execution plans
US8583664B2 (en) 2010-05-26 2013-11-12 Microsoft Corporation Exposing metadata relationships through filter interplay
US8412744B2 (en) * 2010-06-23 2013-04-02 Microsoft Corporation Visualization of runtime analysis across dynamic boundaries
US8732143B2 (en) 2010-08-27 2014-05-20 Microsoft Corporation Reducing locking during database transactions
WO2012061109A1 (en) 2010-10-25 2012-05-10 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
US9171283B2 (en) 2011-01-11 2015-10-27 International Business Machines Corporation Capturing and visualizing data lineage in content management system
WO2012097278A1 (en) 2011-01-14 2012-07-19 Ab Initio Technology Llc Managing changes to collections of data
US8718978B2 (en) * 2011-02-28 2014-05-06 Apple Inc. Performance logging framework
US8321433B1 (en) * 2011-05-06 2012-11-27 Sap Ag Systems and methods for business process logging
US8935705B2 (en) * 2011-05-13 2015-01-13 Benefitfocus.Com, Inc. Execution of highly concurrent processing tasks based on the updated dependency data structure at run-time
US20120310904A1 (en) 2011-06-01 2012-12-06 International Business Machine Corporation Data validation and service
US8924930B2 (en) * 2011-06-28 2014-12-30 Microsoft Corporation Virtual machine image lineage
US8893091B2 (en) * 2011-06-30 2014-11-18 International Business Machines Corporation Running an executable during a debug session
CN102279087B (zh) * 2011-07-05 2014-03-26 苏州世力源科技有限公司 垂直冲击试验台安全连锁保护机构及方法
US9384193B2 (en) * 2011-07-15 2016-07-05 International Business Machines Corporation Use and enforcement of provenance and lineage constraints
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
US8874435B2 (en) * 2012-04-17 2014-10-28 International Business Machines Corporation Automated glossary creation
CN104471561B (zh) * 2012-05-14 2019-03-15 诺基亚技术有限公司 确定情境-认知相似度和确定情境-认知推荐的方法和装置
US8516008B1 (en) 2012-05-18 2013-08-20 Splunk Inc. Flexible schema column store
US8954923B2 (en) * 2012-05-22 2015-02-10 Salesforce.Com, Inc. Mechanism for facilitating dynamic interaction with development applications and tools an on-demand services enviroment
CN102693310B (zh) * 2012-05-28 2016-08-03 无锡成电科大科技发展有限公司 一种基于关系数据库的资源描述框架查询方法和系统
US9659042B2 (en) * 2012-06-12 2017-05-23 Accenture Global Services Limited Data lineage tracking
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US9075860B2 (en) 2012-10-18 2015-07-07 Oracle International Corporation Data lineage system
US9311221B2 (en) 2013-03-15 2016-04-12 Ab Initio Technology Llc Recording program execution
JP6264849B2 (ja) * 2013-11-12 2018-01-24 富士通株式会社 分析方法、分析装置、及び分析プログラム
CN103745319B (zh) * 2014-01-09 2017-01-04 北京大学 一种基于多状态科学工作流的数据世系追溯系统和方法
KR102279859B1 (ko) 2014-07-18 2021-07-20 아브 이니티오 테크놀로지 엘엘시 파라미터 세트의 관리
CN104574306A (zh) 2014-12-24 2015-04-29 掌赢信息科技(上海)有限公司 一种即时视频中的人脸美化方法和电子设备
US9658848B2 (en) * 2015-05-29 2017-05-23 Bank Of America Corporation Stored procedure development and deployment
US10078579B1 (en) * 2015-06-26 2018-09-18 Amazon Technologies, Inc. Metrics-based analysis for testing a service
CN105118019B (zh) 2015-09-11 2018-07-06 广东欧珀移动通信有限公司 一种图片处理方法及用户终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03116229A (ja) * 1989-06-14 1991-05-17 A T R Tsushin Syst Kenkyusho:Kk プログラム構造自動設計装置
US20100138388A1 (en) * 2008-12-02 2010-06-03 Ab Initio Software Llc Mapping instances of a dataset within a data management system
US20130018873A1 (en) * 2011-07-15 2013-01-17 International Business Machines Corporation Versioning of metadata, including presentation of provenance and lineage for versioned metadata

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022058555A (ja) * 2017-11-13 2022-04-12 アビニシオ テクノロジー エルエルシー 実行可能論理を用いて構造化データアイテムを処理するためのキーベースのロギング
JP7254975B2 (ja) 2017-11-13 2023-04-10 アビニシオ テクノロジー エルエルシー 実行可能論理を用いて構造化データアイテムを処理するためのキーベースのロギング

Also Published As

Publication number Publication date
KR20170031750A (ko) 2017-03-21
KR102292803B1 (ko) 2021-08-23
EP3191962B1 (en) 2019-12-11
CA2955378C (en) 2020-10-13
CA2955380A1 (en) 2016-01-21
SG11201700384WA (en) 2017-02-27
CA2955378A1 (en) 2016-01-21
SG11201700381XA (en) 2017-02-27
EP3191962A1 (en) 2017-07-19
JP6457622B2 (ja) 2019-01-23
EP3742284A1 (en) 2020-11-25
AU2019236625A1 (en) 2019-10-17
US20160019057A1 (en) 2016-01-21
AU2015289442A1 (en) 2017-03-02
EP3195114B1 (en) 2020-04-01
JP2017528797A (ja) 2017-09-28
CN106796513B (zh) 2020-12-11
US20160019286A1 (en) 2016-01-21
KR102279859B1 (ko) 2021-07-20
CN106796513A (zh) 2017-05-31
AU2015289441B2 (en) 2019-06-27
AU2019236625B2 (en) 2020-11-26
CA2955380C (en) 2021-03-16
CN106716352A (zh) 2017-05-24
US20190243639A1 (en) 2019-08-08
EP3195114A1 (en) 2017-07-26
EP3690637A1 (en) 2020-08-05
AU2015289441A1 (en) 2017-02-23
WO2016011442A1 (en) 2016-01-21
JP6636009B2 (ja) 2020-01-29
WO2016011441A1 (en) 2016-01-21
AU2015289442B2 (en) 2019-07-11
US10175974B2 (en) 2019-01-08
US11210086B2 (en) 2021-12-28
US10318283B2 (en) 2019-06-11
KR20170031749A (ko) 2017-03-21
CN106716352B (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
JP6457622B2 (ja) パラメータの集合の管理
JP2022037061A (ja) アプリケーション・テスト
US11347484B2 (en) Format-specific data processing operations

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170321

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190426

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190802

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20191002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191107

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: 20191118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191217

R150 Certificate of patent or registration of utility model

Ref document number: 6636009

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