JP5902185B2 - コンピュータプログラムを表すデータフローグラフ内のデータセットオブジェクトの管理 - Google Patents

コンピュータプログラムを表すデータフローグラフ内のデータセットオブジェクトの管理 Download PDF

Info

Publication number
JP5902185B2
JP5902185B2 JP2013535149A JP2013535149A JP5902185B2 JP 5902185 B2 JP5902185 B2 JP 5902185B2 JP 2013535149 A JP2013535149 A JP 2013535149A JP 2013535149 A JP2013535149 A JP 2013535149A JP 5902185 B2 JP5902185 B2 JP 5902185B2
Authority
JP
Japan
Prior art keywords
data
node
data flow
nodes
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.)
Active
Application number
JP2013535149A
Other languages
English (en)
Other versions
JP2013541784A (ja
JP2013541784A5 (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 JP2013541784A publication Critical patent/JP2013541784A/ja
Publication of JP2013541784A5 publication Critical patent/JP2013541784A5/ja
Application granted granted Critical
Publication of JP5902185B2 publication Critical patent/JP5902185B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

関連出願の相互参照
本願は、2010年10月25日に出願された米国仮特許出願第61/406,438号の優先権を主張するものであり、この特許出願を参照により本明細書に援用する。
背景
本記載はデータセットオブジェクトの管理に関する。
データフローグラフはデータを処理する。データフローグラフは、データソース、データシンク、及びコンポーネントを含む。データソース、データシンク、及びコンポーネントは、データをあるコンポーネントから別のコンポーネントに、又はデータソースからコンポーネントに、又はコンポーネントからデータシンクに流れるようにする接続により接続される。データフローグラフは、接続を表すリンク(弧とも呼ばれる)により接続されるデータソース、データシンク、及びコンポーネントを表すノード(頂点とも呼ばれる)を有する有向グラフで視覚的に表すことができる。
概要
一態様では、一般には、グラフに基づくデータ処理のためにデータセットオブジェクトを管理する方法は、1つ又は複数のデータセットオブジェクトのグループをデータ記憶システムに記憶することであって、データセットオブジェクトのそれぞれは各データセットを表す、記憶すること、及びグループ内の少なくとも第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの間の関連付けを生成することを含み、第1のノードは、データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、第1のデータセットオブジェクトは、異なる変換ロジックが第1のノードで処理されるデータに適用される複数のモードを含む。
態様は以下の特徴のうちの1つ又は複数を含み得る。
関連付けられたデータセットオブジェクトと関連付けられたノードとの関連付けを生成することは、データフローグラフに対応するデータ構造にアクセスすることであって、データフローグラフは、第1のノードを含む複数のノード及びノードを接続するリンクを含み、リンクは、ノード間のデータフローを表す、アクセスすること、ユーザ入力に基づいてグループから選択された第1のデータセットオブジェクトを受信することであって、第1のデータセットオブジェクトは複数のモードを含み、各モードは、変換ロジック及び入力ポート又は出力ポートのうちの少なくとも1つを含む、受信すること、ユーザ入力に基づいて第1のデータセットオブジェクトに選択されたモードを受信すること、選択されたモードを受信した後、データフローグラフに第1のノードを生成することであって、第1のノードは、選択されたモードの変換ロジック、任意の入力ポート、及び任意の出力ポートを含む、生成すること、並びにリンクを使用して、第1のノードをデータフローグラフ内の少なくとも1つのノードに接続すること、を含む。
第1のデータセットオブジェクトは少なくとも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のデータセットオブジェクトは、異なる変換ロジックが第1のノードで処理されるデータに適用される複数のモードを含む、手段とを含む。
態様は、以下の利点のうちの1つ又は複数を含むことができる。データセットオブジェクトを、複数のデータフローグラフで再使用し得る。データレコードの更新を簡易化し得る。データの従属性を特定し得る。アプリケーション開発を簡易化し得る。
本発明の他の特徴及び利点が以下の説明及び特許請求の範囲から明らかになろう。
データセットオブジェクト技法を使用することができる例示的なデータ処理システム100を示す。 データセットオブジェクトの管理に使用することができる例示的な手順200のフローチャートを示す。 データセットオブジェクトの管理に使用することができる例示的な手順200のフローチャートを示す。 開発環境のユーザインタフェース例を示す。 データセットオブジェクトに関連付けられた例示的なパーソナリティを示す。 カタログ内のデータフローグラフとデータセットオブジェクトとの関係を示す。 カタログ内のデータセットオブジェクへの既存のノードの関連付けを示す。 パラメータ値に基づいてデータセットオブジェクトへのノードの関連付けを示す。
説明
図1は、データセットオブジェクト技法を使用することができる例示的なデータ処理システム100を示す。システム100はデータソース102を含み、データソース102は、記憶装置又はオンラインデータストリームへの接続等の1つ又は複数のデータソースを含み得、各データソースは、任意の様々な記憶フォーマット(例えば、データベーステーブル、スプレッドシートファイル、平文ファイル、又はメインフレームで使用されるネイティブフォーマット)でデータを記憶し得る。実行環境104は、事前実行モジュール106及び実行モジュール112を含む。実行環境104は、UNIX(登録商標)オペレーティングシステム等の適したオペレーティングシステムの制御下で1つ又は複数の汎用コンピュータでホストし得る。例えば、実行環境104は、ローカルである(例えば、SMPコンピュータ等のマルチプロセッサシステム)か、又はローカルに分散する(例えば、クラスタとして結合された複数のプロセッサ又はMPP)か、又はリモートであるか、又はリモートに分散する(例えば、ローカルエリアネットワーク(LAN)及び/又は広域ネットワーク(WAN)を介して結合された複数のプロセッサ)か、又はこれらの任意の組み合わせである複数の中央演算処理装置(CPU)を使用するコンピュータシステムの構成を含む複数ノード並列計算環境を含むことができる。
事前実行モジュール106は、データフローグラフ及びデータフローグラフのコンパイル、実行環境104がアクセス可能なデータ記憶システム116への/からのコンパイルされたデータフローグラフの記憶/ロード等の他の実行可能プログラム、又はデータフローグラフの管理に関連付けられた他のタスクを実行する準備として、様々なタスクを実行するように構成される。実行モジュール112は、データをデータソース102から読み取り、データフローグラフの形態で表現されるプログラムを含む実行可能プログラムを使用してデータを処理する。
データソース102を提供する記憶装置は、実行環境104にローカルであってもよく、例えば、実行環境104を実行するコンピュータに接続された記憶媒体(例えば、ハードドライブ108)に記憶されてもよく、又は実行環境104からリモートであってもよく、例えば、リモート接続を介して実行環境104を実行するコンピュータと通信するリモートシステム(例えば、メインフレーム110)でホストしてもよい。
実行モジュール112は、実行環境104がアクセス可能なデータ記憶システム116に記憶されたデータセットオブジェクトのカタログ114を使用して、データフローグラフを実行する。カタログ114は、事前処理モジュール106により管理されて、より詳細に後述するように、異なるモードに構成することができるデータセットオブジェクトを提供する。カタログは、データセットオブジェクトのグループをデータ構造又は特定のロケーション(例えば、ファイルシステムディレクトリ)に記憶し得、又は様々なロケーションに記憶されたデータオブジェクトのグループを識別する情報を含み得る。いくつかの実施態様では、カタログは、検索又は他の動作を可能にするインデックス又はメタデータ等の情報を含む。開発者120がデータフローグラフを開発し、カタログ114と対話することが可能な開発環境118も、データ記憶システム116にアクセス可能である。
開発環境118は、いくつかの実施態様では、有向リンク(作業要素の流れを表す)で接続される頂点(コンポーネント又はデータセットを表す)を含むデータフローグラフとしてアプリケーションを開発するシステムである。例えば、そのような環境については、「Managing Parameters for Graph-Based Applications」という名称の米国特許出願公開第2007/0011668号により詳細に説明されており、この公開出願を参照により本明細書に援用する。そのようなグラフに基づく計算を実行するシステムは、米国特許第5,566,072号、EXECUTING COMPUTATIONS EXPRESSED AS GRAPHSに記載されており、この特許を参照により本明細書に援用する。このシステムに従って作成されたデータフローグラフは、グラフコンポーネントにより表される個々のプロセス内外への情報を取得する方法、例えば、プロセス間で情報を移動させ、プロセスの実行順序を定義する方法を提供する。このシステムは、プロセス間通信方法を選ぶアルゴリズムを含む(例えば、グラフのリンクに従う通信路は、TCP/IP又はUNIX(登録商標)ドメインソケットを使用することができ、又は共有メモリを使用して、プロセス間でデータを渡すことができる)。
実行モジュール112は、異なる形態のデータベースシステムを含む様々なタイプのシステムからデータを受信することができる。データは、ヌル値を含むことが可能な、各フィールド(「属性」又は「列」とも呼ばれる)に値を有するレコードとして編成し得る。データソースから最初にデータを読み取る際、実行モジュール112は通常、そのデータソース内のレコードについてのいくらかの初期フォーマット情報で開始する。いくつかの状況では、データソースのレコード構造は、最初に分からず、代わりに、データソースの分析後に特定し得る。レコードについての初期情報は、別個の値を表すビット数、レコード内のフィールドの順序、及びビットで表される値のタイプ(例えば、文字列、署名付き/署名なし整数)を含むことができる。
開発環境118は、実行環境104で実行すべきデータフローグラフの構築及び/又は編集を行うために開発者120が使用するインタフェースを提供する。データフローグラフには、データ記憶システム116に記憶される実行可能データ構造が関連付けられ、データフローグラフは、開発環境118において、ノード及びノードを接続するリンクを含む有向グラフとして表現される。開発環境は、開発中のデータフローグラフに対応するデータ構造にアクセスすることが可能である。データフローグラフのノードは、データソース、データシンク、及びデータ処理コンポーネントを表す。リンクは、ノード間のデータフローを表す。開発環境118は、データセットオブジェクトのカタログ114へのアクセスを提供することも可能である。カタログ114は、データ記憶システム116内のデータストア又は別のデータストア内に配置し得る。
カタログ114は、ユーザ入力に基づいて選択することができる1つ又は複数のデータセットオブジェクトを含む。データセットオブジェクトは、データセットオブジェクトが提供する機能を決める複数のモード(「パーソナリティ」と呼ばれる)を含むデータフローグラフノードである。例えば、データセットオブジェクトは、データソースパーソナリティ及びデータシンクパーソナリティを含み得る。データセットオブジェクトが、データフローグラフ内のノードとして使用されるように選択される場合、データセットオブジェクトは、例えば、ユーザ入力に基づいてパーソナリティの1つを採用する。例えば、開発環境118は、データフローグラフ(例えば、リンクで接続されたノード)の表現を含むカタログ及びカンバスの表現を含むグラフィカルユーザインタフェース(GUI)を含み得る。ユーザ(例えば、開発者120)は、データセットオブジェクトをカタログからカンバスにドラッグアンドドロップすることができる。データセットオブジェクトの表現がカンバスに配置されると、ユーザはデータセットオブジェクトのパーソナリティを選択することができる。
選択されたパーソナリティを使用して、データフローグラフに新しいノードを生成する。選択されたパーソナリティには、何らかの方法でデータを変更する変換ロジックが関連付けられる。例えば、データソースパーソナリティは、データレコードをデータストア(例えば、データベーステーブル、ファイル、又は他のデータストア)から読み取り、何らかの変換を実行する変換ロジックを含むことができる。データシンクパーソナリティは、何らかの変換を実行した後、データレコードをデータストアに書き込む変換ロジックを含むことができる。いくつかの実施態様では、データセットオブジェクトのパーソナリティの変換ロジックは、データフローグラフを使用して実施することができる。いくつかの実施態様では、データセットオブジェクトの各パーソナリティには、ノード及びノードを接続するリンクを含む異なる各データフローグラフが関連付けられる。
各パーソナリティは、入力ポート(例えば、データシンクパーソナリティ)を有してもよく、出力ポート(例えば、データソースパーソナリティ)を有してもよく、入力ポート及び出力ポートの両方(例えば、データ変換パーソナリティ)を有してもよく、又はポートを全く有さなくてもよい(例えば、ルックアップテーブルパーソナリティ)。データセットオブジェクトに選択されたパーソナリティを受信することにより生成される新しいノードは、選択されたパーソナリティの変換ロジック及びポートを反映する。いくつかの実施態様では、データセットオブジェクトは、データソースのロケーションを識別する。データセットオブジェクトは、データソースのロケーションを識別するパラメータを含み得る。いくつかの実施態様では、パラメータは、データフローグラフの実行中に決定される値を含む動的パラメータを使用して、データソースのロケーションを識別する。データソースにアクセスするデータセットオブジェクトは、データのフォーマットを識別するとともに、データが圧縮又は暗号化されているか否かを識別することができる。
生成されたノードは、リンクを使用して、生成されたノードをデータフローグラフ内の少なくとも1つのノードに接続することにより、データフローグラフに組み込むことができる。いくつかの実施態様では、生成されたノードは、データソースからのデータをデータフローグラフに提供するか、又はデータフローグラフからのデータをデータストアに記憶する。
図2Aは、データセットオブジェクトを管理するシステムにより実施することができる例示的なプロセス200のフローチャートを示す。便宜上、プロセスについてプロセスを実行するシステムに関連して説明する。
プロセス200は、データフローグラフに対応するデータ構造にアクセスする202。データ構造は、ノード及びノードを接続するリンクを含み、リンクはノード間のデータフローを表す。
プロセス200は、データセットオブジェクトのカタログを提供する204。上述したように、カタログは1つ又は複数のデータセットオブジェクトを含むことができる。
プロセス200は、カタログから選択されたデータセットオブジェクトを受信する206。例えば、ユーザは、データセットオブジェクトをカタログからカンバスにドラッグすることにより、データカタログからデータセットオブジェクトを選択することができる。上述したように、データセットオブジェクトは複数のパーソナリティを含み、各パーソナリティは、変換ロジックと、少なくとも1つの入力ポート及び/又は少なくとも1つの出力ポートとを含む。
プロセス200は、データセットオブジェクトに選択されたパーソナリティを受信する208。上述したように、ユーザは、例えば、ラジオボタン又はドロップダウンメニュー上の値を選択することにより、選択されたデータセットオブジェクトのパーソナリティを選択することができる。
プロセス200は、データフローグラフ内にノードを生成する210。生成されたノードは、選択されたパーソナリティの変換ロジック及び任意の入力及び出力ポートを含む。
プロセス200は、生成されたノードをデータフロー内の少なくとも1つのノードに接続する212。
図2Bは、データセットオブジェクトを管理するシステムにより実施することができる例示的なプロセス230のフローチャートを示す。便宜上、プロセスについて、プロセスを実行するシステムに関連して説明する。
プロセス230は、複数のデータフローグラフにアクセスする(232)。上述したように、各データフローグラフは、ノード及びノードを接続するリンクを含む。ノードは変換ロジックを含み、リンクはノード間のデータフローを表す。
プロセス230は、同じデータストアにアクセスする複数のノードを識別する234。各ノードはパラメータ及び変換ロジックを含む。
プロセス230は、データセットオブジェクトを生成する236。データセットオブジェクトを生成するために、プロセスは、複数のノードの変換ロジックに基づいて複数のパーソナリティを識別する238。プロセス230は、ノードに関連付けられたパラメータに基づいてパラメータも識別する240。プロセス230は、生成されたデータセットオブジェクトをデータカタログに記憶する242。
図3は、開発環境、例えば、図1の開発環境118のユーザインタフェース例300を示す。ユーザインタフェース300は、複数のデータセットオブジェクト304a〜eを含むデータセットオブジェクトのカタログ302を含む。ユーザインタフェース300はカンバス306も含み、カンバス306において、ユーザはデータフローを作成又は変更することができる。カンバスは、データフローグラフに含まれるノードの表現を表示する。この例では、データフローグラフは、第1のデータソース310、第2のデータソース312、第1のコンポーネントノード314、第2のコンポーネントノード316、データシンク320、及びルックアップテーブル308を含む。データフローグラフを通してのデータの流れは、リンクにより定義される。例えば、第1のデータソース310は出力ポート322を含み、出力ポート322は、リンク326によりコンポーネントノード314の入力ポート324に接続される。
ユーザ(図示せず)は、データセットオブジェクト(例えば、データセットオブジェクト304b)をカタログ302からカンバス306にドラッグして、新しいノード318を生成する。ユーザは、例えば、属性インタフェース要素332上のラジオボタンを使用してパーソナリティを選択することにより、新しいノード318のパーソナリティを選択する。パーソナリティが選択されると、新しいノード318は、パーソナリティに関連付けられた入力ポート、出力ポート、及び/又は変換ロジックを提示する。後述するように、新しいオブジェクトは、ユーザが設定し得るパラメータを含むこともできる。
図4は、データセットオブジェクトに関連付けられた例示的なパーソナリティを示す。データセットオブジェクト400には、1つ又は複数のパラメータ414を関連付けることができる。例えば、データセットオブジェクト400には、ラベル、ファイル名、レコードフォーマット、データベーステーブル名、又は他の任意の情報を定義する値を有するパラメータを関連付けることができる。いくつかの実施態様では、パラメータ値を実行時に動的に決定することができる。
データセットオブジェクト400は複数のパーソナリティを含むことができ、各自の特徴を有する各パーソナリティは、各自の入力ポート、出力ポート、及び/又は変換ロジックを含む。例えば、データセットオブジェクトはデータソースパーソナリティ404を含むことができ、データソースパーソナリティ404は、ファイル、データベーステーブル、又は他のデータ構造からデータを読み取り、データフローグラフに提供する。データセットオブジェクト400はデータシンクパーソナリティ410を含むこともでき、データシンクパーソナリティ410は、入力ポートでデータレコードフローを受け入れ、データストア、例えば、データベーステーブル、ファイル、又は他の何らかのデータストアに記憶する。データセットオブジェクト400はパラレルデータソースパーソナリティ402を含むことができ、パラレルデータソースパーソナリティ402は、データを複数のパラレルデータ構造から読み取り、データフローグラフに提供する。同様に、データセットオブジェクト400は、データレコードストリームを複数のデータストアに提供するパラレルデータシンクパーソナリティ412を含むことができる。
データセットオブジェクト400は、ルックアップテーブルパーソナリティ418を含むことができる。一般に、ルックアップテーブルは入力ポート又は出力ポートを含まない。ルックアップテーブルパーソナリティは、他のノードでの高速データ参照のためにデータソースをメモリに読み出す。
データセットオブジェクト400は、1つ又は複数のコンポーネントパーソナリティ、例えば、パーソナリティ406を含むことができる。一般に、コンポーネントパーソナリティは、少なくとも1つの入力ポート及び少なくとも1つの出力ポートを含み得、データフローに対して演算を実行する。例えば、コンポーネントは、データフローをフィルタリングして、特定の値を有するデータレコードを識別し得る。
いくつかの実施態様では、パラメータにデータセットオブジェクトパーソナリティを関連付けることができる。例えば、パラレルデータシンクパーソナリティ412に、データフローを分割すべきファイルの名前を定義するパラメータ416が関連付けられる。
いくつかの状況では、データセットオブジェクトは複数のデータシンク及びデータソースを含むことができる。例えば、データセットオブジェクトは、データをデータベーステーブルに書き込む第1のデータシンクパーソナリティ、データをフラットファイルに書き込む第2のデータシンクパーソナリティ、及びファイル転送プロトコル(FTP)を使用してデータをリモートサーバに書き込む第3のデータシンクパーソナリティを含むことができる。同様に、データセットオブジェクトは、データベーステーブルからデータを読み取る第1のデータソースパーソナリティ、データをフラットファイルから読み取る第2のデータソースパーソナリティ、及びFTPを使用してリモートサーバ上のデータにアクセスする第3のデータソースパーソナリティを含むことができる。いくつかの実施態様では、他のプロトコル及びデータアクセス方法を使用することができる(例えば、ハイパーテキスト転送プロトコル(HTTP)及び拡張可能マークアップ言語(XML)ドキュメント)。いくつかの実施態様では、データセットオブジェクトのすべてのデータソースパーソナリティは、同一の出力を生成し、データセットオブジェクトのすべてのデータシンクパーソナリティは、同一の入力を受け入れる。したがって、どのデータソースパーソナリティ又はデータシンクパーソナリティがデータフローグラフに含まれるかは、データフローグラフ内のその他のノードにトランスペアレントであり得る。
上述したように、いくつかの実施態様では、データセットパーソナリティには、データに対して変換を実行するデータフローグラフとして実施される変換ロジックを関連付けることができる。例えば、データセットオブジェクトのデータソースパーソナリティは、XMLファイルを読み取り、処理のために、階層XMLデータを一連のシーケンシャルレコードに変換し得る。同様に、データセットオブジェクトのデータシンクパーソナリティは、一連のシーケンシャルレコードを受け入れ、レコードを階層XMLデータに変換して、XMLファイルに記憶し得る。
データセットオブジェクトに関連付け得る他のパーソナリティは、データソースからのデータをリフレッシュするパーソナリティ及びデータソースにおいてレコードを更新するパーソナリティを含む。
図5は、カタログ内のデータフローグラフ間及びデータセットオブジェクト間の関係を示す。カタログからのデータセットオブジェクトが、データフローグラフ内のノードの生成に使用される場合、コンポーネントとデータセットオブジェクトとの関係が維持される。この例では、データセットオブジェクト504を使用して、データフローグラフ506a内にノード508aを生成した。同様に、同じデータセットオブジェクト504を使用して、データフローグラフ505b〜e内でノード508b〜eを生成した。
線510aで表されているように、カタログ502はデータセットオブジェクト504とノード508aとの関係を維持する。線510b〜eで表されるように、データセットオブジェクト504とノード508b〜eとの関係も、線510b〜eで表されるように、同様に維持される。いくつかの実施態様では、ノード508a〜eは、ノードの生成に使用されたデータセットオブジェクト504の識別情報を維持する。
いくつかの実施態様では、データフローグラフ506a〜eは、データセットオブジェクト504を参照することによりノード508a〜eを実施する。この実施態様では、データセットオブジェクト504のパーソナリティに行われた変更は、データフローグラフ506a〜eの実行に自動的に反映される。
開発環境、例えば、図1の開発環境118のユーザは、維持された関係を使用して、データフローグラフ間の従属性を分析することができる。例えば、ユーザは、データセットオブジェクト504及びデータセットオブジェクトにより識別されるデータソースへの変更により影響を受けるデータフローグラフ506a〜eのそれぞれを識別することができる。識別されたデータフローグラフは、変更を達成するために、必要に応じて変更することができる。
図6は、カタログ内のデータセットオブジェクトへの既存のノードの関連付けを示す。いくつかの状況では、ユーザは、カタログからのデータセットオブジェクトを使用せずにデータストアにアクセスする、生成されたノード(例えば、データソース、データシンク、又はルックアップテーブル)を有し得る。これは、データフローグラフの作成時に適切なデータセットオブジェクトが存在しなかったか、又は同様に、開発者が、提供されたデータフローグラフの使用を怠ったために発生し得る。図1を参照すると、データ記憶システム116及び潜在的に実行環境104と併せて開発環境118は、これらのノードを識別し、後述するように、適切なデータセットオブジェクトに関連付けることができる。
図6を再び参照すると、データシンク612は、データストア618のシンクであり、データストア618にアクセスする変換ロジックを含む。開発環境は、カタログ内のデータセットオブジェクト620が、データストア618のシンクでもあるデータシンクパーソナリティ(図示せず)を含むことを特定する。矢印624で表されるように、データシンク612にはデータセットオブジェクト620が関連付けられる。いくつかの実施態様では、データシンク612内の変換ロジックは、データセットオブジェクト620のデータシンクパーソナリティ内の変換ロジックで置換される。他の実施態様では、変換ロジックは置換されない。いくつかの状況では、データシンク612は、別個のパーソナリティとしてデータセットオブジェクト620に追加し得る(例えば、データセットオブジェクト620がデータシンクパーソナリティを含まない場合)。
別の状況では、データシンク614はデータストア626のシンクであり、データストア626にアクセスする変換ロジックを含む。開発環境は、データシンク614に対応するデータセットオブジェクトがカタログ622に存在しないと特定する。その結果、開発環境は、データシンク614に基づいてデータシンクパーソナリティ(図示せず)を有する新しいデータセットオブジェクト630を作成する。新しいデータセットオブジェクト630は、カタログ622に追加される。新しいデータセットオブジェクト630にはデータシンク614が関連付けられる。
いくつかの実施態様では、開発環境は、ノードのパラメータの値に基づいてノード(データソース、データシンク、ルックアップテーブル、又は他のコンポーネント)を関連付けることができる。例えば、データセットオブジェクトのパラメータ及びパラメータ値が、ノードのパラメータ及びパラメータ値に一致する場合、ノードにデータセットオブジェクトを関連付けることができる。いくつかの実施態様では、パラメータ及びパラメータ値が厳密に一致しない場合であっても、ノード及びデータセットオブジェクトを関連付け得る。例えば、いくつかのパラメータは、必要なパラメータとして見なされ得る(例えば、ノード及びデータセットオブジェクトを関連付けるには、パラメータ及びパラメータ値の両方が一致しなければならない)。他のパラメータは、存在する必要がないか、又はデータセットオブジェクトに関連付けるべきノードのデータセットオブジェクトのパラメータ値に一致する必要がない任意選択的なパラメータと見なされ得る。
上述したように、いくつかのパラメータは、グラフが実行されるまで決定されない値を有することができる。この状況では、システムは、実行中、データフローグラフのノードのパラメータの値を追跡することができる。実行中に決定されるパラメータ及びパラメータ値は、上述したように、データセットオブジェクトのパラメータ及びパラメータ値と比較することができる。
図7を参照すると、いくつかの実施態様では、実行中に決定されるパラメータ及びパラメータ値は、実行中、データセットオブジェクトに関連付けられた他のノードのパラメータ及びパラメータ値と比較される。例えば、データカタログ702は、値「$inputfile」を有するパラメータ706「FileName」を有するデータセットオブジェクト704を含み、「$inputfile」は、パラメータ706が、値が実行中に決定される動的パラメータであることを示す。接続線708により表されるように、データセットオブジェクト704には、データセットオブジェクト704のデータソースパーソナリティとして以前に生成されたデータソース710が関連付けられる。実行中、パラメータ712「FileName」の値は、「X:\Input_20101001.dat」であると決定される。データセットオブジェクト704に関連付けられないデータシンク714は、値「X:\Input_20101001.dat」を有するパラメータ716「FileName」を含む。一致するパラメータ706及び716並びにデータセットオブジェクト704にすでに関連付けられた別のパラメータ712の値に一致するパラメータ716の値に基づいて、データシンク714は、データセットオブジェクト704のデータシンクパーソナリティとして、データセットオブジェクト704に関連付けられると決定される。一般に、データセットオブジェクトへのノード(データソース、データシンク、又はルックアップテーブル)の一致では、複数のパラメータ及びパラメータ値が一致する必要があり得る。例えば、データセットオブジェクトへのノードの関連付けでは、データストアのロケーション及びレコードフォーマットを識別するパラメータが一致する必要があり得る。
上述したデータセットオブジェクト手法は、コンピュータで実行されるソフトウェアを使用して実施することができる。例えば、ソフトウェアは、それぞれが少なくとも1つのプロセッサ、少なくとも1つのデータ記憶システム(揮発性及び不揮発性メモリ及び/又は記憶要素を含む)、少なくとも1つの入力装置又はポート、及び少なくとも1つの出力装置又はポートを含むプログラムされるか、又はプログラム可能な1つ又は複数のコンピュータシステム(分散、クライアント/サーバ、又はグリッド等の様々なアーキテクチャであり得る)で実行される1つ又は複数のコンピュータプログラム内のプロシージャを形成する。ソフトウェアは、例えば、データフローグラフの設計及び構成に関連する他のサービスを提供するより大きなプログラムの1つ又は複数のモジュールを形成し得る。グラフのノード及び要素は、コンピュータ可読媒体に記憶されたデータ構造又はデータリポジトリに記憶されたデータモデルに準拠する他の編成データとして実施することができる。
ソフトウェアは、汎用又は専用プログラマブルコンピュータにより可読のCD−ROM等の記憶媒体に提供してもよく、又はコンピュータにネットワークの通信媒体を介して送られ(伝播信号に符号化される)、コンピュータで実行されてもよい。すべての機能は、汎用コンピュータで実行されてもよく、又はコプロセッサ等の専用ハードウェアを使用して実行されてもよい。ソフトウェアは、ソフトウェアにより指定される計算の異なる部分が異なるコンピュータにより実行される分散様式で実施してもよい。そのような各コンピュータプログラムは、好ましくは、汎用又は汎用プログラマブルコンピュータにより可読の記憶媒体又は装置(例えば、固体状態メモリ、固体状態媒体、磁気媒体、又は光学媒体)に記憶又はダウンロードされて、記憶媒体又は装置がコンピュータシステムにより読み取られ、本明細書に記載のプロシージャを実行する場合、コンピュータを構成し動作させる。本発明によるシステムは、コンピュータ可読記憶媒として実施され、コンピュータプログラムが構成されるものと見なすこともでき、そうして構成された記憶媒体は、コンピュータシステムを特定の事前定義された様式で動作させて、本明細書に記載の機能を実行させる。
本発明のいくつかの実施形態について説明した。それにも関わらず、本発明の趣旨及び範囲から逸脱せずに様々な変更を行い得ることが理解されよう。例えば、上述したステップのうちのいくつかは順序から独立し得、したがって、説明された順序と異なる順序で実行することもできる。上記説明が例示を目的とし、本発明の範囲を限定せず、本発明の範囲が、添付の特許請求の範囲により定義されることを理解されたい。例えば、上述したいくつかの機能ステップは、全体処理に実質的に影響せずに異なる順序で実行し得る。他の実施形態も以下の特許請求の範囲内にある。

Claims (44)

  1. グラフに基づくデータ処理のためにデータセットオブジェクトを管理する方法であって、
    1つ又は複数のデータセットオブジェクトのグループをデータ記憶システムに記憶することであって、前記データセットオブジェクトのそれぞれは各データセットを表し、前記グループは第1のデータセットオブジェクトを含み、前記第1のデータセットオブジェクトは、データセットからデータレコードを読み取るように前記第1のデータセットオブジェクトを構成するデータソースモードと、前記データセットにデータレコードを書き込むように前記第1のデータセットオブジェクトを構成するデータシンクモードとを少なくとも含む複数のモードを含むこと、
    前記第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの間の関連付けを生成することであって、前記第1のノードは、前記データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、前記第1のデータセットオブジェクトは、異なる変換ロジックが前記第1のノードで処理されるデータに適用される複数のモードを含み、前記第1のデータセットオブジェクトは、前記複数のモードのうちのあるモードにしたがって前記データフローグラフの前記第1のノードと対話すること
    を含む方法。
  2. 前記関連付けられたデータセットオブジェクトと前記関連付けられたノードとの間の関連付けを生成することは、
    前記データフローグラフに対応するデータ構造にアクセスすることであって、前記データフローグラフは、前記第1のノードを含む複数のノード及び前記ノードを接続するリンクを含み、前記リンクは、前記ノード間のデータフローを表すこと、
    ユーザ入力に基づいて前記グループから選択された前記第1のデータセットオブジェクトを受信することであって、前記第1のデータセットオブジェクトは前記複数のモードを含み、各モードは、変換ロジック及び入力ポート又は出力ポートのうちの少なくとも1つを含む、受信すること、
    ユーザ入力に基づいて前記第1のデータセットオブジェクトに対して選択されたモードを受信すること、
    前記選択されたモードを受信した後、前記データフローグラフに前記第1のノードを生成することであって、前記第1のノードは、前記選択されたモードの変換ロジック、任意の入力ポート、及び任意の出力ポートを含むこと、
    リンクを使用して、前記第1のノードを前記データフローグラフ内の少なくとも1つのノードに接続すること、
    を含む、請求項1に記載の方法。
  3. 前記第1のデータセットオブジェクトは少なくとも1つのパラメータをさらに含み、前記第1のノードは前記パラメータの値をさらに含む、請求項2に記載の方法。
  4. 前記複数のモードのうちの第1のモードの前記変換ロジックは、データストアからデータレコードを読み取る変換ロジックを含む、請求項2に記載の方法。
  5. 前記複数のモードのうちの第2のモードの前記変換ロジックは、データレコードを前記データストアに書き込む変換ロジックを含む、請求項4に記載の方法。
  6. 前記第1のノードは、前記第1のデータセットオブジェクトを識別する情報を含む、請求項2に記載の方法。
  7. ユーザ入力に基づいて前記グループから選択された前記第1のデータセットオブジェクトを受信すること、
    複数のデータフローグラフを識別することであって、前記データフローグラフのそれぞれは、前記第1のデータセットオブジェクトを識別するノードを含むこと、
    をさらに含む、請求項1に記載の方法。
  8. 前記データセットオブジェクトの各モードは、ノード及び前記ノードを接続するリンクを含む別個のデータフローグラフで表され、前記リンクは前記ノード間のデータフローを表す、請求項1に記載の方法。
  9. 前記関連付けられたデータセットオブジェクトと前記関連付けられたノードとの間の関連付けを生成することは、
    前記第1のノードを含む前記データフローグラフを含む複数のデータフローグラフに対応するデータ構造にアクセスすることであって、各データフローグラフは、複数のノード及び前記ノードを接続するリンクを含み、前記ノードは変換ロジックを含み、前記リンクは前記ノード間のデータフローを表すこと、
    同じデータストアにアクセスする前記複数のデータフローグラフの複数のノードを識別することであって、少なくとも1つの識別されたノードは1つ又は複数のパラメータを含むこと、
    データセットオブジェクトを生成することであって、
    前記識別されたノードの前記変換ロジックに基づいて、前記生成されたデータセットオブジェクトの複数のモードを識別すること、
    前記識別されたノードに関連付けられたパラメータに基づいて、前記生成されたデータオブジェクトのパラメータを識別すること
    を含むこと、
    前記生成されたデータセットオブジェクトを前記グループに記憶すること、
    を含む、請求項1に記載の方法。
  10. 前記生成されたデータセットオブジェクトを識別する情報に基づいて、前記複数のノードのそれぞれを更新して、前記データストアにアクセスすることをさらに含む、請求項9に記載の方法。
  11. 同じデータストアにアクセスする前記複数のデータフローグラフの複数のノードを識別することは、
    前記複数のデータフローグラフのそれぞれを実行すること、
    前記データフローグラフの実行中、前記複数のデータフローグラフの前記ノードのパラメータに割り当てられたパラメータ値を記録すること、
    前記記録されたパラメータ値に基づいて前記複数のノードを識別すること、
    を含む、請求項9に記載の方法。
  12. グラフに基づくデータ処理のためにデータセットオブジェクトを管理するコンピュータプログラムを記憶するコンピュータ可読記憶媒体であって、前記コンピュータプログラムは、計算システムに、
    1つ又は複数のデータセットオブジェクトのグループをデータ記憶システムに記憶することであって、前記データセットオブジェクトのそれぞれは各データセットを表し、前記グループは第1のデータセットオブジェクトを含み、前記第1のデータセットオブジェクトは、データセットからデータレコードを読み取るように前記第1のデータセットオブジェクトを構成するデータソースモードと、前記データセットにデータレコードを書き込むように前記第1のデータセットオブジェクトを構成するデータシンクモードとを少なくとも含む複数のモードを含むこと、
    前記グループ内の前記第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの間の関連付けを生成することであって、前記第1のノードは、前記データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、前記第1のデータセットオブジェクトは、異なる変換ロジックが前記第1のノードで処理されるデータに適用される複数のモードを含み、前記第1のデータセットオブジェクトは、前記複数のモードのうちのあるモードにしたがって前記データフローグラフの前記第1のノードと対話すること
    を行わせる命令を含む、コンピュータ可読記憶媒体。
  13. グラフに基づくデータ処理のためにデータセットオブジェクトを管理する計算システムであって、
    1つ又は複数のデータセットオブジェクトのグループを記憶するデータ記憶システムであって、前記データセットオブジェクトのそれぞれは各データセットを表し、前記グループは第1のデータセットオブジェクトを含み、前記第1のデータセットオブジェクトは、データセットからデータレコードを読み取るように前記第1のデータセットオブジェクトを構成するデータソースモードと、前記データセットにデータレコードを書き込むように前記第1のデータセットオブジェクトを構成するデータシンクモードとを少なくとも含む複数のモードを含む、データ記憶システムと、
    前記データ記憶システムに結合され、前記グループ内の前記第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの間の関連付けを生成するように構成される少なくとも1つのプロセッサであって、前記第1のノードは、前記データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、前記第1のデータセットオブジェクトは、異なる変換ロジックが前記第1のノードで処理されるデータに適用される複数のモードを含み、前記第1のデータセットオブジェクトは、前記複数のモードのうちのあるモードにしたがって前記データフローグラフの前記第1のノードと対話する、少なくとも1つのプロセッサと、
    を含む、計算システム。
  14. グラフに基づくデータ処理のためにデータセットオブジェクトを管理する計算システムであって、
    1つ又は複数のデータセットオブジェクトのグループを記憶する手段であって、前記データセットオブジェクトのそれぞれは各データセットを表し、前記グループは第1のデータセットオブジェクトを含み、前記第1のデータセットオブジェクトは、データセットからデータレコードを読み取るように前記第1のデータセットオブジェクトを構成するデータソースモードと、前記データセットにデータレコードを書き込むように前記第1のデータセットオブジェクトを構成するデータシンクモードとを少なくとも含む複数のモードを含む、手段と、
    前記グループ内の前記第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの間の関連付けを生成する手段であって、前記第1のノードは、前記データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、前記第1のデータセットオブジェクトは、異なる変換ロジックが前記第1のノードで処理されるデータに適用される複数のモードを含み、前記第1のデータセットオブジェクトは、前記複数のモードのうちのあるモードにしたがって前記データフローグラフの前記第1のノードと対話する、手段と、
    を含む、計算システム。
  15. 前記関連付けられたデータセットオブジェクトと前記関連付けられたノードとの間の関連付けを生成することは、
    前記データフローグラフに対応するデータ構造にアクセスすることであって、前記データフローグラフは、前記第1のノードを含む複数のノード及び前記ノードを接続するリンクを含み、前記リンクは、前記ノード間のデータフローを表すこと、
    ユーザ入力に基づいて前記グループから選択された前記第1のデータセットオブジェクトを受信することであって、前記第1のデータセットオブジェクトは前記複数のモードを含み、各モードは、変換ロジック及び入力ポート又は出力ポートのうちの少なくとも1つを含む、受信すること、
    ユーザ入力に基づいて前記第1のデータセットオブジェクトに対して選択されたモードを受信すること、
    前記選択されたモードを受信した後、前記データフローグラフに前記第1のノードを生成することであって、前記第1のノードは、前記選択されたモードの変換ロジック、任意の入力ポート、及び任意の出力ポートを含むこと、
    リンクを使用して、前記第1のノードを前記データフローグラフ内の少なくとも1つのノードに接続すること、
    を含む、請求項12に記載のコンピュータ可読記憶媒体。
  16. 前記第1のデータセットオブジェクトは少なくとも1つのパラメータをさらに含み、前記第1のノードは前記パラメータの値をさらに含む、請求項15に記載のコンピュータ可読記憶媒体。
  17. 前記複数のモードのうちの第1のモードの前記変換ロジックは、データストアからデータレコードを読み取る変換ロジックを含む、請求項15に記載のコンピュータ可読記憶媒体。
  18. 前記複数のモードのうちの第2のモードの前記変換ロジックは、データレコードを前記データストアに書き込む変換ロジックを含む、請求項17に記載のコンピュータ可読記憶媒体。
  19. 前記第1のノードは、前記第1のデータセットオブジェクトを識別する情報を含む、請求項15に記載のコンピュータ可読記憶媒体。
  20. 前記コンピュータプログラムは、前記計算システムに、
    ユーザ入力に基づいて前記グループから選択された前記第1のデータセットオブジェクトを受信すること、
    複数のデータフローグラフを識別することであって、前記データフローグラフのそれぞれは、前記第1のデータセットオブジェクトを識別するノードを含むこと、
    を行わせる命令をさらに含む、請求項12に記載のコンピュータ可読記憶媒体。
  21. 前記データセットオブジェクトの各モードは、ノード及び前記ノードを接続するリンクを含む別個のデータフローグラフで表され、前記リンクは前記ノード間のデータフローを表す、請求項12に記載のコンピュータ可読記憶媒体。
  22. 前記関連付けられたデータセットオブジェクトと前記関連付けられたノードとの間の関連付けを生成することは、
    前記第1のノードを含む前記データフローグラフを含む複数のデータフローグラフに対応するデータ構造にアクセスすることであって、各データフローグラフは、複数のノード及び前記ノードを接続するリンクを含み、前記ノードは変換ロジックを含み、前記リンクは前記ノード間のデータフローを表すこと、
    同じデータストアにアクセスする前記複数のデータフローグラフの複数のノードを識別することであって、少なくとも1つの識別されたノードは1つ又は複数のパラメータを含むこと、
    データセットオブジェクトを生成することであって、
    前記識別されたノードの前記変換ロジックに基づいて、前記生成されたデータセットオブジェクトの複数のモードを識別すること、
    前記識別されたノードに関連付けられたパラメータに基づいて、前記生成されたデータオブジェクトのパラメータを識別すること
    を含むこと、
    前記生成されたデータセットオブジェクトを前記グループに記憶すること、
    を含む、請求項12に記載のコンピュータ可読記憶媒体。
  23. 前記コンピュータプログラムは、前記計算システムに、
    前記生成されたデータセットオブジェクトを識別する情報に基づいて、前記複数のノードのそれぞれを更新して、前記データストアにアクセスすること
    を行わせる命令をさらに含む、請求項22に記載のコンピュータ可読記憶媒体。
  24. 同じデータストアにアクセスする前記複数のデータフローグラフの複数のノードを識別することは、
    前記複数のデータフローグラフのそれぞれを実行すること、
    前記データフローグラフの実行中、前記複数のデータフローグラフの前記ノードのパラメータに割り当てられたパラメータ値を記録すること、
    前記記録されたパラメータ値に基づいて前記複数のノードを識別すること、
    を含む、請求項22に記載のコンピュータ可読記憶媒体。
  25. 前記関連付けられたデータセットオブジェクトと前記関連付けられたノードとの間の関連付けを生成することは、
    前記データフローグラフに対応するデータ構造にアクセスすることであって、前記データフローグラフは、前記第1のノードを含む複数のノード及び前記ノードを接続するリンクを含み、前記リンクは、前記ノード間のデータフローを表すこと、
    ユーザ入力に基づいて前記グループから選択された前記第1のデータセットオブジェクトを受信することであって、前記第1のデータセットオブジェクトは前記複数のモードを含み、各モードは、変換ロジック及び入力ポート又は出力ポートのうちの少なくとも1つを含む、受信すること、
    ユーザ入力に基づいて前記第1のデータセットオブジェクトに対して選択されたモードを受信すること、
    前記選択されたモードを受信した後、前記データフローグラフに前記第1のノードを生成することであって、前記第1のノードは、前記選択されたモードの変換ロジック、任意の入力ポート、及び任意の出力ポートを含むこと、
    リンクを使用して、前記第1のノードを前記データフローグラフ内の少なくとも1つのノードに接続すること、
    を含む、請求項13に記載の計算システム。
  26. 前記第1のデータセットオブジェクトは少なくとも1つのパラメータをさらに含み、前記第1のノードは前記パラメータの値をさらに含む、請求項25に記載の計算システム。
  27. 前記複数のモードのうちの第1のモードの前記変換ロジックは、データストアからデータレコードを読み取る変換ロジックを含む、請求項25に記載の計算システム。
  28. 前記複数のモードのうちの第2のモードの前記変換ロジックは、データレコードを前記データストアに書き込む変換ロジックを含む、請求項27に記載の計算システム。
  29. 前記第1のノードは、前記第1のデータセットオブジェクトを識別する情報を含む、請求項25に記載の計算システム。
  30. 前記少なくとも1つのプロセッサは、
    ユーザ入力に基づいて前記グループから選択された前記第1のデータセットオブジェクトを受信すること、
    複数のデータフローグラフを識別することであって、前記データフローグラフのそれぞれは、前記第1のデータセットオブジェクトを識別するノードを含むこと、
    を行うようにさらに構成される、請求項13に記載の計算システム。
  31. 前記データセットオブジェクトの各モードは、ノード及び前記ノードを接続するリンクを含む別個のデータフローグラフで表され、前記リンクは前記ノード間のデータフローを表す、請求項13に記載の計算システム。
  32. 前記関連付けられたデータセットオブジェクトと前記関連付けられたノードとの間の関連付けを生成することは、
    前記第1のノードを含む前記データフローグラフを含む複数のデータフローグラフに対応するデータ構造にアクセスすることであって、各データフローグラフは、複数のノード及び前記ノードを接続するリンクを含み、前記ノードは変換ロジックを含み、前記リンクは前記ノード間のデータフローを表すこと、
    同じデータストアにアクセスする前記複数のデータフローグラフの複数のノードを識別することであって、少なくとも1つの識別されたノードは1つ又は複数のパラメータを含むこと、
    データセットオブジェクトを生成することであって、
    前記識別されたノードの前記変換ロジックに基づいて、前記生成されたデータセットオブジェクトの複数のモードを識別すること、
    前記識別されたノードに関連付けられたパラメータに基づいて、前記生成されたデータオブジェクトのパラメータを識別すること
    を含むこと、
    前記生成されたデータセットオブジェクトを前記グループに記憶すること、
    を含む、請求項13に記載の計算システム。
  33. 前記少なくとも1つのプロセッサは、
    前記生成されたデータセットオブジェクトを識別する情報に基づいて、前記複数のノードのそれぞれを更新して、前記データストアにアクセスすること
    を行うようにさらに構成される、請求項32に記載の計算システム。
  34. 同じデータストアにアクセスする前記複数のデータフローグラフの複数のノードを識別することは、
    前記複数のデータフローグラフのそれぞれを実行すること、
    前記データフローグラフの実行中、前記複数のデータフローグラフの前記ノードのパラメータに割り当てられたパラメータ値を記録すること、
    前記記録されたパラメータ値に基づいて前記複数のノードを識別すること、
    を含む、請求項32に記載の計算システム。
  35. 前記関連付けられたデータセットオブジェクトと前記関連付けられたノードとの間の関連付けを生成することは、
    前記データフローグラフに対応するデータ構造にアクセスすることであって、前記データフローグラフは、前記第1のノードを含む複数のノード及び前記ノードを接続するリンクを含み、前記リンクは、前記ノード間のデータフローを表すこと、
    ユーザ入力に基づいて前記グループから選択された前記第1のデータセットオブジェクトを受信することであって、前記第1のデータセットオブジェクトは前記複数のモードを含み、各モードは、変換ロジック及び入力ポート又は出力ポートのうちの少なくとも1つを含む、受信すること、
    ユーザ入力に基づいて前記第1のデータセットオブジェクトに対して選択されたモードを受信すること、
    前記選択されたモードを受信した後、前記データフローグラフに前記第1のノードを生成することであって、前記第1のノードは、前記選択されたモードの変換ロジック、任意の入力ポート、及び任意の出力ポートを含むこと、
    リンクを使用して、前記第1のノードを前記データフローグラフ内の少なくとも1つのノードに接続すること、
    を含む、請求項14に記載の計算システム。
  36. 前記第1のデータセットオブジェクトは少なくとも1つのパラメータをさらに含み、前記第1のノードは前記パラメータの値をさらに含む、請求項35に記載の計算システム。
  37. 前記複数のモードのうちの第1のモードの前記変換ロジックは、データストアからデータレコードを読み取る変換ロジックを含む、請求項35に記載の計算システム。
  38. 前記複数のモードのうちの第2のモードの前記変換ロジックは、データレコードを前記データストアに書き込む変換ロジックを含む、請求項37に記載の計算システム。
  39. 前記第1のノードは、前記第1のデータセットオブジェクトを識別する情報を含む、請求項35に記載の計算システム。
  40. ユーザ入力に基づいて前記グループから選択された前記第1のデータセットオブジェクトを受信する手段と、
    複数のデータフローグラフを識別する手段であって、前記データフローグラフのそれぞれは、前記第1のデータセットオブジェクトを識別するノードを含む、手段と、
    をさらに含む、請求項14に記載の計算システム。
  41. 前記データセットオブジェクトの各モードは、ノード及び前記ノードを接続するリンクを含む別個のデータフローグラフで表され、前記リンクは前記ノード間のデータフローを表す、請求項14に記載の計算システム。
  42. 前記関連付けられたデータセットオブジェクトと前記関連付けられたノードとの間の関連付けを生成することは、
    前記第1のノードを含む前記データフローグラフを含む複数のデータフローグラフに対応するデータ構造にアクセスすることであって、各データフローグラフは、複数のノード及び前記ノードを接続するリンクを含み、前記ノードは変換ロジックを含み、前記リンクは前記ノード間のデータフローを表すこと、
    同じデータストアにアクセスする前記複数のデータフローグラフの複数のノードを識別することであって、少なくとも1つの識別されたノードは1つ又は複数のパラメータを含むこと、
    データセットオブジェクトを生成することであって、
    前記識別されたノードの前記変換ロジックに基づいて、前記生成されたデータセットオブジェクトの複数のモードを識別すること、
    前記識別されたノードに関連付けられたパラメータに基づいて、前記生成されたデータオブジェクトのパラメータを識別すること
    を含むこと、
    前記生成されたデータセットオブジェクトを前記グループに記憶すること、
    を含む、請求項14に記載の計算システム。
  43. 前記生成されたデータセットオブジェクトを識別する情報に基づいて、前記複数のノードのそれぞれを更新して、前記データストアにアクセスする手段をさらに含む、請求項42に記載の計算システム。
  44. 同じデータストアにアクセスする前記複数のデータフローグラフの複数のノードを識別することは、
    前記複数のデータフローグラフのそれぞれを実行すること、
    前記データフローグラフの実行中、前記複数のデータフローグラフの前記ノードのパラメータに割り当てられたパラメータ値を記録すること、
    前記記録されたパラメータ値に基づいて前記複数のノードを識別すること、
    を含む、請求項42に記載の計算システム。
JP2013535149A 2010-10-25 2011-10-25 コンピュータプログラムを表すデータフローグラフ内のデータセットオブジェクトの管理 Active JP5902185B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US40643810P 2010-10-25 2010-10-25
US61/406,438 2010-10-25
PCT/US2011/057623 WO2012061109A1 (en) 2010-10-25 2011-10-25 Managing data set objects in a dataflow graph that represents a computer program

Publications (3)

Publication Number Publication Date
JP2013541784A JP2013541784A (ja) 2013-11-14
JP2013541784A5 JP2013541784A5 (ja) 2014-12-11
JP5902185B2 true JP5902185B2 (ja) 2016-04-13

Family

ID=44947203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013535149A Active JP5902185B2 (ja) 2010-10-25 2011-10-25 コンピュータプログラムを表すデータフローグラフ内のデータセットオブジェクトの管理

Country Status (8)

Country Link
US (1) US9977659B2 (ja)
EP (1) EP2633398B1 (ja)
JP (1) JP5902185B2 (ja)
KR (1) KR101911793B1 (ja)
CN (1) CN103180826B (ja)
AU (1) AU2011323773B2 (ja)
CA (1) CA2814835C (ja)
WO (1) WO2012061109A1 (ja)

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150042866A (ko) 2008-12-02 2015-04-21 아브 이니티오 테크놀로지 엘엘시 데이터 관리 시스템 내의 데이터 집합의 맵핑 인스턴스
CN102317911B (zh) 2009-02-13 2016-04-06 起元技术有限责任公司 管理任务执行
AU2010295547B2 (en) 2009-09-16 2015-05-07 Ab Initio Technology Llc Mapping dataset elements
CN107066241B (zh) 2010-06-15 2021-03-09 起元技术有限责任公司 用于动态加载基于图的计算的系统和方法
AU2012205339B2 (en) 2011-01-14 2015-12-03 Ab Initio Technology Llc Managing changes to collections of data
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
US9171169B2 (en) * 2012-12-14 2015-10-27 Salesforce.Com, Inc. System and method for dynamic analysis wrapper objects for application dataflow
US9177137B2 (en) 2012-12-14 2015-11-03 Salesforce.Com, Inc. System and method for dynamic analysis tracking object associations for application dataflow
US9170908B2 (en) 2012-12-14 2015-10-27 Salesforce.Com, Inc. System and method for dynamic analysis bytecode injection for application dataflow
US9171150B2 (en) * 2012-12-14 2015-10-27 Salesforce.Com, Inc. System and method for dynamic analysis tracking objects for application dataflow
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US20130232433A1 (en) * 2013-02-01 2013-09-05 Concurix Corporation Controlling Application Tracing using Dynamic Visualization
US9323863B2 (en) 2013-02-01 2016-04-26 Microsoft Technology Licensing, Llc Highlighting of time series data on force directed graph
US9256969B2 (en) 2013-02-01 2016-02-09 Microsoft Technology Licensing, Llc Transformation function insertion for dynamically displayed tracer data
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US8843901B2 (en) 2013-02-12 2014-09-23 Concurix Corporation Cost analysis for selecting trace objectives
US9811233B2 (en) * 2013-02-12 2017-11-07 Ab Initio Technology Llc Building applications for configuring processes
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US9021447B2 (en) 2013-02-12 2015-04-28 Concurix Corporation Application tracing by distributed objectives
US20130219372A1 (en) 2013-03-15 2013-08-22 Concurix Corporation Runtime Settings Derived from Relationships Identified in Tracer Data
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
US8990777B2 (en) 2013-05-21 2015-03-24 Concurix Corporation Interactive graph for navigating and monitoring execution of application code
US9734040B2 (en) 2013-05-21 2017-08-15 Microsoft Technology Licensing, Llc Animated highlights in a graph representing an application
US10740396B2 (en) * 2013-05-24 2020-08-11 Sap Se Representing enterprise data in a knowledge graph
WO2014209260A1 (en) * 2013-06-24 2014-12-31 Hewlett-Packard Development Company, L.P. Processing a data flow graph of a hybrid flow
US9158599B2 (en) 2013-06-27 2015-10-13 Sap Se Programming framework for applications
US9280841B2 (en) 2013-07-24 2016-03-08 Microsoft Technology Licensing, Llc Event chain visualization of performance data
US9984482B2 (en) * 2013-08-23 2018-05-29 Ab Initio Technology Llc Graphical user interface having enhanced tool for connecting components
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
WO2015071778A1 (en) 2013-11-13 2015-05-21 Concurix Corporation Application execution path tracing with configurable origin definition
EP3069267A4 (en) 2013-11-13 2017-09-27 Microsoft Technology Licensing, LLC Software component recommendation based on multiple trace runs
CN106170762B (zh) * 2013-12-05 2020-01-14 起元技术有限责任公司 管理包括子图的数据流图所用的接口
EP3080691B1 (en) 2013-12-13 2021-10-06 AB Initio Technology LLC Dynamically determing a mode of a data processing application
EP3084626A4 (en) * 2013-12-17 2016-12-28 Atigeo Llc AUTOMATED EXPERIMENTAL PLATFORM
US9575639B2 (en) * 2014-02-27 2017-02-21 Ab Initio Technology Llc Compound controls
AU2015289441B2 (en) 2014-07-18 2019-06-27 Ab Initio Technology Llc. Managing parameter sets
CN106716342B (zh) * 2014-07-24 2020-02-28 起元科技有限公司 管理数据沿袭信息的方法和系统及存储介质
WO2016036826A1 (en) 2014-09-02 2016-03-10 Ab Initio Technology Llc Compiling graph-based program specifications
SG11201701662XA (en) * 2014-09-02 2017-04-27 Ab Initio Technology Llc Visually specifying subsets of components in graph-based programs through user interactions
CA2959627C (en) * 2014-09-02 2020-06-16 Ab Initio Technology Llc Executing graph-based program specifications
US9626393B2 (en) 2014-09-10 2017-04-18 Ab Initio Technology Llc Conditional validation rules
US10055333B2 (en) * 2014-11-05 2018-08-21 Ab Initio Technology Llc Debugging a graph
US9998341B2 (en) 2015-01-09 2018-06-12 Lg Cns Co., Ltd. Method of constructing data collector, server performing the same and storage medium for the same
KR102001749B1 (ko) 2015-02-11 2019-07-18 아브 이니티오 테크놀로지 엘엘시 필터링 데이터 계통 다이어그램
SG11201706228UA (en) 2015-02-11 2017-08-30 Ab Initio Technology Llc Filtering data lineage diagrams
CN110149801A (zh) * 2015-05-05 2019-08-20 华为技术有限公司 用于在处理系统中进行数据流图转换的系统和方法
US10657134B2 (en) 2015-08-05 2020-05-19 Ab Initio Technology Llc Selecting queries for execution on a stream of real-time data
US10212056B2 (en) * 2015-11-17 2019-02-19 Microsoft Technology Licensing, Llc Graph node with automatically adjusting input ports
SG11201803929YA (en) 2015-12-21 2018-06-28 Ab Initio Technology Llc Sub-graph interface generation
KR102092721B1 (ko) * 2016-03-23 2020-04-23 포그혼 시스템스 인코포레이티드 실시간 데이터플로우 프로그래밍에서 패턴 구동형 반응의 구성
KR102549994B1 (ko) * 2017-03-29 2023-06-29 아브 이니티오 테크놀로지 엘엘시 가변 레벨 병렬화를 사용하여 데이터 처리 동작을 수행하기 위한 시스템 및 방법
CN107632890B (zh) * 2017-08-10 2021-03-02 北京中科睿芯科技集团有限公司 一种数据流体系结构中动态节点分配方法和系统
US10949414B2 (en) * 2017-10-31 2021-03-16 Ab Initio Technology Llc Managing a computing cluster interface
US11785104B2 (en) 2017-11-27 2023-10-10 Lacework, Inc. Learning from similar cloud deployments
US12058160B1 (en) 2017-11-22 2024-08-06 Lacework, Inc. Generating computer code for remediating detected events
US11979422B1 (en) 2017-11-27 2024-05-07 Lacework, Inc. Elastic privileges in a secure access service edge
US12598205B1 (en) 2017-11-27 2026-04-07 Fortinet, Inc. Browser-based detection of data exfiltration
US12425430B1 (en) 2017-11-27 2025-09-23 Fortinet, Inc. Runtime workload data-based modification of permissions for an entity
US12034754B2 (en) 2017-11-27 2024-07-09 Lacework, Inc. Using static analysis for vulnerability detection
US20220232024A1 (en) 2017-11-27 2022-07-21 Lacework, Inc. Detecting deviations from typical user behavior
US12401669B1 (en) 2017-11-27 2025-08-26 Fortinet, Inc. Container vulnerability management by a data platform
US12483576B1 (en) 2017-11-27 2025-11-25 Fortinet, Inc. Compute resource risk mitigation by a data platform
US11765249B2 (en) 2017-11-27 2023-09-19 Lacework, Inc. Facilitating developer efficiency and application quality
US12375573B1 (en) 2017-11-27 2025-07-29 Fortinet, Inc. Container event monitoring using kernel space communication
US12580934B1 (en) 2017-11-27 2026-03-17 Fortinet, Inc. Machine learning model for managing security threat alerts for a compute environment
US12363148B1 (en) 2017-11-27 2025-07-15 Fortinet, Inc. Operational adjustment for an agent collecting data from a cloud compute environment monitored by a data platform
US12368745B1 (en) 2017-11-27 2025-07-22 Fortinet, Inc. Using natural language queries to conduct an investigation of a monitored system
US12537837B2 (en) 2017-11-27 2026-01-27 Fortinet, Inc. Cloud resource risk scenario assessment and remediation
US12500911B1 (en) 2017-11-27 2025-12-16 Fortinet, Inc. Expanding data collection from a monitored cloud environment
US12355787B1 (en) 2017-11-27 2025-07-08 Fortinet, Inc. Interdependence of agentless and agent-based operations by way of a data platform
US12513221B1 (en) 2017-11-27 2025-12-30 Fortinet, Inc. Anomaly-based on-demand collection of data by an agent for a data platform
US12489770B1 (en) 2017-11-27 2025-12-02 Fortinet, Inc. Agent-based monitoring of a registry space of a compute asset within a compute environment
US12615271B1 (en) 2017-11-27 2026-04-28 Fortinet, Inc. Compute environment security monitoring using a live state snapshot of a compute resource
US12407701B1 (en) 2017-11-27 2025-09-02 Fortinet, Inc. Community-based generation of policies for a data platform
US12368746B1 (en) 2017-11-27 2025-07-22 Fortinet, Inc. Modular agentless scanning of cloud workloads
US12335286B1 (en) 2017-11-27 2025-06-17 Fortinet, Inc. Compute environment security monitoring using data collected from a sub-kernel space
US12470578B1 (en) 2017-11-27 2025-11-11 Fortinet, Inc. Containerized agent for monitoring container activity in a compute environment
US12563064B2 (en) 2017-11-27 2026-02-24 Fortinet, Inc. Distinguishing user-initiated activity from application-initiated activity
US12335348B1 (en) 2017-11-27 2025-06-17 Fortinet, Inc. Optimizing data warehouse utilization by a data ingestion pipeline
US11792284B1 (en) 2017-11-27 2023-10-17 Lacework, Inc. Using data transformations for monitoring a cloud compute environment
US12580936B1 (en) 2017-11-27 2026-03-17 Fortinet, Inc. Absolute risk score generation by a data platform
US12549577B1 (en) 2017-11-27 2026-02-10 Fortinet, Inc. Tracking and relating discovered security issues over time
US12457231B1 (en) 2017-11-27 2025-10-28 Fortinet, Inc. Initiating and utilizing pedigree for content
US12470577B1 (en) 2017-11-27 2025-11-11 Fortinet, Inc. Kernel-based monitoring of container activity in a compute environment
US12418555B1 (en) 2017-11-27 2025-09-16 Fortinet Inc. Guiding query creation for a generative artificial intelligence (AI)-enabled assistant
US10425437B1 (en) 2017-11-27 2019-09-24 Lacework Inc. Extended user session tracking
US12407702B1 (en) 2017-11-27 2025-09-02 Fortinet, Inc. Gathering and presenting information related to common vulnerabilities and exposures
US12355793B1 (en) 2017-11-27 2025-07-08 Fortinet, Inc. Guided interactions with a natural language interface
US12341797B1 (en) 2017-11-27 2025-06-24 Fortinet, Inc. Composite events indicative of multifaceted security threats within a compute environment
US12613930B1 (en) 2017-11-27 2026-04-28 Fortinet, Inc. Ensuring exactly once data ingestion
US12425428B1 (en) 2017-11-27 2025-09-23 Fortinet, Inc. Activity monitoring of a cloud compute environment based on container orchestration data
US12445474B1 (en) 2017-11-27 2025-10-14 Fortinet, Inc. Attack path risk mitigation by a data platform
US12537836B1 (en) 2017-11-27 2026-01-27 Fortinet, Inc. Risk scoring based on entity correlation
US12309185B1 (en) 2017-11-27 2025-05-20 Fortinet, Inc. Architecture for a generative artificial intelligence (AI)-enabled assistant
US12463995B1 (en) 2017-11-27 2025-11-04 Fortinet, Inc. Tiered risk engine with user cohorts
US12267345B1 (en) 2017-11-27 2025-04-01 Fortinet, Inc. Using user feedback for attack path analysis in an anomaly detection framework
US12464003B1 (en) 2017-11-27 2025-11-04 Fortinet, Inc. Capturing and using application-level data to monitor a compute environment
US12355626B1 (en) 2017-11-27 2025-07-08 Fortinet, Inc. Tracking infrastructure as code (IaC) asset lifecycles
US12323449B1 (en) 2017-11-27 2025-06-03 Fortinet, Inc. Code analysis feedback loop for code created using generative artificial intelligence (‘AI’)
US12587553B1 (en) 2017-11-27 2026-03-24 Fortinet, Inc. Notification-based file integrity monitoring of a compute environment
US12549575B1 (en) 2017-11-27 2026-02-10 Fortinet, Inc. Determining user risk based on user posture and activity
US12095794B1 (en) 2017-11-27 2024-09-17 Lacework, Inc. Universal cloud data ingestion for stream processing
US12580935B1 (en) 2017-11-27 2026-03-17 Fortinet, Inc. Scoring of events in an edge-based data platform
US12348545B1 (en) 2017-11-27 2025-07-01 Fortinet, Inc. Customizable generative artificial intelligence (‘AI’) assistant
US12463997B1 (en) 2017-11-27 2025-11-04 Fortinet, Inc. Attack path risk mitigation by a data platform using static and runtime data
US12095796B1 (en) 2017-11-27 2024-09-17 Lacework, Inc. Instruction-level threat assessment
US12463996B1 (en) 2017-11-27 2025-11-04 Fortinet, Inc. Risk engine that utilizes key performance indicators
US12537884B1 (en) 2017-11-27 2026-01-27 Fortinet, Inc. Generation of threat intelligence based on cross-customer data
US12021888B1 (en) 2017-11-27 2024-06-25 Lacework, Inc. Cloud infrastructure entitlement management by a data platform
US12537839B1 (en) 2017-11-27 2026-01-27 Fortinet, Inc. Identification by a data platform of secrets misuse by cloud workloads
US12556548B1 (en) 2017-11-27 2026-02-17 Fortinet, Inc. Determining directions of connections in monitoring a cloud environment
US12563071B1 (en) 2017-11-27 2026-02-24 Fortinet, Inc. Using generative artificial intelligence to interface with a knowledge graph
US12405849B1 (en) 2017-11-27 2025-09-02 Fortinet, Inc. Transitive identity usage tracking by a data platform
US12495052B1 (en) 2017-11-27 2025-12-09 Fortinet, Inc. Detecting package execution for threat assessments
US12126643B1 (en) 2017-11-27 2024-10-22 Fortinet, Inc. Leveraging generative artificial intelligence (‘AI’) for securing a monitored deployment
US12418552B1 (en) 2017-11-27 2025-09-16 Fortinet, Inc. Virtual data streams in a data streaming platform
US12130878B1 (en) 2017-11-27 2024-10-29 Fortinet, Inc. Deduplication of monitored communications data in a cloud environment
US12500912B1 (en) 2017-11-27 2025-12-16 Fortinet, Inc. Semantic layer for data platform
US12563060B1 (en) 2017-11-27 2026-02-24 Fortinet, Inc. Cloud compliance monitoring for a cloud compute environment managed by a container orchestrator
US12537840B1 (en) 2017-11-27 2026-01-27 Fortinet, Inc. Security graph interface for monitoring a compute environment
US11818156B1 (en) 2017-11-27 2023-11-14 Lacework, Inc. Data lake-enabled security platform
US12500910B1 (en) 2017-11-27 2025-12-16 Fortinet, Inc. Interactive analysis of multifaceted security threats within a compute environment
DE102018100895A1 (de) * 2018-01-16 2019-07-18 Zoe Life Technologies Holding AG Währungseinheiten für Wissen
US12556559B1 (en) 2018-03-30 2026-02-17 Fortinet, Inc. Providing generative artificial intelligence (AI)-enabled notebook interfaces for a security framework
US12032631B2 (en) 2018-05-30 2024-07-09 Ab Initio Technology Llc Systems and methods for dataflow graph optimization
US11055308B2 (en) * 2018-08-31 2021-07-06 Open Text Holdings, Inc. Systems and methods for integrated dynamic runtime ETL tool and scalable analytics server platform
US11960609B2 (en) * 2019-10-21 2024-04-16 Snyk Limited Package dependencies representation
US11256759B1 (en) 2019-12-23 2022-02-22 Lacework Inc. Hierarchical graph analysis
US11201955B1 (en) 2019-12-23 2021-12-14 Lacework Inc. Agent networking in a containerized environment
US11188571B1 (en) 2019-12-23 2021-11-30 Lacework Inc. Pod communication graph
US10873592B1 (en) 2019-12-23 2020-12-22 Lacework Inc. Kubernetes launch graph
JP7629464B2 (ja) * 2020-01-28 2025-02-13 アビニシオ テクノロジー エルエルシー 計算グラフを生成するためのエディタ
US11210285B2 (en) 2020-03-06 2021-12-28 Ab Initio Technology Llc Generation of optimized logic from a schema
CN112099788B (zh) * 2020-09-07 2024-06-18 北京红山信息科技研究院有限公司 一种可视化数据开发方法、系统、服务器和存储介质
JP7832951B2 (ja) 2021-01-31 2026-03-18 アビニシオ テクノロジー エルエルシー データ処理システム用のデータセットマルチプレクサ
MX2023008982A (es) 2021-01-31 2023-12-04 Ab Initio Technology Llc Sistema de procesamiento de datos con manipulacion de grupos de conjuntos de datos logicos.
US11461297B1 (en) 2021-06-09 2022-10-04 T-Mobile Usa, Inc. Ensuring database integrity using a data flow in a graph, such as for use by a wireless telecommunications service provider
WO2023056003A1 (en) 2021-09-30 2023-04-06 Ab Initio Technology Llc Systems and methods for performing data processing operations using variable level parallelism
CN119948476A (zh) 2022-08-23 2025-05-06 起元技术有限责任公司 实施元数据
US12443615B2 (en) * 2022-08-23 2025-10-14 Ab Initio Technology Llc Operationalizing metadata
KR102934628B1 (ko) * 2022-10-28 2026-03-05 한국환경연구원 환경영향평가 지원 시스템 및 방법
SE2350123A1 (en) * 2023-02-10 2024-08-11 Mtek Ind Ab System integration platform
WO2025117635A1 (en) 2023-12-01 2025-06-05 Ab Initio Technology Llc Dataset multiplexer with dataset resolver for data processing system

Family Cites Families (107)

* 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 組合せモデルの編集システム
JP3079881B2 (ja) 1993-08-10 2000-08-21 三菱自動車工業株式会社 道路交通状況推定方法および車両運転特性制御方法
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
US6948154B1 (en) 1999-03-22 2005-09-20 Oregon State University Methodology for testing spreadsheets
US7120638B1 (en) 1999-09-21 2006-10-10 International Business Machines Corporation Method, system, program, and data structure for cleaning a database table
US6633875B2 (en) 1999-12-30 2003-10-14 Shaun Michael Brady Computer database system and method for collecting and reporting real estate property and loan performance information over a computer driven network
GB2358072B (en) 2000-01-07 2004-01-28 Mitel Corp Tabular range editing mechanism
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US6708186B1 (en) 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US7143076B2 (en) 2000-12-12 2006-11-28 Sap Aktiengesellschaft Method and apparatus for transforming data
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
US7117430B2 (en) 2001-02-27 2006-10-03 Microsoft Corporation Spreadsheet error checker
US7614036B2 (en) 2001-03-22 2009-11-03 Robert D Bjornson Method and system for dataflow creation and execution
US7853553B2 (en) 2001-03-26 2010-12-14 Siebel Systems, Inc. Engine for converting data from a source format to a destination format using user defined mappings
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
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
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
KR100899850B1 (ko) 2003-09-15 2009-05-27 아브 이니티오 소프트웨어 엘엘시 데이터 프로파일링
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
US20050187984A1 (en) 2004-02-20 2005-08-25 Tianlong Chen Data driven database management system and method
US8165853B2 (en) 2004-04-16 2012-04-24 Knowledgebase Marketing, Inc. Dimension reduction in predictive model development
JP4275013B2 (ja) 2004-06-21 2009-06-10 三洋電機株式会社 データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
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
US20060200753A1 (en) 2005-03-07 2006-09-07 Rishi Bhatia System and method for providing data manipulation as a web service
JP4550641B2 (ja) 2005-03-30 2010-09-22 大陽日酸エンジニアリング株式会社 データ照合装置及び方法
US8255363B2 (en) 2005-06-08 2012-08-28 rPath Methods, systems, and computer program products for provisioning software using dynamic tags to identify and process files
US8630917B2 (en) 2005-06-09 2014-01-14 At&T Intellectual Property Ii, L.P. Arrangement for guiding user design of comprehensive product solution using on-the-fly data validation
US7716630B2 (en) * 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7877350B2 (en) * 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US7464105B2 (en) 2005-07-06 2008-12-09 International Business Machines Corporation Method for performing semi-automatic dataset maintenance
US7870162B2 (en) 2005-07-29 2011-01-11 Sap Ag Method for generating properly formed expressions
US20070050750A1 (en) 2005-08-31 2007-03-01 Microsoft Corporation Extensible data-driven setup application for operating system
EP1941432A4 (en) 2005-10-25 2011-04-20 Angoss Software Corp 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
US7689565B1 (en) 2006-06-28 2010-03-30 Emc Corporation Methods and apparatus for synchronizing network management data
CN101501678B (zh) 2006-08-10 2013-10-16 起元科技有限公司 在基于图的计算中分配服务
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
US7890509B1 (en) 2006-12-05 2011-02-15 First American Real Estate Solutions Llc Parcel data acquisition and processing
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
US9430552B2 (en) 2007-03-16 2016-08-30 Microsoft Technology Licensing, Llc View maintenance rules for an update pipeline of an object-relational mapping (ORM) platform
US20080243765A1 (en) 2007-03-29 2008-10-02 Ariel Fuxman Method for generating nested mapping specifications in a schema mapping formalism
US7603368B2 (en) 2007-03-30 2009-10-13 Fmr Llc Mapping data on a network
US8069129B2 (en) * 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US8032404B2 (en) 2007-06-13 2011-10-04 International Business Machines Corporation Method and system for estimating financial benefits of packaged application service projects
US8694518B2 (en) 2007-06-14 2014-04-08 Colorquick, L.L.C. Method and apparatus for database mapping
US8103704B2 (en) 2007-07-31 2012-01-24 ePrentise, LLC Method for database consolidation and database separation
US7912264B2 (en) 2007-08-03 2011-03-22 Siemens Medical Solutions Usa, Inc. Multi-volume rendering of single mode data in medical diagnostic imaging
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
JP5453273B2 (ja) 2007-09-20 2014-03-26 アビニシオ テクノロジー エルエルシー グラフベース計算におけるデータフロー管理
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
WO2010002919A1 (en) 2008-06-30 2010-01-07 Ab Initio Software Llc Data logging in graph-based computations
US8082228B2 (en) 2008-10-31 2011-12-20 Netapp, Inc. Remote office duplication
CA3042068C (en) * 2008-11-12 2022-09-20 Ab Initio Technology Llc Managing and automatically linking data objects
KR20150042866A (ko) * 2008-12-02 2015-04-21 아브 이니티오 테크놀로지 엘엘시 데이터 관리 시스템 내의 데이터 집합의 맵핑 인스턴스
US8478706B2 (en) 2009-01-30 2013-07-02 Ab Initio Technology Llc Processing data using vector fields
EP2221733A1 (en) 2009-02-17 2010-08-25 AMADEUS sas Method allowing validation in a production database of new entered data prior to their release
US8935702B2 (en) * 2009-09-04 2015-01-13 International Business Machines Corporation Resource optimization for parallel data integration
AU2010295547B2 (en) 2009-09-16 2015-05-07 Ab Initio Technology Llc Mapping dataset elements
US9805015B2 (en) 2009-12-16 2017-10-31 Teradata Us, Inc. System and method for enhanced user interactions with a grid
US8555265B2 (en) * 2010-05-04 2013-10-08 Google Inc. Parallel processing of data
US8583664B2 (en) 2010-05-26 2013-11-12 Microsoft Corporation Exposing metadata relationships through filter interplay
US8732143B2 (en) 2010-08-27 2014-05-20 Microsoft Corporation Reducing locking during database transactions
US8949166B2 (en) 2010-12-16 2015-02-03 International Business Machines Corporation Creating and processing a data rule for data quality
AU2012205339B2 (en) 2011-01-14 2015-12-03 Ab Initio Technology Llc Managing changes to collections of data
US20120310904A1 (en) 2011-06-01 2012-12-06 International Business Machine Corporation Data validation and service
US20130166515A1 (en) 2011-12-22 2013-06-27 David Kung Generating validation rules for a data report based on profiling the data report in a data processing tool
US8516008B1 (en) 2012-05-18 2013-08-20 Splunk Inc. Flexible schema column store
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data

Also Published As

Publication number Publication date
WO2012061109A1 (en) 2012-05-10
KR20130130706A (ko) 2013-12-02
CN103180826B (zh) 2017-04-05
AU2011323773B2 (en) 2015-07-23
CA2814835A1 (en) 2012-05-10
JP2013541784A (ja) 2013-11-14
US20120102029A1 (en) 2012-04-26
KR101911793B1 (ko) 2018-10-25
CA2814835C (en) 2019-01-08
CN103180826A (zh) 2013-06-26
EP2633398B1 (en) 2020-05-27
AU2011323773A1 (en) 2013-04-11
EP2633398A1 (en) 2013-09-04
US9977659B2 (en) 2018-05-22

Similar Documents

Publication Publication Date Title
JP5902185B2 (ja) コンピュータプログラムを表すデータフローグラフ内のデータセットオブジェクトの管理
CN110023923B (zh) 生成数据变换工作流
CN115516443B (zh) 根据架构生成优化逻辑
JP5940560B2 (ja) データの集合体に対する変更の管理
JP6626823B2 (ja) サブグラフから構成されるデータフローグラフ用のインターフェースの管理
KR102186050B1 (ko) 소스 코드 번역
Görlach et al. Conventional workflow technology for scientific simulation
US8745577B2 (en) End to end automation of application deployment
EP3803571B1 (en) Updating executable graphs
JP2016511894A (ja) プロセスを構成するためのアプリケーションの構築
CN102656557A (zh) 自动化企业软件开发
AU2016219432A1 (en) Filtering data lineage diagrams
AU2016219421A1 (en) Filtering data lineage diagrams
US9244706B2 (en) Command line shell command generation based on schema
US8010572B1 (en) Kstore scenario simulator processor and XML file
HK1183722A (en) Managing data set objects in a dataflow graph that represents a computer program
HK1183722B (en) Managing data set objects in a dataflow graph that represents a computer program
US20240143487A1 (en) Secure testing of attachment functionality of objects
Shiyal Synapse spark
Panigyraki Integrating a graph database as a machine learning feature store registry
Kim et al. Guidelines for Architecture Design of Software Product Line
CN120872409A (zh) 面向risc-v架构内建函数的迁移方法及装置
Badhwar Hands-on Enterprise Application Development with Python: Design Data-intensive Application with Python 3
HK40040934A (en) Updating executable graphs
HK40040934B (en) Updating executable graphs

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141023

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160309

R150 Certificate of patent or registration of utility model

Ref document number: 5902185

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250