JP7090778B2 - 影響分析 - Google Patents
影響分析 Download PDFInfo
- Publication number
- JP7090778B2 JP7090778B2 JP2021082301A JP2021082301A JP7090778B2 JP 7090778 B2 JP7090778 B2 JP 7090778B2 JP 2021082301 A JP2021082301 A JP 2021082301A JP 2021082301 A JP2021082301 A JP 2021082301A JP 7090778 B2 JP7090778 B2 JP 7090778B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- components
- graph
- information
- impact
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Description
この説明はシステム分析に関する。
一般的な態様1において、方法は、少なくとも2つの論理データセットについての情報を受信する動作を含み、論理データセット情報は、各論理データセットについて、その論理データセット内の少なくとも1つのフィールドの識別子と、そのフィールドについてのフォーマット情報とを識別する。本方法は、変換についての情報を受信する動作を含み、その情報は、変換がデータを受信する第1の論理データセットと、変換データが提供される第2の論理データセットとを識別する。本方法は、論理データセットのフィールドの少なくとも1つへの1つ又は複数の提案される変更を受信する動作を含む。本方法は、変換についての情報と、第1の論理データセット及び第2の論理データセットについての情報とに基づいて、1つ又は複数の提案される変更を分析する動作を含む。本方法は、分析に基づいて、提案される変更の1つ又は複数のメトリックを計算する動作を含む。本方法は、1つ又は複数のメトリックについての情報を記憶する動作を含む。
一般に、データ処理システムは、データをソースから読み出し、データに対して演算を実行して、新しいデータを生成し、新しいデータをデータストアに記憶することができる。データ処理システムの複雑性は、わずか複雑なものから極めて複雑なものにまで及ぶ。より複雑なシステムでは、データ処理システムに対して行われる変更は、特定が難しいことがある広範囲に及ぶ影響を有し得る。システムに変更を行うことの影響を特定するために、変更により直接影響を受けるシステムの部分と、変更により間接的に影響を受けるシステムの部分とを特定することが有用である。一般に、変更により直接影響を受けるシステムの部分は、個人がシステムを手動で調整する必要があり得る。例えば、プログラマは、アプリケーションの内容及び挙動を変更する必要があり得る。一般に、変更により間接的に影響を受けるシステムの部分では、プログラマが行った変更がアプリケーションの挙動に悪影響を及ぼさないことを保証するために、それらの部分をテストする必要があり得る。
等の注釈付きコードを生成することができる。
図8Aは、主要素の相互関係を示す本発明の一実施形態のブロック図である。グラフィック開発環境(GDE)802は、実行可能グラフを作成し、グラフコンポーネントのパラメータを定義するユーザインタフェースを提供する。GDEは、例えば、本発明の譲受人から入手可能なCO>OPERATING SYSTEM(登録商標)GDEであり得る。GDE802は、リポジトリ804及び並列オペレーティングシステム806と通信する。リポジトリ804及び並列オペレーティングシステム806には、ウェブインタフェース808及びエグゼクティブ810も結合される。
レコードフォーマットパラメータ等のポートに関連付けられたメタデータの値は、「伝搬」により得ることができる。メタデータ伝搬は、「外部」又は「内部」で行うことができる。外部メタデータ伝搬の場合、第1のコンポーネントのポートのレコードフォーマットパラメータの値は、フローにより第1のコンポーネントに接続された第2のコンポーネントのポートのレコードフォーマット値を伝搬させることにより、値を得ることができる。値は、フローのソースエンドからシンクエンドに下流に、又はフローのシンクエンドからソースエンドに上流に伝搬することが可能である。メタデータは、定義されたメタデータを有するポートから、定義されたメタデータを有さないポートに伝搬する。
ラインタイムパラメータにより、アプリケーション構築者は、パラメータ値の設定(例えば、ソート関数の主要パラメータ、ファイル名、レコードフォーマット、変換関数等)を実行時(例えば、プログラムが実行されるとき又はコンピュータシステムで間もなく実行されるとき)に延ばすことができる。ランタイムパラメータの値は、エンドユーザにより供給してもよく、又は他のランタイムパラメータの組合せ若しくはオブジェクトリポジトリに記憶されているオブジェクトから導出してもよい。
ランタイムパラメータは、開発者が、グラフ実行時(すなわち、実行時)に外部入力に基づいてグラフの挙動を変更するメカニズムを提供する。好ましい実施形態では、これらの外部値は、直接ユーザ入力により提供される。しかし、これらの外部値は、環境変数及びコマンドラインパラメータを含め、幾つかの異なるソースからのものであってもよい。GDE802は、これらの全ての状況を扱う補正コードを生成すると共に、グラフがGDEから直接実行されるとき、値をテストするように開発者に促す。ランタイムパラメータを使用して、開発者は、例えば、入力ファイルのパスが、特定の名称を有する環境変数により提供されること、次に、環境変数がグラフのインタフェースの既知の部分になることを明示的に宣言することができる。したがって、そのようなパラメータに明確に定義されたインタフェースがある。例えば、生成されたシェルスクリプトを読み出し、環境変数及びコマンドライン引数への参照について検索して、特定のグラフの実行を制御するパラメータセットを見つける必要がない。
名称1002 - このフィールドはランタイムパラメータの名称を含む。「Score_threshold」は、名称に示される例である。
型1004 - このフィールドは、ランタイムパラメータで許される値の型を含む。「整数」は型に示される例である。図示の実施形態においてサポートされる型は以下の通りである。
・ブール - 値は真又は偽のいいずれかであることができる、
・選択 - 値は値リストのうちの1つである、
・コレータ - 主要パラメータ値、
・データセット - 外部データファイル及びロケーション、
・日付 - 日付値、
・式 - 算術式、論理式、及び/又は条件式(例えば、select式)、
・フロート - 浮動小数点、
・整数 - 整数、
・レイアウト - 並列又は直列レイアウト定義、
・レコードフォーマット - レコード記述又はレコード記述を含むファイル、
・文字列 - 任意の文字列、
・変換 - 変換記述又は変換記述を含むファイル。
・埋め込み - パラメータはレコード記述又は変換記述を含む、
・ホスト - パラメータは、ホスト機上のファイルへの参照を含む、
・ローカル - パラメータはローカル機上のファイルへの参照を含む、
・リポジトリ - パラメータは、リポジトリ変換又はレコードフォーマットへの参照を含む。
・シングルライン編集 - 整数、フロート、日付、及び文字列型に関するものである、
・選択ダイアログ - ブール及び選択型に関するものである、
・キーエディタ - コレータ型に関するものである、
・ファイルブラウザ - データセット型及びロケーションが埋め込まれていないレコードフォーマット及び変換型に関するものである、
・変換エディタ - 埋め込みロケーションを有する変換型に関するものである、
・レコードフォーマットエディタ - 埋め込みロケーションを有するレコードフォーマット型に関するものである、
・式エディタ - 式型に関するものである、
・レイアウトエディタ - レイアウト型に関するものである。
・環境 - ランタイムパラメータの値は、同じ名称の環境変数で見つけられることが予期され、環境変数が定義されない場合、デフォルト値フィールド1008内の値が使用される。パラメータが必要とされ(すなわち、エクスポートパラメータ)、デフォルト値フィールド1008が空である場合、ランタイムエラーが生成され、グラフ実行は停止する、
・位置的 - ランタイムパラメータの値は、アプリケーションを呼び出しているコマンドライン上の相対位置にあることが予期され、例えば、ランタイムパラメータが定義される3番目の位置のランタイムパラメータである場合、そのパラメータ値は、実行スクリプト中の3番目の位置のコマンドライン引数として予期され、指定されるあらゆる位置的パラメータが提供されなければならず、欠けている場合、ランタイムエラーが生成される、
・キーワード - ランタイムパラメータの値はキーワードコマンドラインパラメータとして予期され、図示の実施形態では、キーワードパラメータは、
- <パラメータ名><パラメータ値>
の形態であり、キーワードパラメータは、任意選択的であり、キーワードパラメータが提供されず、デフォルト値フィールド1008が空白であり、対応するエクスポートパラメータが必要とされる場合のみ、ランタイムエラーが生成される、
・固定 - パラメータのランタイム値は常にデフォルト値であり、これは、2つ以上のランタイムパラメータ間で一定の値を共有するのに有用である、
・PL - ランタイムパラメータのデフォルト値は、グラフ実行時、他のパラメータからのランタイムパラメータの値を導出するか、又は追加の入力をユーザに促すものとして解釈されるPL式を含み、本発明の任意の特定の実施形態との併用に選択されるコンポーネント記述言語は、公開されているオブジェクト指向スクリプト言語「Python」等の任意の適するスクリプト言語であり得、そのようなスクリプトは、プログラム制御下でメタデータ(型及び変換)を構築し、条件付きテスト、比較、データ変換、算術演算及び論理演算、文字列及びリスト操作、並びに他の機能をユーザ入力、外部からプログラム的に供給される入力、及び他のランタイムパラメータに対して実行して、任意のランタイムパラメータの最終値を生成する。
ランタイムパラメータを有するグラフの作成及びテスト中、開発者をサポートするために、GDE802の好ましい実施形態は、ランタイムパラメータのテスト値もサポートする。開発者が、ランタイムパラメータを有するグラフを実行するか、又はグラフコンポーネントに影響している、土台をなすコードを見ることを望む場合、GDE802は、関連付けられたテストパラメータグリッドを表示し、そこで、ユーザは、1つ又は複数のランタイムパラメータの新しいテスト値を入力することができる。好ましくは、最後に使用されたテスト値セットは記憶され、グラフと共に保存される。
パラメータがランタイムパラメータとして指定された後、対応するオブジェクトがリポジトリ804に作成される。ランタイムパラメータが、値「PL」の種類フィールド914を有する場合、パラメータのデフォルト値フィールド1008は、以下の好ましい形態を有するprompt_for疑似関数を含む。
・in placeというキーワードは、要素がアプリケーションのサマリレベルユーザインタフェースに直接提示されるべきであることを宣言し、より低いレベルまで「掘る」ことなく値を供給できるようにする。in placeが指定されない場合、単純な「編集」ボタンがサマリレベルインタフェースに提示され、そのボタンが、パラメータ値を供給する別のページをユーザに表示する。
・blank okというキーワードは、ユーザが値を供給する必要がないことを宣言し、アプリケーションは、妥当な方法でデフォルト値に対処する。blank okが指定されない場合、ユーザは、何らかの値を供給せずにはアプリケーションを実行することができない。
text [size] - 従来のシングルラインテキストボックスsize文字幅を提示する(sizeが供給されない場合、テキストボックスのデフォルトをブラウザのデフォルトサイズに設定する)。
radio choice-list[description-list] - ラジオボタンの組の形態で従来の「1つを選択」プロンプトを提示し、cohice-listの各要素に1つのボタンがある。description-listが供給される場合、各選択は対応する説明でラベルされ、その他の場合、選択は、choice-listからの対応する項目の文字列形態でラベルされる。
radioplus choice-list[description-list] - ラジオのようであるが、テキストボックスの隣に追加のボタンを提示して、ユーザが、choice-listにない「書き込み」値を選べるようにする。
checkbox choice-list[description-list] - チェックボックスの組の形態で従来の「ゼロ以上を選択」プロンプトを提示し、choice-listの各要素に1つのボタンがある。description-listが供給される場合、各選択は対応する説明でラベルされ、その他の場合、選択は、choice-listからの文字列形態の対応する項目でラベルされる。
dropdown choice-list[descritpion-list, size] - choice-listの要素のドロップダウンリストの形態で従来の「1つを選択」プロンプトを提示する。descritpion-listが供給される場合、各選択は対応する説明でラベルされ、その他の場合、選択は、choice-listからの文字列形態の対応する項目でラベルされる。sizeが供給される場合、その多くの選択は一度に可視であり、その他の場合、1つのみが可視である。
multidropdown choice-list[descritpion-list, size] - choice-listの要素のドロップダウンリストの形態で従来の「ゼロ以上を選択」プロンプトを提示する。descritpion-listが供給される場合、各選択は対応する説明でラベルされ、その他の場合、選択は、choice-listからの文字列形態の対応する項目でラベルされる。sizeが供給される場合、その多くの選択は一度に可視であり、その他の場合、ブラウザのデフォルト数の項目が表示される。
key type-obj[size] - 所与のtype-objからのフィールドで構成されるキー(コレータとしても知られる)のプロンプトを提示する。キーは、size部分と同数を有することができ、このデフォルトはtype-obj内のフィールド数に設定される。図12は、キープロンプトにより生成されるグラフィカルダイアログ1200の一実施形態の図である。以下は、3入力キープロンプトのスクリプトテキストの例であり、ここで、ファイル/datasets/fixedは、ドロップダウンボックス1202に示される利用可能なキーの内容を定義する。
${prompt_for“key”, ${dataset_type“/datasets/fixed”},3}
filter tpye-obj - 所与のtype-objの各フィールドへの条件で構成されるフィルタ式のプロンプトを提示する。blank ok変更子はフィルタに影響を有さず、空白フィルタは「真」表現をもたらす。図13は、フィルタプロンプトにより生成されるグラフィカルダイアログ1300の一実施形態の図である。各式のテキスト編集ボックス1304に関連付けられた利用可能なフィールド名1302は、type-objにより定義される。比較値がテキスト編集ボックス1304に入力され、比較演算子(例えば、等しい、より大きい、以下)が、対応するドロップダウンリストコントロール1306から選択される。
flexifilter type-obj - フィルタプロンプトと同様であるが、各ライン上のフィールド名がドロップダウンリストから選択可能な、所与のtype-objの各フィールドへの条件で構成されるフィルタ式のプロンプトを提示する。これにより、複数の条件に対して同じフィールドを使用することが可能である(例えば、フィールドSTATE=MA又はフィールドSTATE=CA)。
rollup type-obj key[size] - 所与のキーによりロールアップ中の所与のtype-objのフィールドに基づいて、ロールアップ計算のプロンプトを提示する。ロールアップは、sizeルールと同数を有することができ、デフォルトはtype-obj内のフィールド数に設定される。変更子はロールアップに影響を有さず、空白ロールアップは、各グループの主要値のみを提供するパッケージをもたらす。図14は、ロールアッププロンプトにより生成されるグラフィカルダイアログ1400の一実施形態の図である。図示の実施形態では、ドロップダウンボックス1402の列は、利用可能なロールアップ計算関数(例えば、合算、最小、最大)を定義する。各計算に関連付けられる利用可能なフィールド名1404は、type-objにより定義される。各ロールアップルールには、ユーザが所望の式を定義するためのテキスト編集ボックス1406、ソース値が計算に酸化する基準を定義する(ブール式を通して)ための「但し」テキスト編集ボックス1408、及び計算結果を受信するフィールドを指定するための出力フィールドテキスト編集ボックス1410が関連付けられる。明確に導出することができる場合、出力フィールドの名称を指定する必要はない。
reformat type-obj[size] - 所与のtype-objのフィールドに基づいてリフォーマット計算のプロンプトを提示する。リフォーマットはsizeルールと同数を有することができ、デフォルトはtype-obj内のフィールド数に設定される。図15は、リフォーマットプロンプトにより生成されるグラフィカルダイアログ1500の一実施形態の図である。図示の実施形態では、リフォーマットプロンプトは、単に入力フィールドを同様の名称の出力フィールドにコピーするためのセクション1502を含む(チェックボックスコントロールを使用して個々に選択/選択解除されるか、又は全ての選択ボタン又は全て選択せずボタンを使用することによりまとめて)。このプロンプトの第2のセクションは、リフォーマット式を定義する(例えば、total=revenue_1-revenue_2)ことができるテキスト編集ボックス1504の列を含む。各ルールには、リフォーマットの結果を受信するフィールドを指定する出力フィールドテキスト編集ボックス1506が関連付けられる。
outputspec - 出力データセット仕様のプロンプトを提示する。表示されるコントロールは、利用可能なフォーマットオプションを提示するドロップダウンコントロールと、出力データセットの特定のインスタンスの名称を入力するテキスト編集ボックスとを含む。blank ok変更子は、出力データセット仕様に影響を有さない。
fpath starting-point - ファイルパスについてのプロンプトを提示する。プロンプトは基本的にテキストボックスであるが、ファイルパスを閲覧するためのポップアップウィンドウを表示させる「閲覧」ボタンを隣に有する。テキストボックスが非空白である場合、閲覧動作の開始点として使用され、空白の場合、starting-point引数が使用される。
rpath starting-point - リポジトリパスについてのプロンプトを提示する。プロンプトは基本的にテキストボックスであるが、閲覧用のポップアップウィンドウを表示させる「閲覧」ボタンを隣に有する。テキストボックスが非空白である場合、閲覧動作の開始点として使用され、空白の場合、starting-point引数が使用される。
radiofpath choice-list[description-list] - radioplusのようであるが、fpathスタイルボックスプラス閲覧ボタンを「書き込み」スロットに提示する。
radiorpath choice-list[description-list] - radioplusのようであるが、rpathスタイルボックスプラス閲覧ボタンを「書き込み」スロットに提示する。
幾つかの実装形態は、パラメータ値及び計算されるメタデータに基づいて、コンポーネントの構造及びグラフの流れに変更を行える条件付きコンポーネントメカニズムを含む。グラフの各コンポーネントは、そのコンポーネントが実行時にグラフに表示されるか否かをコントロールする条件を有する。条件は、直接又はランタイムパラメータを通して間接的に計算することができる。条件付きコンポーネントは、グラフの最適化又は専門化等の様々な目的で使用することができる。最適化の場合、アプリケーションは、特定のデータセットからの値が使用されない場合、それらの特定のデータセットの処理を省くことができ、それにより、グラフをより効率的に実行することができる。専門化の場合、アプリケーションは、所望の詳細レベルに基づいて幾つかの異なる出力データセットの生成を条件付け得るか、又はグラフの幾つかの任意選択的な部分の1つの実行を許可し得る。
完全に削除:この解釈を用いる場合、条件が満たされる場合、コンポーネント及びそれに接続されたフロー(すなわち、グラフリンク又はエッジ)は全てグラフから削除される。アクティブな完全に削除条件は機能的に、コンポーネント及びそれに直接接続された全てのフローをグラフから削除する。完全に削除条件は任意のコンポーネントで使用することができる。
・コンポーネントが、必須のポートを有し、それに接続されたライブフローがない場合、そのコンポーネント及びそれに接続された全てのフローがグラフから削除される。
・コンポーネントがグラフから完全に削除される場合、そのポートに接続された全てのフローがグラフから削除される。
・コンポーネントがフローで置換される場合、コンポーネントの指定された入力ポート及び指定された出力ポート以外の全てのポートに接続された全てのフローがグラフから削除される。
・必須のインデックス付きポートが、それに接続されたライブフローを有さない場合、同じインデックスを有する対応する任意選択的なインデックス付きポートのそれぞれにつき、その対応するポートに接続されたあらゆるフローがグラフから削除される。
・条件解釈がフローで置換であり、条件が満たされない場合(ステップ2000)、条件付きコンポーネントはグラフから削除されない(ステップ2002)。
・指定入力ポート及び指定出力ポートを有するコンポーネントは、その指定入力ポートに接続された厳密に1つのライブストレートフローがあり、その指定出力ポートに接続された厳密に1つのライブストレートフローがある場合のみ、フローで置換することができる(「ライブ」フローは、実行時に削除されなかったフローである)(ステップ2004)。そのような場合、コンポーネント自体はグラフから削除され、その指定入力ポートに接続されたストレートライブフロー及びその指定出力ポートに接続されたストレートライブフローは、一緒にリンクされる(ステップ2006)。削除されたコンポーネントの他のポート(すなわち、特定に指定された入力ポート及び出力ポート以外のあらゆるポート)に直接リンクされたあらゆる他のフローは、グラフから削除される。「汚染」された及び削除されたコンポーネントに接続されていたフローはいずれも、上述したように、削除される(ステップ2008)。
・フローで置換条件を有するコンポーネントが、必須入力のファミリ内の2つ以上の指定入力ポートに取り付けられる場合(ステップ2010)、そのコンポーネントは、グラフを有効にするために必要であるため、グラフから削除されない(ステップ2012)。
・所要入力へのライブファンインフローを有するコンポーネントは、特別な取り扱いを必要とする。「ライブファンインフロー」とは、コンポーネントが所要入力ポートに接続されたライブファンイン又はオールツーオールフローを有するか、又はコンポーネントが1つの所要入力ポートに接続された2つ以上のライブストレートフローを有することを意味する。そのようなコンポーネントの場合、フローで置換条件の解釈は、全てのライブ入力フローを収集する収集コンポーネントで条件付きコンポーネントを置換すべきである(ステップ2014)。次に、置換されたコンポーネントに接続されていたあらゆる「汚染」フロー及びコンポーネントは、上述したように削除される(ステップ2016)。
グラフのメタデータは、例えば、グラフ開発者、グラフユーザ、又はグラフの別の部分からの伝搬により供給することができる。ポートのレコードフォーマット(例えば、ポートに流入又は流出するレコードのフィールド及びデータ型のシーケンス)、ソート性(sortedness)、圧縮方法、文字セット、バイナリ表現(ビッグエンディアン、スモールエンディアン)、パーテーション、コンポーネントが使用し得る計算リソース(例えば、プロセッサ、一時的なディスク空間)、データ変換、及びコンポーネントが使用し得るメモリ量等のデータ又はデータでの計算に関連付けられたメタデータを含め、様々な種類のメタデータが伝搬可能である。グラフ構築の様々な態様がメタデータの伝搬に影響を及ぼし得る。これらの態様のうちの2つについて以下説明する。
幾つかの実装形態では、グラフコンポーネントの削除後にフローが生成される場合、そのようなフロー内のデータを定義するメタデータが、改訂されたグラフ内でどのように伝搬すべきかについて選択しなければならない。メタデータは、フローの一端部から利用可能であり得る。幾つかの実装形態では、フローの上流端部からのメタデータが好ましい。
上述したように、メタデータは、ポートに関連付けられたメタデータを、別のポートのメタデータを含め、1つ又は複数のパラメータの関数として指定できるようにすることにより、変換中の内部データパスを介してであっても伝搬することができる。例えば、図30Aは、データセット3002及びデータセット3004からのデータに対して結合演算を計算するグラフ3000を示す。この例では、グラフ開発者は、メタデータをデータセットの出力ポートに供給する。次に、メタデータは、入力データセットのレコードに対して結合演算を計算する「スマート結合」コンポーネント3006に伝搬する。例えば、メタデータは、出力ポート3008から入力ポート3010に伝搬する。次に、メタデータは、「スマート結合」コンポーネント3006により変換され、「スマート結合」コンポーネント3006の出力ポート3016からフィルタコンポーネント3018の入力ポート3017に伝搬する。
output.metadata=metadata_join(key_field,input0.metadata,input1.metadata)
図31は、例示的なメタデータ伝搬プロセス3100のフローチャートを示す。プロセス3100は、例えば、グラフが変更される都度、ユーザ活動に応答して、及び/又はグラフが実行される直前に実行することができる。プロセス3100は、フローにより決定される部分順序に従って並べられるグラフ内の各コンポーネントを有する作業リスト(例えば、コンポーネントAからコンポーネントBへのフローがある場合、コンポーネントAはコンポーネントBの前に来る)を生成する(3102)。フローが2つのコンポーネント間に一意の順序を決定しない場合、コンポーネントラベルのアルファベット順を同点決着として使用し得る。これは、作業リスト内のコンポーネントに安定した順序を提供する(コンポーネントラベルが一意であると仮定して)。伝搬プロセス3100が、グラフに対して繰り返される(例えば、新しいコンポーネントの追加後)場合、新しい作業リストは、作業リストでの前のコンポーネント間の順序と同じ順序を保持する。
サブグラフが、別のグラフでのコンポーネントとして使用されるように「コンポーネント化」される前に、コンポーネントの入力ポート及び/又は出力ポート等のコンポーネントの様々な特徴が定義される。ランタイムパラメータを有するコンポーネントを含むサブブラフでは、ランタイムパラメータのプロンプト順を選択すべきである。グラフ中のコンポーネントは必ずしも、順次である必要はないため、ユーザを促すランタイムパラメータの複数の可能な大域的順序が存在することができる。大域的順序の幾つかは、各コンポーネントに関連付けられた元の順序ほど一貫しない。依存性を考慮に入れることが適切な場合には並べ替えながら、各コンポーネント内のパラメータの順序を可能な限り保存した、プロンプトの全域的順序を生成することが有用である。例えば、コンポーネントは、「処理されたデータをどこに記憶したいか?」と尋ねるプロンプトの前に、「いずれのデータを処理したいか?」と尋ねるプロンプトを並べ得る。いずれの順序でもプロンプトを提供することが可能であり得る場合であっても、プロンプトをこの順序で提供することが望ましいことがある。
第1の例では、パラメータソートプロセスは、2つのグラフコンポーネント:コンポーネントI及びコンポーネントIに接続されたコンポーネントIIのパラメータの初期パラメータリストを提供する。この例では、パラメータは、「コンポーネント内」依存性のみを有する。すなわち、コンポーネントのパラメータは、同じコンポーネント内の他のパラメータのみに依存する。パラメータは、以下のように定義される。
両方とも各パラメータに割り当てられた序数により決定される初期順序を尊重する、2つの例示的な「トポロジ変更ソート」プロセスの擬似コードを以下に与える。2番目のプロセスは、幾つかの場合、時間効率を改善するような最適化を含む。プロセスは、パラメータについて入力データから生成されるデータ構造を操作する。
parm_list[index]:番号インデックスが付与された非消失パラメータ名の順序付きリスト(ここで、インデックス=0はリスト中の最初の項目に対応する)。このデータ構造は「動的」である(すなわち、プロセスの実行中に変化する)。リストは、項目がリストの中央から削除される場合、削除された項目後の項目のインデックスはそれに従ってシフトするように、位置によりインデックス付与される。
n_dependencies_dict[name]:パラメータ名(name)をキーとしたディクショナリであり、エントリは、キーとなるパラメータが依存するパラメータ数を含む。このディクショナリは動的である。
dependers_dict[name]:パラメータ名(name)をキーとしたディクショナリであり、エントリは、キーとなるパラメータに依存するパラメータセットを表すディクショナリ(これもパラメータ名をキーとする)である。このディクショナリは「静的]である(すなわち、プロセスの実行中に変化しない)。
order_doct[name]:パラメータ名(name)をキーとしたディクショナリであり、初期順序でのパラメータの順序位置である0~N-1の範囲の整数を記憶する。このディクショナリは静的である。
attribute_dict[name]:パラメータ名(name)をキーとしたディクショナリであり、キーとなるパラメータの任意選択的な属性データオブジェクトを記憶する。このディクショナリは静的である。
result_list[index]:番号インデックスが付与されたプロセスの出力を表すパラメータ名及び属性の順序付きリストである(ここで、インデックス=0はリスト中の最初の項目に対応する)。このデータ構造は最初空である。このデータ構造は動的である。
別の例では、パラメータソートプロセス(例えば、第1又は第2の「トポロジ変更ソート」プロセス)は、図32Aに示されるように、グラフコンポーネント3202、3204、及び3206を有するグラフ3200のランタイムパラメータの初期リストを決定する。グラフ3200は、入力データセット3210の出力ポート3208及び出力データセット3214の入力ポート3212に関連付けられたランタイムパラメータも有する。この例では、パラメータは、「コンポーネント内」依存性及び「コンポーネント間」依存性の両方を有する。すなわち、コンポーネントのパラメータは、同じコンポーネント内のパラメータに依存すると共に、他のコンポーネント内のパラメータに依存する。この例では、コンポーネント間依存性は、幾つかのパラメータが依存するメタデータの伝搬を可能にするコンポーネント間のフローに起因して生じる。
通常、ユーザは、ウェブインタフェース808の前に座り、リポジトリ104において、実行しようとするアプリケーションのグラフを見つける。アプリケーショングラフに関連付けられた全てのオブジェクトをスキャンすることにより、ウェブインタフェース808は、ユーザがアプリケーションのランタイムパラメータの値を指定することができるウェブページフォームを生成する。全てのランタイムパラメータが指定されると、アプリケーションとパラメータ設定との組合せはジョブとして一緒にされ、エグゼクティブ810による実行にスケジュールされる。ジョブを実行するとき、エグゼクティブ810は、既知の方式での並列オペレーティングシステム806の下における実行のためにアプリケーションをキューに入れる。並列オペレーティングシステム806は、追跡情報及びジョブステータスを収集し、この情報をリポジトリ804に記憶し、それにより、ユーザ及び管理者は、ジョブの進行及び実行を追跡することができる。
図21は、ランタイムパラメータがないロールアップアプリケーションを表すグラフ2100の図である。このグラフは、各種のアカウント数を計算し、結果を出力ファイルに書き込む。このアプリケーションのあらゆる態様は、グラフを作成した開発者によって決定されている:入力ファイルコンポーネント2102の名称、入力データのフォーマット、ハッシュロールアップコンポーネント2104でのデータのロールアップに使用されるキー及び変換ルール、出力フォーマット、並びに出力ファイルコンポーネント2106の名称。ユーザは、厳密に定義されたようにこのグラフを実行することのみ可能である。
GDE802は、パラメータ化グラフの構築に役立つが、フォームベースのインタフェースを提供しようとする非グラフプログラムがあることがある。アプリケーションレベルPL及びリポジトリ804を使用して、任意のシェルスクリプトをパラメータ化することができる。例えば、アプリケーションの説明は、以下と同様の構造を有するファイルに書き込むことができる。
本発明は、ハードウェア、ソフトウェア、又はそれら両方の組合せ(例えば、プログラマブル論理アレイ)で実施し得る。別段のことが指定される場合を除き、本発明の一環として含まれるアルゴリズムは本質的に、いかなる特定のコンピュータ又は他の装置にも関連しない。特に、様々な汎用マシンが、本明細書の教示に従って記述されたプログラムと併用してもよく、又は必要とされる方法ステップを実行するようにより専用化された装置を構築することがより好都合であることもある。しかし、好ましくは、本発明は、少なくとも1つのプロセッサ、少なくとも1つのデータ記憶システム(揮発性及び不揮発性メモリ及び/又は記憶要素を含む)、少なくとも1つの入力デバイス又はポート、及び少なくとも1つの出力デバイス又はポートをそれぞれ含む1つ又は複数のプログラマブルコンピュータシステムで実行される1つ又は複数のコンピュータプログラムで実施される。プログラムコードは、プロセッサで実行されて、本明細書に記載の機能を実行する。
計算基板の概説
本発明により、グラフとして表現される計算を実行するグラフ実行システム及びグラフ実行方法は、多くの場合、以下の一般に利用可能な設備を有する計算環境又は計算基板で使用される:通信チャネル、データストア、プロセス制御及びデータアクセス方法。そのために、グラフ実行システム及びグラフ実行方法について、そのような基準基板を参照して説明するが、システム及び方法はそのような基板に限定されない。
本発明のシステムは、これよりそれぞれ説明するプロセス頂点の組、ファイル頂点の組、及びデータリンクの組の状態変数における計算の状態を追跡する。これらの構造を使用したシステムの動作について後に説明する。
(1)更新ファイル3412がソートされる(ステップ3414)。
(2)更新がチェックされ(ステップ3416)、不良レコードは不良レコードファイル3418に入れられる。
(3)ステップ3416からの更新及び旧マスタファイル3410が処理され(ステップ3420)、新しいマスタファイル3422及び給与3424の組を生成する。
プロセス頂点は以下の情報を含む:
・プロセス頂点識別子、
・プログラムテンプレート、
・作業ディレクトリ(すなわち、スクラッチファイルを作成し得るディレクトリ)を識別する作業ディレクトリ識別子、及び
・作業ノード(すなわち、処理が行われるノード)を識別する作業ノード識別子、
・以下の値の1つを有する状態変数:ディセーブル、イネーブル、実行可能、非実行可能、又は完了(最初はディセーブル)。
・頂点がアダプタ頂点(後述)である場合を示すフラグ。
ファイル頂点は、ファイルに関連し、以下の情報を含む:
・ファイル頂点識別子、
・データノード識別子、
・データファイル識別子、
・ファイルにアクセスしようとするプログラムが使用し得る作業ノード(これは通常、データノードと同一である)を識別する作業ノード識別子、
・ファイルにアクセスしようとするプログラムがどこでスクラッチファイル(これは通常、データファイルと同じファイルシステム内にある)を作成し得るかを識別する作業ディレクトリ識別子、及び
・以下の値の1つを有する状態変数:完成、未完成(最初は未完成)。
データリンク(又は単に略して「リンク」)は以下の情報を含む:
・ソース頂点 - ファイル頂点又はプロセス頂点のいずれか、
・ソースポート識別子 - ソースがファイル頂点の場合、出力のみが許される、
・宛先頂点 - ファイル頂点又はプロセス頂点のいずれか、
・宛先ポート識別子 - 宛先がファイル頂点である場合、入力のみが許される、
・非バインドであり得るか、又はファイル、名前付きパイプ、TCP/IP、又は共有メモリ等の通信チャネルタイプの名前であり得る通信方法識別子(最初は非バインド)、及び
・非起動又は起動のいずれかであり得る状態変数(最初は非起動)。
プロセス頂点はプログラムテンプレートを含む。プログラムテンプレートは、プログラムについての2つの基本的な種類の情報を含む:(1)プログラムの名称、コマンドライン引数、及び環境変数等のプログラムを呼び出すために必要な情報、並びに(2)プログラムがデータにアクセスする手段を記述するポート記述子のアレイ。呼び出し情報の厳密な形態は計算基板に依存する。説明したUNIXベースの基板の場合、プログラム名は、実行可能ファイルの名称に、スペースで区切られた一連の文字列からなるコマンドライン引数を加えたものである。これらの文字列の幾つかは、「$portname」の形態であり得、ここで、「portname」は、テンプレート内のポートの1つの名称であり、そのポートは、ファイルインタフェース又はストリームインタフェースデータアクセス方法を使用しなければならない。この場合、文字列「$portname」は、呼び出し時、そのポートに接続されたファイルの名称又は名前付きパイプで置換される。
・ポートのポート識別子、
・ポートが入力に使用されるか、それとも出力に使用されるかについての指示、及び
・いずれの通信方法がポートで許容可能であるかを示す、ReqsFile、ReqsNmaedPipe、ReqsFD、又はReqsSOC(「Reqs」は「要求(Requires)」を表す)等の許容可能な方法のコード。
図35を参照すると、ドライバプログラム3500(又は単に略して「ドライバ」)は、ユーザインタフェース3504を通してユーザ3502から受信される入力に基づいて、グラフを示す手段を提供する。特定のグラフを表す1つ又は複数のグラフデータ構造3506(例えば、図34Bに示される等)は、ドライバ3500により生成される。次に、ドライバ3500のグラフ実行制御機能3508は、ドライバ3500に以下の外部制御3510機能を任意の順序で、外部プロセス3512と対話するために必要な頻度実行できるようにする:
・プロセス頂点の作成、
・ファイル頂点の作成、
・任意の対の頂点(又はいずれかの種類)間のデータリンクの作成、
・ディセーブルからイネーブルへのプロセスの現在状態の変更、及び
・グラフを実行させること。
図36を参照すると、初期グラフが生成された後、ドライバ3500は、グラフの実行と、したがってグラフにより示されるプロセスの実行とを制御する。ドライバ3500は、グラフを実行する場合、以下の一般フェーズA~Iを実行することによりそれを行う。
A.プロセス頂点のいずれか1つがイネーブル状態である限り、ドライバ3500は以下のステップB~Iを繰り返す。ドライバ3500はフェーズC、D、及びIを省略することがあり、ステップB、C、E、及びHで実行される動作を混ぜ得る。
B.ドライバ3500は、実行に向けてグラフを準備する。このフェーズでは、ドライバ3500は、説明するように、実行可能なプロセス頂点を識別し、リンクの通信方法を選び、アダプタノードを生成し得る。
C.ドライバ3500は、より詳細に後述するように、データリンクを起動する。このフェーズでは、ドライバ3500は、説明するように、通信方法の実施に必要な特定の計算構造を作成する。
D.ドライバ3500は、計算基板により必要とされる任意の他のデータ構造又はファイルを作成する。上述した拡張基板の場合、ドライバ3500は、説明するように、リンクファイルを作成する。これにより、プログラムは、実行時にグラフ接続情報にアクセスすることができる。
E.ドライバ3500は、説明するように、プロセスを起動する。
F.ドライバ3500は、プロセスの終了を待つ。このフェーズは、全てのプロセスが正常終了するときに、又は任意のプロセスが異常終了するときに完了する。
G.任意のプロセスが異常終了する場合、グラフの実行は中止される。
H.その他の場合、実行可能状態にある全てのプロセス頂点は完了状態に遷移する。いずれのプロセス頂点も実行可能状態になかった場合、クリーンアップフェーズIが実行され、制御は、実行が停止された指示と共に呼び出し側(例えば、ドライバ3500のユーザ3502)に戻る。
I.ドライバ3500は、説明するように、データリンク及びリンクファイルをクリーンアップする。このクリーンアップは、フェーズC及びDにおいて作成されたデータ構造の幾つかをクリーンアップする。
図37Aを参照すると、ドライバ3500は、ユーザ202により最初に示されたグラフにアクセスし、グラフ変換を適用することにより実行に向けてグラフを準備する(ステップ3700)。これらの変換を実行するに当たり、初期グラフを定義するグラフデータ構造は、既知のようにトラバースされて、各頂点及び関連付けられたあらゆるリンクをフェッチする。好ましい実施形態では、実行に向けてグラフを準備するために、5つのグラフ変換が、フェッチされたデータ構造に対して使用される。
(1)ソースが、ファイル頂点又は完了状態ではないプロセス頂点のいずれかである場合、及び
(2)宛先が、不完全状態のファイル頂点又は完了状態ではないプロセス頂点のいずれかである場合
のみ実行し得る。
(1)ソースが、完了以外の状態のプロセス頂点又はファイル頂点のいずれかである場合、及び
(2)宛先が、完了以外の状態のプロセス頂点又は不完全状態のファイル頂点のいずれかである場合
のみ実行し得る。
(1)全てのプロセス頂点は、以下の状態の1つである:完了、実行可能、非実行可能、又はディセーブル。
(2)全てのデータリンクは以下の基準の全てを満たす。
1)データリンクのソース又は宛先のいずれかが実行可能プロセス頂点である場合、データリンクの通信方法は、特定の通信方法にバインドされなければならない。
2)データリンクの通信方法が、ファイル以外の何かである場合、そのソース及び宛先は両方とも、プロセス頂点でなければならず、1つのプロセス頂点が実行可能である場合、両プロセス頂点は実行可能でなければならない。
3)データリンクの通信方法がファイルである場合、そのソース及び宛先はファイル頂点でなければならない。宛先が実行可能プロセス頂点である場合、ソースは完全ファイル頂点でなければならない。ソースが実行可能ファイル頂点である場合、宛先は不完全ファイル頂点でなければならない。
(3)通信方法にバインドされた全てのリンクは、通信方法に固有の制約を満たす。
1)通信方法は、そのソースポート及び宛先ポートのアクセス方法と互換性を有さなければならない(これは、プログラムテンプレートを調べることにより判断し得る)。説明した拡張基板の場合、全ての通信方法はSOCアクセスと互換性を有し、共有メモリ以外の全てはファイル記述子アクセスと互換性を有し、名前付きパイプ及びファイルは、名前付きパイプアクセスと互換性を有し、ファイルのみがファイルアクセスと互換性を有する。
2)幾つかの通信方法では、ソース頂点及び宛先頂点のノードが同一である必要がある。説明した拡張基板の場合、これは、TCP/IP以外の全ての通信方法で該当する。
・ソースがファイル頂点である場合、ソース通信アダプタを挿入する。次に、ソース通信アダプタ内の2つのリンクは、ファイル及びTCP/IP通信方法を使用する。
・ソースが、SOC通信方法を許容していないポートである場合、ソース通信アダプタを挿入する。次に、ソース通信アダプタ内の2つのリンクはTCP/IP及びファイル通信方法を使用する。
・宛先がファイル頂点である場合、宛先通信アダプタを挿入する。次に、アダプタ内の2つのリンクはTCP/IP及びファイル通信方法を使用する。
・宛先が、SOC通信方法を許容しないポートである場合、宛先通信アダプタを挿入する。次に、アダプタ内の2つのリンクは、TCP/IP及び名前付きパイプ通信方法を使用する。
図39を参照すると、データリンクは、非起動状態で作成され、起動されなければならない。リンクを起動するために、リンクをスキャンして(ステップ3900)、非起動であり(ステップ3902)、通信方法にバインドされ(ステップ3904)、実行可能なソース又は宛先を有する(ステップ3906)リンクを見つける。そのような全てのリンクで、様々な通信方法により使用し得る識別子が生成される(ステップ3908)。上述した拡張基板では、識別子は以下のように作成される。全てのリンクは2つの識別子を有する:ストリームオブジェクト識別子及び通信チャネル/ファイル識別子。ストリームオブジェクト識別子は、SOCメカニズムにより使用され、リンクの名称と同一である。チャネル/ファイル識別子は、リンクにより利用されるファイル、名前付きパイプ、共有メモリ領域、又はTCP/IP接続の識別に使用される。更に、プロセス頂点が名前付きパイプ又はファイル通信方法を必要とする場合、チャネル/ファイル識別子は利用可能になり、それにより、プロセス頂点は、起動されると(以下参照)、UNIXファイルシステムを使用してチャネル/ファイルに取り付けることが可能になる。
拡張基板は、各ノードで、そのノードのソース又は宛先のいずれかを有するリンクを列挙する「リンクファイル」を保持する。プログラムは、実行時にこのリンクファイルを調べて、いずれのリンクにアクセスしなければならないかを特定し得る。これは一般に、SOCインタフェースを使用するプログラムに対して行われる。したがって、拡張基板の場合、システムはリンクファイルを作成しなければならない。これは以下のように行われる:計算に関わるあらゆるノードについて、ドライバ3500は、そのノードに割り当てられた実行可能なプロセス頂点を識別し、そのような頂点に取り付けられたあらゆるリンクについて、リンクファイルに以下の情報を記憶する:
・頂点の識別子、
・リンクが取り付けられるポートの名称、
・通信チャネルの識別子、及び
・該当する場合、データの転送に使用されるファイル又は名前付きパイプの識別子。
図40を参照すると、プロセスは、以下のステップを実行可能状態の全てのプロセス頂点に対して実行することにより起動される(ステップ4000)。まず、頂点のプログラムテンプレートを使用して、呼び出し情報を生成する(ステップ4002)。この情報は、
・呼び出すプログラムの名称、
・コマンドライン引数(コマンドライン引数は、通信チャネルの識別子及び頂点に取り付けられたリンクに関連付けられたファイルを含み得る)、
・任意選択的に、様々な環境変数の値、及び
・任意選択的に、プログラムの予期される「終了コード」
を含む。
全てのプロセスが起動すると、システムは、好ましくはプログラムの起動に使用されたエージェントと同じエージェントを使用して、プロセスの実行を監視する。周期的に、システム(エージェント)は、プロセスが終了したことに気付く。これが生じると、システム(エージェント)は、プロセスが「正常」に終了したか、それとも「異常」終了したかを判断する。UNIXの場合、これは終了コードを介して行われる。終了コードは、プログラムが、プログラムエラー、算術例外、無効メモリアクセス等に起因して中止したことを示し得る。そのような事例は常に「異常終了」として解釈される。代替的には、プログラムは、被制御方式で終了し、「イグジットコード」を返し得る(イグジットコードは、終了コードのサブセットを含む)。規約により、イグジットコード0はプログラムが正常終了したことを示し、他の全てのコードは異常終了を示す。上述したように、プログラムテンプレートは、この解釈を変更し得、例えば、全てのイグジットコードが「正常」終了として解釈されるべきであることを宣言し得る。
全ての実行可能プロセスの実行が終わった後、ドライバ3500は以下のステップを実行する。第1に、各ノードのリンクファイルは削除される。第2に、起動状態の全てのリンクはスキャンされる。リンクに取り付けられた全てのプロセス頂点が完了状態である場合、基板を使用して、リンクに関連付けられたあらゆる通信チャネルを破壊する。拡張基板の場合、これは、リンクのストリームオブジェクト識別子を取得し、示されたストリームオブジェクトを破壊するように基板に命令することにより行われる。通信方法が名前付きパイプである場合、これはまた、名前付きパイプも削除させる。更に、ファイルアダプタ頂点が完全であり、下流の全てのプロセスが完了である場合、そのファイルは削除される。
アダプタがリンクの場所に挿入される幾つかの状況について言及した。アダプタは、データリンク、又はファイル、又はプロセス頂点(アダプタ頂点)、及び一連の通信方法を使用して通信リンクを統合するために挿入される別のデータリンクである。アダプタ頂点がプロセスであるアダプタは、「通信アダプタ」と呼ばれる。アダプタ頂点がファイルであるアダプタは、「ファイルアダプタ」と呼ばれる。一般に、通信アダプタは、通信方法の組合せ(例えば、名前付きパイプ及びTCP/IP接続)が、リンクのソース及び宛先により課される制約を満たすために必要な場合、追加される。ファイルアダプタは、リンクのソース及び宛先が同時に実行されない(例えば、ソースは実行可能であるが、宛先は非実行可能又はディセーブルである)場合、又はリンクのソース又は宛先がファイルにのみ取り付け可能である場合、追加される。通信アダプタの場合、アダプタ頂点は、その入力をその出力にコピーし、任意の種類の通信チャネルに取り付け得るプログラムを指定する。アダプタリンクは続けて、ステップ3883~3885「通信方法を選ぶ」において記載される制約を受けて、任意の通信方法にバインドし得る。アダプタ頂点は単に、データをその入力からその出力にコピーする。アダプタリンクは、ソース及び宛先制約を受けて、任意の好都合な通信方法を有し得る。
・プログラムテンプレートは、コピープログラム、すなわち、全ての入力データをその出力にコピーするプログラムを指定する。
・プログラムテンプレートは、任意の通信方法に取り付け可能な入力ポート記述子及び出力ポート記述子を指定する。
・新しい頂点がアダプタ頂点としてフラグ付けられる。
・元のソース頂点の作業ディレクトリ及び作業ノードは、アダプタ頂点の作業ディレクトリ及びノードとして使用される。
・ファイルは、ソースプログラムにより使用されるノードに配置される。
・ファイルは、ソースプログラムの作業ディレクトリに配置される。ファイルは「アダプタ」としてマークされ、それにより、宛先プロセスにより消費された場合、削除し得る。
・アダプタリンクのソース頂点は、元のリンクのソース頂点と同じであり、アダプタリンクのソースポート名は、元のリンクのソースポート名と同じである。
・アダプタリンクの宛先頂点はアダプタ頂点であり、アダプタリンクの宛先ポート名は入力である。
・アダプタリンクの通信方法は、ソースアダプタを挿入する手順により指定される値に設定される(これは多くの場合、非バインドである)。
これより、図34に記載される給与プログラムに適用される本発明を考慮する。まず、アプリケーションの作成前に、ユーザは、必要とされる全てのプログラムのテンプレート、特にソートプログラム、データチェッカープログラム、及び給与プログラムのテンプレートをシステムに提供している。次に、ユーザは、上述したように、アプリケーションをグラフとして表現する。その結果生成されるグラフを図43に示し、示されるように、ノード0、1、及び2で実行中の頂点4300~4370を有する(様々なリンクが取り付けられるポートの名称は省略されるが、図34Bとの比較から明らかであるはずである)。
本発明は、ハードウェア、ソフトウェア、又は両方の組合せで実施し得る。しかし、好ましくは、本発明は、プロセッサ、データ記憶システム(揮発性及び不揮発性メモリ及び/又は記憶要素を含む)、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスをそれぞれ含むプログラマブルコンピュータで実行されるコンピュータプログラムで実施される。プログラムコードは、入力データに適用されて、本明細書に記載の機能を実行し、出力情報を生成する。出力情報は、既知の方式で1つ又は複数の出力デバイスに適用される。
Claims (27)
- システムへの影響を特定するためのコンピュータ実施方法であって、
前記システムに記憶される、複数のコンポーネントのためのデータ系譜の情報を受信することであって、前記複数のコンポーネントは少なくとも2つの論理データセット及び変換を表すものであり、前記データ系譜の情報によって前記変換がデータを受信する第1の論理データセット及び変換されたデータを提供する第2の論理データセットを識別し、前記データ系譜の情報のコンポーネントにより表される前記変換は、前記第1の論理データセットからのデータに適用される1つ又は複数のルールについての情報を含み、かつ、前記データ系譜の情報によって前記複数のコンポーネントを通るデータのパスとフロートレースを識別する、受信することと、
前記第1の論理データセットのフィールド、前記第2の論理データセットのフィールド又は前記変換への1つ又は複数の提案される変更を指定する情報を受信することと、
前記データ系譜の情報に従って前記複数のコンポーネントを分析することと、
前記分析に基づいて、前記1つ又は複数の提案される変更によって影響を受ける各コンポーネントを識別することと、
前記複数のコンポーネントの一つ又は複数への前記1つ又は複数の提案される変更を実装することにより、前記システムの前記複数のコンポーネントへの少なくとも直接影響又は間接影響を表す影響メトリックを生成することと、かつ、
前記影響メトリックを記憶すること、
を含む、コンピュータ実施方法。 - 前記影響メトリックは、前記複数のコンポーネントの1つ又は複数への前記1つ又は複数の提案される変更を実装することによる直接影響の尺度を提供する、請求項1の方法。
- 前記影響メトリックは、前記複数のコンポーネントの1つ又は複数への前記1つ又は複数の提案される変更を実装することによる間接影響の尺度を提供する、請求項1の方法。
- 前記データ系譜の情報のコンポーネントにより表される前記変換は、前記第1の論理データセットからのデータに適用される1つ又は複数のルールを含む、請求項1の方法。
- 1つ又は複数の影響メトリックに基づいてコストを提案される変更に関連付けることを更に含む、請求項1の方法。
- 前記影響メトリックについての情報を提供するリポートを生成することを更に含む、請求項1の方法。
- 前記影響メトリックを含む注釈付きコードを生成することと、
前記注釈付きコードを実行可能プログラムにコンパイルすることと、
前記複数のコンポーネントの1つ又は複数への前記1つ又は複数の提案される変更の前記影響を、前記実行可能プログラムの実行に少なくとも部分的に基づいて決定することとを更に含む、請求項1の方法。 - データストレージから、前記1つ又は複数の提案される変更によって影響を受ける、前記データ系譜の情報の前記複数のコンポーネントの1つ又は複数の注釈付きコードの記憶された項目を選択することと、
前記記憶された項目の1つ又は複数の前記注釈付きコードを変換にコンパイルすることと、
対応する影響メトリックのリスク出力を決定するために前記変換を処理することとを更に含む、請求項1の方法。 - 1つ又は複数のコンピュータ及び命令を記憶する1つ又は複数の記憶デバイスを含むシステムであって、前記命令は、前記1つ又は複数のコンピュータにより実行されると、前記1つ又は複数のコンピュータに、
前記システムに記憶される、複数のコンポーネントのためのデータ系譜の情報を受信することであって、前記複数のコンポーネントは少なくとも2つの論理データセット及び変換を表すものであり、前記データ系譜の情報によって前記変換がデータを受信する第1の論理データセット及び変換されたデータを提供する第2の論理データセットを識別し、前記データ系譜の情報のコンポーネントにより表される前記変換は、前記第1の論理データセットからのデータに適用される1つ又は複数のルールについての情報を含み、かつ、前記データ系譜の情報によって前記複数のコンポーネントを通るデータのパスとフロートレースを識別する、受信することと、
前記第1の論理データセットのフィールド、前記第2の論理データセットのフィールド又は前記変換への1つ又は複数の提案される変更を指定する情報を受信することと、
前記データ系譜の情報に従って前記複数のコンポーネントを分析することと、
前記分析に基づいて、前記1つ又は複数の提案される変更によって影響を受ける各コンポーネントを識別することと、
前記複数のコンポーネントの一つ又は複数への前記1つ又は複数の提案される変更を実装することにより、前記システムの前記複数のコンポーネントへの少なくとも直接影響又は間接影響を表す影響メトリックを生成することと、かつ、
前記影響メトリックを記憶すること、
を含む動作を実行させるように動作可能である、システム。 - 前記影響メトリックは、前記複数のコンポーネントの1つ又は複数への前記1つ又は複数の提案される変更を実装することによる直接影響の尺度を提供する、請求項9のシステム。
- 前記影響メトリックは、前記複数のコンポーネントの1つ又は複数への前記1つ又は複数の提案される変更を実装することによる間接影響の尺度を提供する、請求項9のシステム。
- 前記提案される変更は、データセット内のフィールドのフォーマットの変更又は変換の変更からなる群の1つである、請求項9のシステム。
- 前記動作は、1つ又は複数の影響メトリックに基づいてコストを提案される変更に関連付けることを更に含む、請求項9のシステム。
- 前記データ系譜の情報のコンポーネントにより表される前記変換は、前記第1の論理データセットからのデータに適用される1つ又は複数のルールを含む、請求項9のシステム。
- 前記動作は、前記影響メトリックについての情報を提供するリポートを生成することを更に含む、請求項9のシステム。
- 前記動作は、
前記影響メトリックを含む注釈付きコードを生成することと、
前記注釈付きコードを実行可能プログラムにコンパイルすることと、
前記複数のコンポーネントの1つ又は複数への前記1つ又は複数の提案される変更の前記影響を、前記実行可能プログラムの実行に少なくとも部分的に基づいて決定することとを更に含む、請求項9のシステム。 - 前記動作は、
データストレージから、前記1つ又は複数の提案される変更によって影響を受ける、前記データ系譜の情報の前記複数のコンポーネントの1つ又は複数の注釈付きコードの記憶された項目を選択することと、
前記記憶された項目の1つ又は複数の前記注釈付きコードを変換にコンパイルすることと、
対応する影響メトリックのリスク出力を決定するために前記変換を処理することとを更に含む、請求項9のシステム。 - システムへの影響を決定するためのコンピュータ記憶媒体であって、前記システムにより実行されると、前記システムに、
前記システムに記憶される、複数のコンポーネントのためのデータ系譜の情報を受信することであって、前記複数のコンポーネントは少なくとも2つの論理データセット及び変換を表すものであり、前記データ系譜の情報によって前記変換がデータを受信する第1の論理データセット及び変換されたデータを提供する第2の論理データセットを識別し、前記データ系譜の情報のコンポーネントにより表される前記変換は、前記第1の論理データセットからのデータに適用される1つ又は複数のルールについての情報を含み、かつ、前記データ系譜の情報によって前記複数のコンポーネントを通るデータのパスとフロートレースを識別する、受信することと、
前記第1の論理データセットのフィールド、前記第2の論理データセットのフィールド又は前記変換への1つ又は複数の提案される変更を指定する情報を受信することと、
前記データ系譜の情報に従って前記複数のコンポーネントを分析することと、
前記分析に基づいて、前記1つ又は複数の提案される変更によって影響を受ける各コンポーネントを識別することと、
前記複数のコンポーネントの一つ又は複数への前記1つ又は複数の提案される変更を実装することにより、前記システムの前記複数のコンポーネントへの少なくとも直接影響又は間接影響を表す影響メトリックを生成することと、かつ、
前記影響メトリックを記憶すること、
を含む動作を実行させるコンピュータプログラム命令が符号化されたコンピュータ記憶媒体。 - 前記影響メトリックは、前記複数のコンポーネントの1つ又は複数への前記1つ又は複数の提案される変更を実装することによる直接影響の尺度を提供する、請求項18の媒体。
- 前記影響メトリックは、前記複数のコンポーネントの1つ又は複数への前記1つ又は複数の提案される変更を実装することによる間接影響の尺度を提供する、請求項18の媒体。
- 前記提案される変更は、データセット内のフィールドのフォーマットの変更又は変換の変更からなる群の1つである、請求項18の媒体。
- 前記動作は、1つ又は複数の影響メトリックに基づいてコストを提案される変更に関連付けることを更に含む、請求項18の媒体。
- 前記データ系譜の情報のコンポーネントにより表される前記変換は、前記第1の論理データセットからのデータに適用される1つ又は複数のルールを含む、請求項18の媒体。
- 前記動作は、前記影響メトリックについての情報を提供するリポートを生成することを更に含む、請求項18の媒体。
- 前記動作は、
前記影響メトリックを含む注釈付きコードを生成することと、
前記注釈付きコードを実行可能プログラムにコンパイルすることと、
前記複数のコンポーネントの1つ又は複数への前記1つ又は複数の提案される変更の前記影響を、前記実行可能プログラムの実行に少なくとも部分的に基づいて決定することとを更に含む、請求項18の媒体。 - 前記動作は、
データストレージから、前記1つ又は複数の提案される変更によって影響を受ける、前記データ系譜の情報の前記複数のコンポーネントの1つ又は複数の注釈付きコードの記憶された項目を選択することと、
前記記憶された項目の1つ又は複数の前記注釈付きコードを変換にコンパイルすることと、
対応する影響メトリックのリスク出力を決定するために前記変換を処理することとを更に含む、請求項18の媒体。 - システムへの影響を決定するためのコンピュータ実施方法であって、
前記システムに記憶される、複数のコンポーネントのためのデータ系譜の情報を受信することであって、前記複数のコンポーネントは少なくとも論理データセット又は変換を表すものであり、前記データ系譜の情報によって前記変換がデータを受信する又は変換されたデータを提供する前記論理データセットを識別し、かつ、前記データ系譜の情報によって前記複数のコンポーネントを通るデータのパスとフロートレースを識別する、受信することと、
前記論理データセット又は前記変換への1つ又は複数の提案される変更を指定する情報を受信することと、
前記データ系譜の情報に従って前記複数のコンポーネントを分析することと、
前記分析に基づいて、前記1つ又は複数の提案される変更によって影響を受ける各コンポーネントを識別することと、
前記複数のコンポーネントの一つ又は複数への前記1つ又は複数の提案される変更を実装することにより、前記システムの前記複数のコンポーネントへの少なくとも直接影響又は間接影響を表す影響メトリックを生成することと、かつ、
前記影響メトリックを記憶すること、
を含む、コンピュータ実施方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462075558P | 2014-11-05 | 2014-11-05 | |
US62/075,558 | 2014-11-05 | ||
US14/738,232 | 2015-06-12 | ||
US14/738,232 US10176234B2 (en) | 2014-11-05 | 2015-06-12 | Impact analysis |
JP2017520918A JP6928552B2 (ja) | 2014-11-05 | 2015-11-05 | 影響分析 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017520918A Division JP6928552B2 (ja) | 2014-11-05 | 2015-11-05 | 影響分析 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021144719A JP2021144719A (ja) | 2021-09-24 |
JP7090778B2 true JP7090778B2 (ja) | 2022-06-24 |
Family
ID=54602034
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017520918A Active JP6928552B2 (ja) | 2014-11-05 | 2015-11-05 | 影響分析 |
JP2021082301A Active JP7090778B2 (ja) | 2014-11-05 | 2021-05-14 | 影響分析 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017520918A Active JP6928552B2 (ja) | 2014-11-05 | 2015-11-05 | 影響分析 |
Country Status (9)
Country | Link |
---|---|
US (2) | US10176234B2 (ja) |
EP (1) | EP3215935A1 (ja) |
JP (2) | JP6928552B2 (ja) |
KR (1) | KR102539041B1 (ja) |
CN (1) | CN107135663B (ja) |
AU (2) | AU2015342993B2 (ja) |
CA (1) | CA2966541C (ja) |
SG (2) | SG11201703068SA (ja) |
WO (1) | WO2016073735A1 (ja) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9396283B2 (en) | 2010-10-22 | 2016-07-19 | Daniel Paul Miranker | System for accessing a relational database using semantic queries |
US10176234B2 (en) | 2014-11-05 | 2019-01-08 | Ab Initio Technology Llc | Impact analysis |
US10353911B2 (en) | 2016-06-19 | 2019-07-16 | Data.World, Inc. | Computerized tools to discover, form, and analyze dataset interrelations among a system of networked collaborative datasets |
US11941140B2 (en) | 2016-06-19 | 2024-03-26 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US11947554B2 (en) | 2016-06-19 | 2024-04-02 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US10691710B2 (en) | 2016-06-19 | 2020-06-23 | Data.World, Inc. | Interactive interfaces as computerized tools to present summarization data of dataset attributes for collaborative datasets |
US10515085B2 (en) | 2016-06-19 | 2019-12-24 | Data.World, Inc. | Consolidator platform to implement collaborative datasets via distributed computer networks |
US11042548B2 (en) * | 2016-06-19 | 2021-06-22 | Data World, Inc. | Aggregation of ancillary data associated with source data in a system of networked collaborative datasets |
US10747774B2 (en) | 2016-06-19 | 2020-08-18 | Data.World, Inc. | Interactive interfaces to present data arrangement overviews and summarized dataset attributes for collaborative datasets |
US10853376B2 (en) | 2016-06-19 | 2020-12-01 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US11042560B2 (en) | 2016-06-19 | 2021-06-22 | data. world, Inc. | Extended computerized query language syntax for analyzing multiple tabular data arrangements in data-driven collaborative projects |
US11016931B2 (en) | 2016-06-19 | 2021-05-25 | Data.World, Inc. | Data ingestion to generate layered dataset interrelations to form a system of networked collaborative datasets |
US10824637B2 (en) | 2017-03-09 | 2020-11-03 | Data.World, Inc. | Matching subsets of tabular data arrangements to subsets of graphical data arrangements at ingestion into data driven collaborative datasets |
US11755602B2 (en) | 2016-06-19 | 2023-09-12 | Data.World, Inc. | Correlating parallelized data from disparate data sources to aggregate graph data portions to predictively identify entity data |
US11042556B2 (en) * | 2016-06-19 | 2021-06-22 | Data.World, Inc. | Localized link formation to perform implicitly federated queries using extended computerized query language syntax |
US10452677B2 (en) | 2016-06-19 | 2019-10-22 | Data.World, Inc. | Dataset analysis and dataset attribute inferencing to form collaborative datasets |
US10984008B2 (en) | 2016-06-19 | 2021-04-20 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US10438013B2 (en) | 2016-06-19 | 2019-10-08 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US11334625B2 (en) | 2016-06-19 | 2022-05-17 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US11036697B2 (en) * | 2016-06-19 | 2021-06-15 | Data.World, Inc. | Transmuting data associations among data arrangements to facilitate data operations in a system of networked collaborative datasets |
US11068847B2 (en) | 2016-06-19 | 2021-07-20 | Data.World, Inc. | Computerized tools to facilitate data project development via data access layering logic in a networked computing platform including collaborative datasets |
US10452975B2 (en) | 2016-06-19 | 2019-10-22 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US11042537B2 (en) * | 2016-06-19 | 2021-06-22 | Data.World, Inc. | Link-formative auxiliary queries applied at data ingestion to facilitate data operations in a system of networked collaborative datasets |
US11023104B2 (en) | 2016-06-19 | 2021-06-01 | data.world,Inc. | Interactive interfaces as computerized tools to present summarization data of dataset attributes for collaborative datasets |
US11068475B2 (en) | 2016-06-19 | 2021-07-20 | Data.World, Inc. | Computerized tools to develop and manage data-driven projects collaboratively via a networked computing platform and collaborative datasets |
US11036716B2 (en) * | 2016-06-19 | 2021-06-15 | Data World, Inc. | Layered data generation and data remediation to facilitate formation of interrelated data in a system of networked collaborative datasets |
US10645548B2 (en) | 2016-06-19 | 2020-05-05 | Data.World, Inc. | Computerized tool implementation of layered data files to discover, form, or analyze dataset interrelations of networked collaborative datasets |
US10699027B2 (en) | 2016-06-19 | 2020-06-30 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US10346429B2 (en) | 2016-06-19 | 2019-07-09 | Data.World, Inc. | Management of collaborative datasets via distributed computer networks |
US11675808B2 (en) | 2016-06-19 | 2023-06-13 | Data.World, Inc. | Dataset analysis and dataset attribute inferencing to form collaborative datasets |
US11468049B2 (en) | 2016-06-19 | 2022-10-11 | Data.World, Inc. | Data ingestion to generate layered dataset interrelations to form a system of networked collaborative datasets |
US10324925B2 (en) | 2016-06-19 | 2019-06-18 | Data.World, Inc. | Query generation for collaborative datasets |
US11086896B2 (en) * | 2016-06-19 | 2021-08-10 | Data.World, Inc. | Dynamic composite data dictionary to facilitate data operations via computerized tools configured to access collaborative datasets in a networked computing platform |
JP6878804B2 (ja) * | 2016-09-15 | 2021-06-02 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
US11238109B2 (en) * | 2017-03-09 | 2022-02-01 | Data.World, Inc. | Computerized tools configured to determine subsets of graph data arrangements for linking relevant data to enrich datasets associated with a data-driven collaborative dataset platform |
US12008050B2 (en) * | 2017-03-09 | 2024-06-11 | Data.World, Inc. | Computerized tools configured to determine subsets of graph data arrangements for linking relevant data to enrich datasets associated with a data-driven collaborative dataset platform |
US11068453B2 (en) * | 2017-03-09 | 2021-07-20 | data.world, Inc | Determining a degree of similarity of a subset of tabular data arrangements to subsets of graph data arrangements at ingestion into a data-driven collaborative dataset platform |
US10176217B1 (en) * | 2017-07-06 | 2019-01-08 | Palantir Technologies, Inc. | Dynamically performing data processing in a data pipeline system |
US10922308B2 (en) | 2018-03-20 | 2021-02-16 | Data.World, Inc. | Predictive determination of constraint data for application with linked data in graph-based datasets associated with a data-driven collaborative dataset platform |
US11243960B2 (en) | 2018-03-20 | 2022-02-08 | Data.World, Inc. | Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures |
USD920353S1 (en) | 2018-05-22 | 2021-05-25 | Data.World, Inc. | Display screen or portion thereof with graphical user interface |
US11537990B2 (en) | 2018-05-22 | 2022-12-27 | Data.World, Inc. | Computerized tools to collaboratively generate queries to access in-situ predictive data models in a networked computing platform |
US11947529B2 (en) | 2018-05-22 | 2024-04-02 | Data.World, Inc. | Generating and analyzing a data model to identify relevant data catalog data derived from graph-based data arrangements to perform an action |
USD940169S1 (en) | 2018-05-22 | 2022-01-04 | Data.World, Inc. | Display screen or portion thereof with a graphical user interface |
US11327991B2 (en) * | 2018-05-22 | 2022-05-10 | Data.World, Inc. | Auxiliary query commands to deploy predictive data models for queries in a networked computing platform |
USD940732S1 (en) | 2018-05-22 | 2022-01-11 | Data.World, Inc. | Display screen or portion thereof with a graphical user interface |
US11442988B2 (en) | 2018-06-07 | 2022-09-13 | Data.World, Inc. | Method and system for editing and maintaining a graph schema |
CN108933968B (zh) * | 2018-07-03 | 2022-02-08 | 武汉斗鱼网络科技有限公司 | 一种消息格式的转换方法、装置、存储介质及安卓终端 |
US11893036B2 (en) | 2018-07-19 | 2024-02-06 | Ab Initio Technology Llc | Publishing to a data warehouse |
US10445170B1 (en) | 2018-11-21 | 2019-10-15 | Fmr Llc | Data lineage identification and change impact prediction in a distributed computing environment |
MY195007A (en) * | 2018-12-31 | 2022-12-30 | Mimos Berhad | A system and method for impact analysis of change request that affects database structure through classificiation and keyword similarity analysis |
US10936478B2 (en) * | 2019-01-10 | 2021-03-02 | Oracle International Corporation | Fast change impact analysis tool for large-scale software systems |
US10768907B2 (en) * | 2019-01-30 | 2020-09-08 | Bank Of America Corporation | System for transformation prediction with code change analyzer and implementer |
US10824635B2 (en) | 2019-01-30 | 2020-11-03 | Bank Of America Corporation | System for dynamic intelligent code change implementation |
US10853198B2 (en) * | 2019-01-30 | 2020-12-01 | Bank Of America Corporation | System to restore a transformation state using blockchain technology |
CN110781086B (zh) * | 2019-10-23 | 2022-02-08 | 南京大学 | 一种跨项目缺陷影响分析方法 |
US11210285B2 (en) * | 2020-03-06 | 2021-12-28 | Ab Initio Technology Llc | Generation of optimized logic from a schema |
WO2021252805A1 (en) * | 2020-06-11 | 2021-12-16 | Data.World, Inc. | Auxiliary query commands to deploy predictive data models for queries in a networked computing platform |
US20230068947A1 (en) * | 2021-08-27 | 2023-03-02 | Bank Of Montreal | Systems and methods for processing inter-dependent data for risk modelling and analysis |
US11947600B2 (en) | 2021-11-30 | 2024-04-02 | Data.World, Inc. | Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures |
US11841889B1 (en) * | 2022-01-13 | 2023-12-12 | Tableau Software, LLC | Generating visually simplified calculation expressions corresponding to user manipulation of textual data elements |
CN115686799B (zh) * | 2022-12-29 | 2023-04-07 | 中国华能集团清洁能源技术研究院有限公司 | 一种大数据平台中的任务调度方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030101089A1 (en) | 2001-11-29 | 2003-05-29 | Perot Systems Corporation | Method and system for quantitatively assessing project risk and effectiveness |
JP2008544423A (ja) | 2005-06-27 | 2008-12-04 | エービー イニティオ ソフトウェア コーポレーション | グラフ型計算のためのメタデータ管理 |
JP2010524134A (ja) | 2007-04-10 | 2010-07-15 | アビニシオ テクノロジー エルエルシー | ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06175858A (ja) | 1992-12-02 | 1994-06-24 | Hitachi Ltd | プログラム翻訳装置 |
JPH06290039A (ja) | 1993-04-06 | 1994-10-18 | Hitachi Ltd | プログラム変更方法 |
JPH09101880A (ja) | 1995-10-04 | 1997-04-15 | Fujitsu Ltd | プログラム分析装置 |
US5966072A (en) | 1996-07-02 | 1999-10-12 | Ab Initio Software Corporation | Executing computations expressed as graphs |
US5930794A (en) | 1996-10-18 | 1999-07-27 | Sagent Technologies, Inc. | Database repository with deferred transactions |
US6038558A (en) | 1996-10-18 | 2000-03-14 | Sagent Technology, Inc. | Extensible database retrieval and viewing architecture |
TW440782B (en) * | 1996-12-11 | 2001-06-16 | Matsushita Electric Ind Co Ltd | Method for estimating hot carrier deterioration |
US6032158A (en) | 1997-05-02 | 2000-02-29 | Informatica Corporation | Apparatus and method for capturing and propagating changes from an operational database to data marts |
US6044374A (en) | 1997-11-14 | 2000-03-28 | Informatica Corporation | Method and apparatus for sharing metadata between multiple data marts through object references |
JP2000339145A (ja) * | 1999-05-28 | 2000-12-08 | Kawasaki Steel Systems R & D Corp | プログラム保守支援方法、装置及び記録媒体 |
US7373615B2 (en) * | 2004-02-17 | 2008-05-13 | International Business Machines Corporation | Method for optimization of logic circuits for routability |
KR101000821B1 (ko) | 2004-05-13 | 2010-12-14 | 고쿠리츠다이가쿠호우진 도쿄다이가쿠 | 아파타이트와 그 제조 방법, 및 아파타이트 기재 |
US7536406B2 (en) * | 2004-06-23 | 2009-05-19 | Microsoft Corporation | Impact analysis in an object model |
JP2007128123A (ja) * | 2005-11-01 | 2007-05-24 | Hitachi Ltd | 影響範囲抽出システム |
WO2009011057A1 (ja) * | 2007-07-19 | 2009-01-22 | Fujitsu Limited | アプリケーション解析プログラム、アプリケーション解析方法およびアプリケーション解析装置 |
JP2009157505A (ja) * | 2007-12-25 | 2009-07-16 | Mitsubishi Electric Corp | ソフトウェア変更影響分析装置 |
KR101499599B1 (ko) * | 2008-06-30 | 2015-03-18 | 아브 이니티오 테크놀로지 엘엘시 | 그래프 기반 계산에서의 데이터 로깅 |
JP2010015458A (ja) * | 2008-07-04 | 2010-01-21 | Hitachi Ltd | プログラム修正支援システム、プログラム修正支援方法、およびプログラム修正支援プログラム |
US8458654B2 (en) | 2008-10-22 | 2013-06-04 | International Business Machines Corporation | Identifying impact of database changes on an application |
WO2010065623A1 (en) | 2008-12-02 | 2010-06-10 | Ab Initio Software Llc | Visualizing relationships between data elements and graphical representations of data element attributes |
EP2391938A4 (en) * | 2009-01-30 | 2016-06-08 | Ab Initio Technology Llc | DATA PROCESSING WITH VECTOR FIELDS |
EP2478433A4 (en) * | 2009-09-16 | 2016-09-21 | Ab Initio Technology Llc | MAPPING DATA SET ELEMENTS |
KR20150042872A (ko) * | 2010-06-22 | 2015-04-21 | 아브 이니티오 테크놀로지 엘엘시 | 관련 데이터세트의 처리 |
US10503817B2 (en) * | 2011-01-12 | 2019-12-10 | Crucs Holdings, Llc | System and method for multi-party document revision |
KR101872748B1 (ko) | 2011-01-14 | 2018-06-29 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 콜렉션에 대한 변경 관리 방법 |
CN103348598B (zh) * | 2011-01-28 | 2017-07-14 | 起元科技有限公司 | 生成数据模式信息 |
JP5918476B2 (ja) | 2011-03-31 | 2016-05-18 | 株式会社日立メタルプレシジョン | 回転伝達装置およびこれを用いたシート材穿孔装置 |
US9552202B2 (en) * | 2011-12-08 | 2017-01-24 | International Business Machines Corporation | Automated and heuristically managed solution to quantify CPU and path length cost of instructions added, changed or removed by a service team |
CN103178982A (zh) * | 2011-12-23 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 日志分析方法和装置 |
CN102637208B (zh) * | 2012-03-28 | 2013-10-30 | 南京财经大学 | 一种基于模式挖掘的噪音数据过滤方法 |
US20130346157A1 (en) * | 2012-06-20 | 2013-12-26 | Dionysios AVRILIONIS | Revenue optimization platform apparatuses, methods, systems and services |
WO2015050072A1 (ja) * | 2013-10-03 | 2015-04-09 | 富士フイルム株式会社 | クリニカルパス管理装置 |
CN104123352A (zh) * | 2014-07-10 | 2014-10-29 | 西安理工大学 | 面向微博的话题层次用户影响力度量方法 |
US10176234B2 (en) | 2014-11-05 | 2019-01-08 | Ab Initio Technology Llc | Impact analysis |
-
2015
- 2015-06-12 US US14/738,232 patent/US10176234B2/en active Active
- 2015-11-05 KR KR1020177015409A patent/KR102539041B1/ko active IP Right Grant
- 2015-11-05 CN CN201580072270.6A patent/CN107135663B/zh active Active
- 2015-11-05 JP JP2017520918A patent/JP6928552B2/ja active Active
- 2015-11-05 SG SG11201703068SA patent/SG11201703068SA/en unknown
- 2015-11-05 EP EP15797529.3A patent/EP3215935A1/en not_active Ceased
- 2015-11-05 WO PCT/US2015/059266 patent/WO2016073735A1/en active Application Filing
- 2015-11-05 SG SG10202000449XA patent/SG10202000449XA/en unknown
- 2015-11-05 AU AU2015342993A patent/AU2015342993B2/en active Active
- 2015-11-05 CA CA2966541A patent/CA2966541C/en active Active
-
2018
- 2018-11-26 US US16/199,985 patent/US11475023B2/en active Active
-
2020
- 2020-07-31 AU AU2020210281A patent/AU2020210281B2/en active Active
-
2021
- 2021-05-14 JP JP2021082301A patent/JP7090778B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030101089A1 (en) | 2001-11-29 | 2003-05-29 | Perot Systems Corporation | Method and system for quantitatively assessing project risk and effectiveness |
JP2008544423A (ja) | 2005-06-27 | 2008-12-04 | エービー イニティオ ソフトウェア コーポレーション | グラフ型計算のためのメタデータ管理 |
JP2010524134A (ja) | 2007-04-10 | 2010-07-15 | アビニシオ テクノロジー エルエルシー | ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム |
Also Published As
Publication number | Publication date |
---|---|
KR102539041B1 (ko) | 2023-05-31 |
US11475023B2 (en) | 2022-10-18 |
US20160125057A1 (en) | 2016-05-05 |
JP2021144719A (ja) | 2021-09-24 |
CN107135663A (zh) | 2017-09-05 |
SG10202000449XA (en) | 2020-03-30 |
AU2015342993A1 (en) | 2017-05-04 |
US20190095390A1 (en) | 2019-03-28 |
CA2966541A1 (en) | 2016-05-12 |
JP6928552B2 (ja) | 2021-09-01 |
WO2016073735A1 (en) | 2016-05-12 |
CA2966541C (en) | 2023-09-26 |
AU2015342993B2 (en) | 2020-05-21 |
CN107135663B (zh) | 2021-06-22 |
EP3215935A1 (en) | 2017-09-13 |
SG11201703068SA (en) | 2017-05-30 |
AU2020210281A1 (en) | 2020-08-20 |
AU2020210281B2 (en) | 2022-06-02 |
US10176234B2 (en) | 2019-01-08 |
JP2018501538A (ja) | 2018-01-18 |
KR20170081239A (ko) | 2017-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7090778B2 (ja) | 影響分析 | |
CA2611774C (en) | Managing parameters for graph-based computations | |
CA2610989C (en) | Managing metadata for graph-based computations | |
EP4002150A1 (en) | User interface to prepare and curate data for subsequent analysis | |
CA2980333A1 (en) | Field specialization systems and methods for improving program performance | |
Drago et al. | QVTR2: A Rational and Performance-Aware Extension to the Relations Language. | |
Paligiannis | Handling of schema evolution in machine learning pipelines | |
ÖRGÅRD | Recommendations for Mutation Testing as Part of a Continuous Integration Pipeline: With a focus on C++ | |
Beyer et al. | Automated Data-Flow Analysis and Validation in Process Automation Projects | |
Wöhrer et al. | Logical optimization of dataflows for data mining and integration processes | |
AU2013228010A1 (en) | Managing metadata for graph-based computations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210609 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220428 |
|
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: 20220516 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220614 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7090778 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |