(57)【要約】【課題】  動的グラフ性能監視のための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む方法、システム、及び装置。【解決手段】  方法の１つは、各々が１つ以上のワーク要素を含む多数のワークユニットを受信することを含む。この方法は、第１のワークユニットの特性を判定することを含む。この方法は、判定した特性に基づいて、第１のデータフローグラフのコンポーネントによって、データ記憶システムに記憶されている多数の利用可能なデータフローグラフから第２のデータフローグラフを識別することを含む。この方法は、第２のデータフローグラフを用いて第１のワークユニットを処理することを含む。この方法は、処理に関連付けられた１つ以上の性能測定基準を確定することを含む。【選択図】  図２
2019179575.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータフローグラフが実行される、データ処理システムにおいてデータを処理するための方法であって、
各々が１つ以上のワーク要素を含む多数のワークユニットを受信することと、
第１のワークユニットの特性を判定することと、
前記判定した特性に基づいて、前記第１のデータフローグラフのコンポーネントによって、データ記憶システムに記憶されている多数の利用可能なデータフローグラフから第２のデータフローグラフを識別することと、
前記第２のデータフローグラフを用いて前記第１のワークユニットを処理することと、
前記処理に関連付けられた１つ以上の性能測定基準を確定することと、
を含む、方法。
【請求項２】
前記第２のデータフローグラフが前記第１のデータフローグラフとは無関係にコンパイルされている、請求項１に記載の方法。
【請求項３】
前記１つ以上の性能測定基準をメモリ内データ記憶に記憶することを更に含む、請求項１に記載の方法。
【請求項４】
前記記憶した１つ以上の性能測定基準を永続データ記憶に転送することを更に含む、請求項３に記載の方法。
【請求項５】
前記１つ以上の性能測定基準を以前に取得した性能測定基準と集約することを更に含む、請求項３に記載の方法。
【請求項６】
前記１つ以上の性能測定基準を集約することが、前記第２のデータフローグラフに関連付けられた識別子に基づいて前記１つ以上の性能測定基準を集約することを含む、請求項５に記載の方法。
【請求項７】
前記１つ以上の性能測定基準を集約することが、前記第１のデータフローグラフに関連付けられた識別子に基づいて前記１つ以上の性能測定基準を集約することを含む、請求項５に記載の方法。
【請求項８】
前記１つ以上の性能測定基準をユーザに表示することを更に含む、請求項１に記載の方法。
【請求項９】
データ処理システムにおいてデータを処理するためのコンピュータプログラムを記憶するコンピュータ読み取り可能記憶媒体であって、前記コンピュータプログラムが、
各々が１つ以上のワーク要素を含む多数のワークユニットを受信することと、
第１のワークユニットの特性を判定することと、
前記判定した特性に基づいて、前記第１のデータフローグラフのコンポーネントによって、データ記憶システムに記憶されている多数の利用可能なデータフローグラフから第２のデータフローグラフを識別することと、
前記第２のデータフローグラフを用いて前記第１のワークユニットを処理することと、
前記処理に関連付けられた１つ以上の性能測定基準を確定することと、
をコンピューティングシステムに実行させるための命令を含む、コンピュータ読み取り可能記憶媒体。
【請求項１０】
前記第２のデータフローグラフが前記第１のデータフローグラフとは無関係にコンパイルされている、請求項９に記載の媒体。
【請求項１１】
前記コンピュータプログラムが、コンピューティングシステムに、前記１つ以上の性能測定基準をメモリ内データ記憶に記憶させるための命令を更に含む、請求項９に記載の媒体。
【請求項１２】
前記コンピュータプログラムが、コンピューティングシステムに、前記記憶した１つ以上の性能測定基準を永続データ記憶に転送させるための命令を更に含む、請求項１１に記載の媒体。
【請求項１３】
前記コンピュータプログラムが、コンピューティングシステムに、前記１つ以上の性能測定基準を以前に取得した性能測定基準と集約させるための命令を更に含む、請求項１１に記載の媒体。
【請求項１４】
前記１つ以上の性能測定基準を集約することが、前記第２のデータフローグラフに関連付けられた識別子に基づいて前記１つ以上の性能測定基準を集約することを含む、請求項１３に記載の媒体。
【請求項１５】
前記１つ以上の性能測定基準を集約することが、前記第１のデータフローグラフに関連付けられた識別子に基づいて前記１つ以上の性能測定基準を集約することを含む、請求項１３に記載の媒体。
【請求項１６】
前記コンピュータプログラムが、コンピューティングシステムに、前記１つ以上の性能測定基準をユーザに表示させるための命令を更に含む、請求項９に記載の媒体。
【請求項１７】
データを処理するためのコンピューティングシステムであって、
各々が１つ以上のワーク要素を含む多数のワークユニットを受信するように構成された入力デバイス又はポートと、
データを処理するように構成された少なくとも１つのプロセッサと、を含み、前記処理が、
第１のワークユニットの特性を判定することと、
前記判定した特性に基づいて、前記第１のデータフローグラフのコンポーネントによって、データ記憶システムに記憶されている多数の利用可能なデータフローグラフから第２のデータフローグラフを識別することと、
前記第２のデータフローグラフを用いて前記第１のワークユニットを処理することと、
前記処理に関連付けられた１つ以上の性能測定基準を確定することと、
を含む、コンピューティングシステム。
【請求項１８】
前記第２のデータフローグラフが前記第１のデータフローグラフとは無関係にコンパイルされている、請求項１７に記載のシステム。
【請求項１９】
前記処理が、前記１つ以上の性能測定基準をメモリ内データ記憶に記憶することを更に含む、請求項１７に記載のシステム。
【請求項２０】
前記処理が、前記記憶した１つ以上の性能測定基準を永続データ記憶に転送することを更に含む、請求項１９に記載のシステム。
【請求項２１】
前記処理が、前記１つ以上の性能測定基準を以前に取得した性能測定基準と集約することを更に含む、請求項１９に記載のシステム。
【請求項２２】
前記１つ以上の性能測定基準を集約することが、前記第２のデータフローグラフに関連付けられた識別子に基づいて前記１つ以上の性能測定基準を集約することを含む、請求項２１に記載のシステム。
【請求項２３】
前記１つ以上の性能測定基準を集約することが、前記第１のデータフローグラフに関連付けられた識別子に基づいて前記１つ以上の性能測定基準を集約することを含む、請求項２１に記載のシステム。
【請求項２４】
前記処理が、前記１つ以上の性能測定基準をユーザに表示することを更に含む、請求項１７に記載のシステム。
【請求項２５】
データを処理するコンピューティングシステムであって、
各々が１つ以上のワーク要素を含む多数のワークユニットを受信するための手段と、
第１のワークユニットの特性を判定するための手段と、
前記判定した特性に基づいて、前記第１のデータフローグラフのコンポーネントによって、データ記憶システムに記憶されている多数の利用可能なデータフローグラフから第２のデータフローグラフを識別するための手段と、
前記第２のデータフローグラフを用いて前記第１のワークユニットを処理するための手段と、
前記処理に関連付けられた１つ以上の性能測定基準を確定するための手段と、
を含む、コンピューティングシステム。
【請求項２６】
前記第２のデータフローグラフが前記第１のデータフローグラフとは無関係にコンパイルされている、請求項２５に記載のシステム。
【請求項２７】
前記１つ以上の性能測定基準をメモリ内データ記憶に記憶することを更に含む、請求項２５に記載のシステム。
【請求項２８】
前記記憶した１つ以上の性能測定基準を永続データ記憶に転送するための手段を更に含む、請求項２７に記載のシステム。
【請求項２９】
前記１つ以上の性能測定基準を以前に取得した性能測定基準と集約するための手段を更に含む、請求項２７に記載のシステム。
【請求項３０】
前記１つ以上の性能測定基準を集約することが、前記第２のデータフローグラフに関連付けられた識別子に基づいて前記１つ以上の性能測定基準を集約することを含む、請求項２９に記載のシステム。
【請求項３１】
前記１つ以上の性能測定基準を集約することが、前記第１のデータフローグラフに関連付けられた識別子に基づいて前記１つ以上の性能測定基準を集約することを含む、請求項２９に記載のシステム。
【請求項３２】
前記１つ以上の性能測定基準をユーザに表示するための手段を更に含む、請求項２５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本出願は、米国特許法第１２０条に基づき、２０１２年１１月１６日に出願された米国特許出願番号第１３／６７８，９２１号に対する優先権を主張する。その全体的な内容は引用により本願にも含まれるものとする。
【０００２】
本記載は、動的グラフ性能測定基準の監視に関する。
【背景技術】
【０００３】
多くの場合、演算は、有向グラフ（「データフローグラフ」と呼ばれる）を介したデータフローとして表現することができる。演算のコンポーネントはグラフの頂点に関連付けられ、コンポーネント間のデータフローはグラフのリンク（アーク、エッジ）に対応する。そのような演算を実行するためのシステムの物理的実施においては、適切なプログラム命令を実行するマイクロプロセッサ等のデータ処理要素を用いて、コンポーネント及びデータフローをインスタンス化することができる。コンポーネントには、１つ以上の入力ポートでデータを受信し、データを処理し、１つ以上の出力ポートからデータを供給するデータ処理コンポーネントと、データフローのソース又はシンクとして機能するデータセットコンポーネントと、が含まれ得る。また、コンポーネントは、データを例えば「動的コンポーネント」又は「マイクログラフ（micrograph）」において実行する際に動的にロードすることができる１つ以上のデータグラフも含む場合がある。このようなグラフベースの演算を実施するシステムが、「Executing Computations Expressed as Graphs」と題する米国特許第５，９６６，０７２号に記載されている。また、このようなグラフベースの演算において動的コンポーネントを実施するためのシステムが、例えば、「Dynamically Loading Graph-Based Computations」と題する米国特許出願第１３／１６１，０１０号に示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
データフローグラフシステムは、大量のデータを極めて高速で処理しなければならない場合に用いられる。データフローグラフシステムの性能を監視することで、ユーザは、改善の可能性があるか又は不適切に実行している可能性のあるデータフローグラフのコンポーネントを個別に又はグループとして識別することができる。例えば性能の監視によって、ユーザは、過度のプロセッサ時間量を費やすか、待ち時間遅延を生じるか、又は故障を発生する傾向のあるコンポーネントを識別することができる。これらのコンポーネントは、そういった欠点を修正するために調べて変更することができる。
【０００５】
動的にロードされるコンポーネント（データフローグラフの実行時に選択されロードされるコンポーネント）は、既存のグラフを再コンパイルせずに新しい機能性の導入を可能とすることでデータフローグラフの機能性を強化する。しかしながら、動的にロードされるコンポーネントの監視は、複雑な問題を増やしてしまう。
【０００６】
一般に、データフローグラフの作成者は後に導入される動的コンポーネントの特性を知らないため、そのようなコンポーネントの監視が難しいことがある。従来、データフローグラフは、これらの動的コンポーネントの性能特性を適切に通知することができなかった。
【０００７】
同時に、動的コンポーネントは、性能上の問題を生じる可能性が高い。例えば動的コンポーネントの作成者は、そのコンポーネントをロードするデータフローグラフの構築におけるニュアンスを知らないことがある。従って、動的コンポーネントが不必要な動作を実行したり、データフローグラフの残りの部分の処理又は性能に悪影響を及ぼしたりする恐れがある。
【課題を解決するための手段】
【０００８】
動的コンポーネントを考慮に入れるようにデータフローグラフの監視機能を拡張することで、データフローグラフシステムを監視する能力が向上する。
【０００９】
１つの態様において、概して、データを処理するための方法は、各々が１つ以上のワーク要素を含む多数のワークユニットを受信することを含む。この方法は、第１のワークユニットの特性を判定することを含む。この方法は、判定した特性に基づいて、第１のデータフローグラフのコンポーネントによって、データ記憶システムに記憶されている多数の利用可能なデータフローグラフから第２のデータフローグラフを識別することを含む。この方法は、第２のデータフローグラフを用いて第１のワークユニットを処理することを含む。この方法は、処理に関連付けられた１つ以上の性能測定基準を確定することを含む。
【００１０】
態様は、以下の特徴の１つ以上を含むことができる。第２のデータフローグラフは、第１のデータフローグラフとは無関係にコンパイルすることができる。この方法は、１つ以上の性能測定基準をメモリ内データ記憶に記憶することを含むことができる。この方法は、記憶した１つ以上の性能測定基準を永続データ記憶に転送することを含むことができる。この方法は、１つ以上の性能測定基準を以前に取得した性能測定基準と集約することを含むことができる。１つ以上の性能測定基準を集約することは、第２のデータフローグラフに関連付けられた識別子に基づいて１つ以上の性能測定基準を集約することを含むことができる。１つ以上の性能測定基準を集約することは、第１のデータフローグラフに関連付けられた識別子に基づいて１つ以上の性能測定基準を集約することを含むことができる。この方法は、１つ以上の性能測定基準をユーザに表示することを含むことができる。
【００１１】
態様は、以下の利点の１つ以上を含むことができる。動的コンポーネントの性能測定基準を収集し通知することができる。動的な実行の性能を監視することで生じる待ち時間を短縮することができる。
【００１２】
本発明の他の特徴及び利点は、以下の記載及び特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【００１３】
【図１】グラフベースの演算を実行するためのシステムのブロック図である。
【図２】マイクログラフのための性能測定基準を収集することができる例示的な環境を示す。
【図３】マイクログラフから性能測定基準を収集するためのフローチャートである。
【図４】マイクログラフ識別子によって性能測定基準を集約する一例を示す。
【図５】マイクログラフ作動コンポーネントが並列に実行される一例としての環境を示す。
【図６】「クレジット限度額引き上げ」トランザクションのためのマイクログラフの一例を示す。
【図７】システム監視アプリケーションのための一例としてのユーザインタフェースを示す。
【図８】マイクログラフを表示する一例としてのユーザインタフェースを示す。
【図９】追加の性能測定基準を表示する一例としてのユーザインタフェースを示す。
【図１０】性能測定基準を収集するための一例としてのプロセスのフローチャートである。
【発明を実施するための形態】
【００１４】
図１は、性能監視技法を導入し得る例示的なデータ処理システム１００を示す。システム１００に含まれるデータソース１０２は、記憶デバイス又はオンラインデータストリームに対する接続のような１つ以上のデータソースを含むことができ、それらの各々が多種多様な記憶フォーマットのいずれかで（例えばデータベーステーブル、スプレッドシートファイル、フラットテキストファイル、又はメインフレームにより用いられるネイティブフォーマット）データを記憶することができる。実行環境１０４は、性能監視モジュール１０６及び実行モジュール１１２を含む。実行環境１０４は、ＵＮＩＸ（登録商標）オペレーティングシステム等の適切なオペレーティングシステムの制御のもとで、１つ以上の汎用コンピュータをホストとして動作することができる。例えば実行環境１０４は、多数の中央処理ユニット（ＣＰＵ）（ＣＰＵ「コア」と同様）を用いた複数のコンピュータシステムの構成を含む多ノード並列コンピューティング環境を含むことができ、これらは、ローカルである（例えば対称型マルチプロセッシング（ＳＭＰ：symmetric multiprocessing）コンピュータ等のマルチプロセッサシステム）か、又はローカルに分散されている（例えばクラスタ又は超並列処理（ＭＰＰ：massively parallel processing）として結合された多数のプロセッサ）か、又はリモートであるか、又はリモートに分散されている（例えば１つ以上のローカルエリアネットワーク（ＬＡＮ）及び／又はワイドエリアネットワーク（ＷＡＮ）を介して結合された多数のプロセッサ）か、又はそれらのいずれかの組み合わせであり得る。
【００１５】
実行モジュール１１２は、データソース１０２からデータを読み取る。データソース１０２を提供する記憶デバイスは、例えば実行環境１０４を動作させるコンピュータに接続された記憶媒体（例えばハードドライブ１０８）上に記憶することで、実行環境１０４に対してローカルとすることができ、又は、例えば実行環境１０４を動作させるコンピュータとリモート接続を介して通信するリモートシステム（例えばメインフレーム１１０）をホストとして動作することで、実行環境１０４に対してリモートとすることができる。
【００１６】
実行モジュール１１２は、データソース１０２からのデータを用いて、実行環境１０４にアクセス可能なデータ記憶システム１１６に記憶される出力レコード１１４を生成する。データ記憶システム１１６は、開発環境１１８にもアクセス可能である。開発環境１１８は、いくつかの実施では、データフローグラフとしてアプリケーションを開発するためのシステムである。データフローグラフは、頂点（コンポーネント又はデータセットを表す）を含み、頂点は、それらの間の有向リンク（ワーク要素のフローを表す）によって接続されている。例えばそのような環境は、「Managing Parameters for Graph-Based Applications」と題する米国公報第２００７／００１１６６８号に、より詳細に記載されている。この出願は引用により本願にも含まれるものとする。このようなグラフベースの演算を実行するためのシステムは、「Executing Computations Expressed as Graphs」と題する米国特許第５，５６６，０７２号に記載されている。この出願は引用により本願にも含まれるものとする。本明細書において用いる場合、「グラフ」及び「マイクログラフ」という用語は、１組の命令を指し、これらの命令を実行するプロセッサに関連付けられている。このシステムに従って生成されたデータフローグラフは、グラフコンポーネントにより表される個々のプロセスに対する情報の出し入れをするため、プロセス間で情報を移動させるため、及びプロセスについて実行順序を規定するための機構を提供する。このシステムは、プロセス間の通信方法を選択するアルゴリズムを含む（例えば、グラフのリンクに従った通信経路は、プロセス間のデータの受け渡しのためにＴＣＰ／ＩＰ又はＵＮＩＸ（登録商標）ドメインソケット又は共有メモリを用いることができる）。
【００１７】
実行モジュール１１２は、異なる形態のデータベースシステムを含む多種多様なタイプのシステムからデータを受信することができる。データは、ヌル値を含むことがある、各フィールド（「属性」又は「列」とも呼ばれる）のための値を有するレコードとして組織化することができる。最初にデータソースからデータを読み取る際、実行モジュール１１２は典型的に、そのデータソース内のレコードに関する何らかの初期フォーマット情報から開始する。いくつかの状況では、データソースのレコード構造は最初は知られていないことがあり、データソースの解析後に確定することができる。レコードに関する初期情報は、別個の値を表すビット数、レコード内のフィールドの順序、及びビットにより表される値のタイプ（例えばストリング、符号付き／符号なし整数）を含み得る。
【００１８】
性能監視モジュール１０６は、実行モジュール１１２の性能に関する性能測定基準を収集する。以下で論じるように、これらの測定基準は例えば、読み取ったレコード数、読み取ったバイト数、書き込んだレコード数、書き込んだバイト数、費やしたプロセッサ時間、及び経過時間のいくつか又は全てを含み得る。図２は、実行モジュールにより実行されるマイクログラフの性能測定基準を収集するための例示的な環境を示す。一般に、マイクログラフは、動的に取得されてマイクログラフ作動コンポーネント２１０内に埋め込まれるように構成された特別なサブグラフである。そのような動的にロードされたグラフを実行するためのシステムは、「Dynamically Loading Graph-Based Computations」と題する米国出願第１３／１６１，０１０号に記載されている。この出願は引用により本願にも含まれるものとする。いくつかの実施では、マイクログラフはプリコンパイルすることができる。
【００１９】
実行モジュール１１２はグラフ２０２を実行する。実行モジュールは、例えばコンピュータシステムにより実行されている１つのプロセス又は１組のプロセスとすることができる。グラフは、データ記憶１１６等の非一時的な（non-transitory）コンピュータ読み取り可能記憶デバイスに記憶することができる１組のコンピュータ読み取り可能命令であり得る。グラフ２０２は、例えば図１のデータ記憶１１６のようなデータ記憶からロードすることができる。
【００２０】
この例では、グラフ２０２は、データソース２０４からデータを読み取るコンポーネント２０６を含む。コンポーネント２０６は、リンク２０８によってマイクログラフ作動コンポーネント２１０に接続されている。コンポーネント２０６の出力ポートからのデータレコードは、マイクログラフ作動コンポーネント２１０の入力ポートに渡される。一般に、ポートとは、データフローグラフのコンポーネントがデータを受信又は供給することを可能とするいずれかの機構を指す。ポートは例えば、伝送制御プロトコル（ＴＣＰ）／インターネットプロトコル（ＩＰ）ポート、ネットワークソケット、又はソフトウェアパイプとすればよい。また、ポートは、例えば共有メモリに対する読み取り及び書き込み等、コンポーネント間の他の通信方法を指す場合もある。
【００２１】
マイクログラフ作動コンポーネント２１０は、実行するマイクログラフ２１２を選択する。例えば、クレジット処理システムは、異なるユーザのために多数のアクションを実行し得る。アクションは、アドレスの変更、クレジット限度額の引き上げ、及びクレジットカードのキャンセルを含むことができる。これらのアクティビティの各々は、データレコードに記憶された異なるコードに関連付けることができる。一連のデータレコードは、例えば第１のユーザからの第１のアドレス変更、第２のユーザからの第２のアドレス変更、第３のユーザからのクレジットカードキャンセル要求、第４のユーザからの第３のアドレス変更、及び第５のユーザからのクレジット限度額の引き上げ要求を含み得る。
【００２２】
これらのレコードの各々を処理するため、１つ以上の異なるマイクログラフ２１２を選択することができる。例えば、アドレス変更をアドレス変更マイクログラフによって処理し、クレジットカードキャンセルをクレジットカードキャンセルマイクログラフによって処理し、クレジット限度額の引き上げをクレジット限度額引き上げマイクログラフによって処理することができる。マイクログラフは、データ記憶内に記憶し、実行時に動的にロードすればよい。いくつかの実施では、マイクログラフは、マイクログラフ作動コンポーネントによってアクセスされるプリコンパイルされたデータフローグラフとすることができる。
【００２３】
マイクログラフ作動コンポーネントは、出力ポート２１４上に出力レコードを生成することができ、出力レコードはデータ記憶２１６に記憶することができる。
【００２４】
マイクログラフ作動コンポーネント２１０は、マイクログラフ２１２の性能特性を監視し記録することができる。例えばマイクログラフ作動コンポーネント２１０は、費やしたプロセッサ時間、経過時間、読み取ったバイト数、読み取ったレコード数、書き込んだバイト数、書き込んだレコード数、実行数、失敗した実行数、全持続時間、平均レコード処理率（レコード／秒）、平均バイト処理率（バイト／秒）等の性能測定基準を収集することができる。
【００２５】
性能測定基準は、マイクログラフ作動コンポーネント２１０の第２の出力ポート２１８上に生成され得る。例えば性能測定基準は、他の選択されたマイクログラフと共に、選択されたマイクログラフ２１２の性能に関する情報を含む１つ以上のレコードであり得る。
【００２６】
性能測定基準は、性能監視モジュール１０６のデータ記憶２２０に記憶することができる。いくつかの実施では、データ記憶２２０は、性能測定基準を書き込むことの性能上の影響を最小限に抑えるように選択される。例えば、性能測定基準をデータ記憶２２０に書き込むことによって生じる待ち時間を短縮することが有利となり得る。いくつかの実施では、データ記憶２２０は共有メモリ２２０内に配置することができる。共有（例えば半導体）メモリに書き込む動作は、概ねオーバーヘッドが小さいために、磁気ディスク等の永続データ記憶に書き込む同様の動作に比べて高速である。
【００２７】
例えば５分ごと、１０分ごと、又は３０分ごとのように定期的に、転送コンポーネント２２２がデータ記憶２２０から性能測定基準を読み取って、この性能測定基準をシステム監視ログ２２４に書き込む。いくつかの実施では、システム監視ログは永続データ記憶内に配置することができる。
【００２８】
システム監視コンポーネント２２６は、データ記憶２２０から性能測定基準を読み取り、データを更に処理して集約することができる。例えばシステム監視アプリケーションは、一緒に単一のビジネストランザクションを構成する多数のデータフローグラフに関連付けられた性能測定基準を組み合わせることができる。システム監視アプリケーションは、性能測定基準をユーザ２２８に提示することができる。一般に、各データレコードがマイクログラフ作動コンポーネント２１０により受信された結果として、異なるマイクログラフのロード及び処理が行われるが、多数のデータレコードを処理するために同一のマイクログラフを用いることも可能である。
【００２９】
図３は、データレコードの内容に基づいてロードされたマイクログラフから性能測定基準を収集するプロセスのフローチャートである。このプロセスは、例えば図１の実行モジュール１１２のような実行モジュールによって実行することができる。
【００３０】
３０２において、例えばマイクログラフ作動コンポーネントの入力ポートでデータを受信する。一般に、データは１つ以上のレコードの形態とすることができる。レコードは、１つ以上のフィールドに対応し得る１つ以上の値を含むことができる。例えばクレジットカードトランザクションのデータレコードは、口座識別子フィールドに対応する４つの整数値から成る４つのグループ（例えば「１２３４  １２３４  １２３４  １２３４」）を含む場合がある。
【００３１】
各レコードについて、３０４ではマイクログラフをロードすることができ、３０６ではマイクログラフを実行することができ、３０８では測定基準を処理することができる。
【００３２】
マイクログラフは、永続データ記憶等の１つ以上の位置又はデバイスからロードするか、又はメモリ内に記憶することができる。マイクログラフのロードは、例えばレコード内のデータの一部を含むデータを評価することによってロードに適したマイクログラフを選択することを含み得る。レコードに含まれるデータの評価に基づいて、１つ以上のマイクログラフからマイクログラフを選択することができる。例えば、特定のフィールド又はフィールドの組み合わせが、どのマイクログラフをロードするかを決定することができる。
【００３３】
一般に、マイクログラフの選択に用いられるデータは制御データと称される。いくつかの実施において、制御データは、処理対象のデータとは別個のデータレコードでマイクログラフ作動コンポーネントに提供することができる。他の実施では、制御データは、各データレコードに組み込まれ、いくつかの例では処理対象のデータも含む場合がある。
【００３４】
マイクログラフは、コンパイルしてデータ記憶に記憶することができる。いくつかの構成において、マイクログラフは、以前にコンパイルされてデータ記憶システムに記憶されたデータフローグラフであるか、又はそのようなデータフローグラフから導出される。いくつかの構成では、マイクログラフは、データ記憶からのロード時にはコンパイルされていない形態のままである。マイクログラフは、マイクログラフ作動コンポーネントを含むデータフローグラフとは無関係にコンパイルすることができる。
【００３５】
３０６におけるマイクログラフの実行は、マイクログラフの入力ポートにデータレコードを提供すること及びマイクログラフの出力ポートから出力レコードを受信することを含むことができる。いくつかの実施では、マイクログラフは、ゼロ以上のデータレコードを受信し、ゼロ以上の出力レコードを生成することができる。
【００３６】
３０８における測定基準の処理は、マイクログラフのための性能測定基準を確定することを含むことができる（例えばプロセッサ時間、経過時間、読み取ったバイト、及び書き込んだバイト）。測定基準は集約することができる。すなわち、マイクログラフの１回以上の実行を通して測定基準を合計することができる。例えば性能測定基準は、マイクログラフに関連付けられた名前又は他のラベルに基づいて集約すればよい。例えば、「クレジットカードキャンセル」マイクログラフの全ての実行の性能を組み合わせることができる。更に、マイクログラフが実行された回数を追跡することができる。性能測定基準は、メモリ内データ記憶に記憶すればよい。
【００３７】
３１０において、処理対象のレコードが更に存在するか否かを判定する。例えば、１つのマイクログラフは多数の入力レコードを処理して単一の出力レコードを生成することができる。マイクログラフ又はマイクログラフ作動コンポーネントが追加のレコードを必要とする場合、３０２において新しいレコードをデータとして受信する。これ以上レコードが必要でない場合、３１２において出力レコードが供給され、記憶される。
【００３８】
性能測定基準は、マイクログラフ作動コンポーネントに基づいて集約することができる。すなわち、特定のマイクログラフ作動コンポーネントによる全てのマイクログラフの全ての実行を集約する。また、性能測定基準は、上述のようにマイクログラフ識別子によって集約することも可能である。すなわち、特定のタイプのマイクログラフによる全ての実行を集約する。マイクログラフ識別子は、例えばマイクログラフの名前であり得る。
【００３９】
性能測定基準は、集約せずに、マイクログラフの個々の実行ごとに記憶してもよい。いくつかの実施において、マイクログラフ作動コンポーネントは、どのように性能測定基準を集約するかを指示するユーザ定義パラメータを受信するように構成することができる。
【００４０】
上述のように、マイクログラフの実行中に収集される性能測定基準は、測定基準の収集の際に集約することができる。図４は、マイクログラフ識別子によって性能測定基準を集約する一例を示す。集約された性能測定基準は、システム監視アプリケーションによって用いられ、ユーザに表示することができる。表４００は、例えば図２のデータ記憶２２０のようなデータ記憶に配置することができる。この例において、表は、「マイクログラフ識別子」列４０２、「プロセッサ時間」列４０４、「経過時間」列４０６、及び「呼び出し」列４０８を含む。最初に、表は、「クレジットカードキャンセル」マイクログラフの識別子、「購入」マイクログラフの識別子、及び「支払い」マイクログラフの識別子のための行を含む。
【００４１】
例えば図２のマイクログラフ作動コンポーネント２１０のようなマイクログラフ作動コンポーネントがマイクログラフを実行した場合、表４００を更新することができる。この例では、データレコード４１２により表される「クレジットカードキャンセル」マイクログラフの新しい呼び出しに基づいて表４００が更新される。新しい呼び出しは、０．０４秒のプロセッサ時間及び０．１０秒の経過時間を含む。
【００４２】
表４００から、「クレジットカードキャンセル」行４１０が読み取られ、新しい呼び出しからの情報によって更新される。この例では、「クレジットカードキャンセル」マイクログラフの累積性能測定基準は、３２回の呼び出しで１．２３秒のプロセッサ時間及び２．６２秒の経過時間を含む。新しいレコードが追加された後、更新されたクレジットカードキャンセル行４１４は、３３回の呼び出しで１．２７秒のプロセッサ時間（１．２３秒＋０．０４秒）及び２．７２秒の経過時間を含む。
【００４３】
このように、マイクログラフの実行中に性能測定基準を集約することができる。性能測定基準の集約は、表４００を記憶し管理するのに必要なメモリオーバーヘッドの量を最小限に抑えるという利点を有することができる。
【００４４】
同一のデータフローグラフの異なるインスタンスが並列に実行されることがあるので、性能測定基準の集約は複雑化する。例えば、多数の異なる計算機が、同一のマイクログラフの異なるインスタンスについて同時に実行及び性能測定基準の収集を行っている場合がある。
【００４５】
図５は、マイクログラフ作動コンポーネントが並列に実行する一例としての環境を示す。マイクログラフ作動コンポーネントの各インスタンスは、１つの計算機、仮想計算機、プロセッサ等において実行することができる。
【００４６】
この例では、分割部５０２は、マイクログラフ作動コンポーネント２１０ａ、２１０ｂ、及び２１０ｃの多数のインスタンス間で入力レコードのフローを分割する。いったんマイクログラフ作動コンポーネントが入力レコードを処理して出力レコードを生成すると、出力レコードは収集部５０４により収集される。
【００４７】
各マイクログラフ作動コンポーネントの性能測定基準は、データ記憶２２０に送出して、各並列インスタンスについて集約するか、又は並列インスタンスごとに別個に記憶することができる。いくつかの実施では、各並列インスタンスの性能測定基準は、マイクログラフ作動インスタンスと同じ計算機又はデバイス上に配置された別個のデータ記憶に記憶することができる。
【００４８】
サブグラフとして、各マイクログラフは、データレコードを用いて１つ以上の異なる動作を実行する多数の個別コンポーネントを含むことができる。いくつかの実施では、マイクログラフは、マイクログラフの個々のコンポーネントの性能に関する追加情報（例えばより詳細な情報）を通知するような機器を備えることができる。図６は、「クレジット限度額引き上げ」トランザクションのためのマイクログラフの一例を示す。
【００４９】
この例において、「クレジット限度額引き上げ」マイクログラフ６０２は、入力ポート６０４において入力レコードを受け取る。「クレジット限度額引き上げ」マイクログラフ６０２は多数のコンポーネントを含む。例えば、クレジット限度額引き上げを要求するユーザの支払い履歴を取得する履歴取得コンポーネント６０６、ユーザのクレジットをチェックするクレジットチェックコンポーネント６０８、履歴及びクレジットチェックに基づいて新しいクレジット限度額を選択する限度額選択コンポーネント６１０、新しいクレジット限度額によって出力レコードを更新又は生成するレコード更新コンポーネント６１２である。出力レコードは、マイクログラフ６０２の出力ポート６１４に提供される。
【００５０】
マイクログラフ６０２は、性能監視出力ポート６１６に、その構成コンポーネントの性能特性を通知することができる。例えば「クレジット限度額引き上げ」マイクログラフ６０２は、履歴取得コンポーネント６０６、クレジットチェックコンポーネント６０８、限度額選択コンポーネント６１０、及びレコード更新コンポーネント６１２について、プロセッサ時間及び経過時間を通知することができる。マイクログラフ作動コンポーネント（図示せず）は、上述のような集約スキームに基づいてこれらの性能測定基準を収集し通知することができる。
【００５１】
いくつかの実施において、マイクログラフ作動コンポーネントは、例えば専用の入力ポート（図示せず）を介してメッセージを送信することで、マイクログラフの構成コンポーネントのリストを要求することができる。マイクログラフ作動コンポーネントは、性能監視出力ポート６１６にコンポーネントのリストを提供することができる。例えばマイクログラフ作動コンポーネント（図示せず）からの要求に応じて、「クレジット限度額引き上げ」マイクログラフは、「履歴取得、クレジットチェック、限度額選択、レコード更新」のカンマ区切り形式のリストを性能測定基準ポートに提供することができる。
【００５２】
いくつかの実施では、マイクログラフ作動コンポーネントは、以前にロードしたマイクログラフのレコードを維持する。マイクログラフがロードされると、マイクログラフ作動コンポーネントは、そのマイクログラフが以前にロードされたことがあるか否かを判定することができる。マイクログラフが以前にロードされたことがない場合、マイクログラフ作動コンポーネントは、マイクログラフの構成コンポーネントのリストを要求する。構成コンポーネントのアイデンティティはデータ記憶に記憶することができる。
【００５３】
いったん、例えば図２の永続データ記憶２２４のような永続データ記憶に性能測定基準が記憶されると、性能監視アプリケーションは、記憶された性能測定基準にアクセスしてこれを用いることが可能となる。一般に、性能監視アプリケーションは、ユーザによる測定基準の理解を支援するような方法で、収集した測定基準をユーザに提示する。
【００５４】
図７は、収集した性能測定基準をユーザに提示するためのシステム用の、一例としてのユーザインタフェースを示す。この例では、ユーザインタフェース７００は、このユーザインタフェースの部分７０２にデータの要約を提示する。ユーザインタフェース７００は、例えばユーザのコンピュータシステム上のウェブブラウザに表示されるウェブページのような、異なるタイプのネットワークベースの資産等の１つ以上の形態で提示することができる。
【００５５】
モニタ選択部７１４によって、ユーザは、マイクログラフの実行を監視するか否かを動的に決定することができる。いくつかの実施においては、ユーザがマイクログラフの実行を監視しないことを選択した場合、性能測定基準は収集されない。また、モニタ選択部７１４によってユーザは、どのように性能測定基準を集約するかを選択することができる。例えばユーザは、マイクログラフの名前によってマイクログラフの性能測定基準を要約すること、全てのマイクログラフにわたって性能測定基準を要約すること、各マイクログラフの最新の実行のみを記憶すること、又はマイクログラフの各実行の詳細をセーブすることを選択することができる。
【００５６】
一般に、ジョブとは、１つ以上のデータフローグラフによって１組のデータレコードを処理することを指す。性能測定基準は、ジョブごとに異なる方法で要約することができる。例えば、あるマイクログラフ７１６（「mg_runner_all.mp」という名称が付いている）は、全てのマイクログラフ実行を通して要約される。別のマイクログラフ７１８（「mg_runner_name.mp」という名称が付いている）は、そのマイクログラフの名前によって要約される。更に別のマイクログラフ７２０（「mg_runner.mp」という名称が付いている）は、各実行の性能測定基準を別個に記録する。
【００５７】
各マイクログラフの性能測定基準は、永続データ記憶に記憶された性能測定基準から取得される。例えば、開始時間７０８及び経過時間７１０が、用いた合計プロセッサ時間７１２と共に通知される。
【００５８】
いくつかの実施では、このユーザインタフェースによって、ユーザは特定のジョブ、マイクログラフ等の詳細を拡大して見ることができる。図８は、マイクログラフを表示する一例としてのユーザインタフェース８００を示す。この例では、リフォーマットマイクログラフ８０４が表示されている。リフォーマットマイクログラフ８０４に入力レコードを提供するための入力ポート８０２、及びリフォーマットマイクログラフ８０４から出力レコードを取得するための出力ポート８０６も表示されている。
【００５９】
性能測定基準はユーザインタフェースに組み込まれている。この例では、ユーザインタフェースは、１つのレコードがマイクログラフに提供され（８０８）、１つのレコードがマイクログラフによって生成された（８１０）ことを表示している。
【００６０】
図９は、追加の性能測定基準を表示する一例としてのユーザインタフェースを示す。ユーザインタフェース９００は、集約した性能測定基準を表の形態で提示する。測定基準列９０２には測定基準の名前がリスト化され、値列９０４には測定基準に対応する値が示されている。単位列９０６には、値９０４を規定する単位が示されている。測定基準のリストには、マイクログラフが実行された回数及びマイクログラフが実行に成功しなかった回数が含まれる。
【００６１】
図１０は、性能測定基準を収集するための一例としてのプロセスのフローチャートである。プロセス１０００は、例えば図１の実行モジュール１０４のような実行モジュールを含む１つ以上のコンピュータシステムによって実行することができる。簡略化のため、このプロセスは、プロセスを実行するシステムに関連付けて説明する。
【００６２】
１００２において、多数のワークユニットを受信する。ワークユニットは、データフローグラフのコンポーネントによって受信することができる。ワークユニットは、ゼロ以上の入力データレコードを含み得る。入力データレコードは、データ記憶から、又はデータフローグラフ内の先行するコンポーネントの出力ポートから供給することができる。
【００６３】
１００４において、ワークユニットの特性を判定する。特性は、入力データレコードのうち１つのフィールドに記憶された１つ以上の値とすることができる。例えば特性は、データフローグラフのコンポーネントにより実行される動作を識別するフィールド内の値とすればよい。
【００６４】
１００６において、特性に基づいてマイクログラフを識別する。例えばこのプロセスは、フィールドによって識別された動作を実行するマイクログラフを識別することができる。マイクログラフは、例えば参照テーブル、辞書、又は同様のデータ構造を用いて、ワークユニットの特性を利用可能なマイクログラフのリストと比較することによって、識別可能である。
【００６５】
１００８において、識別されたデータフローグラフをロードする。マイクログラフ作動コンポーネントがデータフローグラフをロードすることができる。マイクログラフは、例えばデータ記憶に記憶されたデータフローグラフとすることができる。マイクログラフは、例えば図２のマイクログラフ作動コンポーネント２２２のようなデータフローグラフのコンポーネントによってロードされ実行されるように構成することができる。いくつかの構成では、マイクログラフは、データ記憶システムからのロード時にはコンパイルされていない形態のままである。いくつかの構成では、マイクログラフは、データ記憶システムに記憶される前にシリアル化される。一般に、シリアル化とは、コンパイル済みの形態又はコンパイルされていない形態のデータフローグラフをゼロ及び１の二進ストリームに変換して、データ記憶に容易に記憶可能な形態とするプロセスである。
【００６６】
１０１０において、識別されたデータフローグラフを用いてワークユニットを処理する。いくつかの実施では、識別されたマイクログラフの入力ポートにワークユニットを提供する。出力レコードが生成された場合は、識別されたマイクログラフの出力ポートによって提供される。
【００６７】
１０１２において、１つ以上の性能測定基準を確定する。性能測定基準はマイクログラフ作動コンポーネントによって確定することができ、又は、マイクログラフは、その専用出力ポートに性能測定基準を提供するような機器を備えることができる。
【００６８】
上述の性能監視手法は、コンピュータ上で実行するソフトウェアを用いて実施可能である。例えばこのソフトウェアは、１つ以上のプログラムされた又はプログラム可能なコンピュータシステム（これは、分散型、クライアント／サーバ、又はグリッド等の様々なアーキテクチャのものであり得る）上で実行する１つ以上のコンピュータプログラムにおいて手順を形成する。これらのコンピュータシステムの各々は、少なくとも１つのプロセッサ、少なくとも１つのデータ記憶システム（揮発性及び不揮発性メモリ及び／又は記憶要素を含む）、少なくとも１つの入力デバイス又はポート、及び少なくとも１つの出力デバイス又はポートを含む。ソフトウェアは、より大きなプログラムの１つ以上のモジュールを形成することも可能である。例えばソフトウェアは、データフローグラフの設計及び構成に関連した他のサービスを提供することができる。グラフのノード及び要素は、コンピュータ読み取り可能媒体に記憶されたデータ構造として、又はデータリポジトリに記憶されたデータモデルに従った他の組織化されたデータとして、実施することができる。
【００６９】
ソフトウェアは、汎用もしくは特殊用途のプログラム可能コンピュータにより読み取り可能なＣＤ−ＲＯＭ等の記憶媒体上に提供するか、又は実行時にネットワークの通信媒体を介してコンピュータの記憶媒体に（伝搬信号で符号化して）送出することができる。機能は全て、特殊用途コンピュータ上で、又はコプロセッサ等の特殊用途ハードウェアを用いて実行可能である。ソフトウェアは、このソフトウェアにより規定される演算の異なる部分が異なるコンピュータによって実行される分散型で実施することができる。そのようなコンピュータプログラムは各々、汎用又は特殊用途プログラム可能コンピュータによって読み取り可能な有形の非一時的な記憶媒体又はデバイス（例えば固体メモリもしくは媒体、又は磁気もしくは光媒体）上に記憶するか、又はそれにダウンロードすることが好ましい。これにより、本明細書に記載した手順を実行するためにこの記憶媒体又はデバイスがコンピュータシステムによって読み取られた場合、コンピュータを構成し動作させ得る。また、本発明のシステムは、コンピュータプログラムによって構成されたコンピュータ読み取り可能記憶媒体として実施されると見なすことができ、そのように構成された記憶媒体によって、コンピュータシステムは、本明細書に記載した機能を実行するために特定かつ既定の方法で動作する。
【００７０】
本発明の多数の実施形態について記載した。前述の記載は例示を意図し、添付の特許請求の範囲の範囲により規定される本発明の範囲を限定することは意図していないことは理解されよう。本発明の精神及び範囲から逸脱することなく、様々な変形を行い得ることは理解されよう。例えば、上述のステップのいくつかは順序に依存しない場合があり、従って記載したものとは異なる順序で実行可能である。他の実施形態も以下の特許請求の範囲の範囲内である。
【図１】
2019179575.tif 000003
【図２】
2019179575.tif 000004
【図３】
2019179575.tif 000005
【図４】
2019179575.tif 000006
【図５】
2019179575.tif 000007
【図６】
2019179575.tif 000008
【図７】
2019179575.tif 000009
【図８】
2019179575.tif 000010
【図９】
2019179575.tif 000011
【図１０】
2019179575.tif 000012
【手続補正書】
【提出日】令和1年7月12日(2019.7.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のデータフローグラフが実行される、データ処理システムにおいてデータを処理するための方法であって、
各々が１つ以上のレコードを含む多数のワークユニットを受信することと、
第１のワークユニットの前記１つ以上のレコードに含まれるデータに基づいて、前記第１のワークユニットの特性を判定することと、
前記判定した特性に基づいて、前記第１のデータフローグラフのコンポーネントによって、データ記憶システムに記憶されている多数の利用可能なデータフローグラフから第２のデータフローグラフを識別することと、
前記第２のデータフローグラフを前記第１のデータフローグラフにロードすることに基づいて、前記第２のデータフローグラフを用いて前記第１のワークユニットを処理することと、
前記ロードされた第２のデータフローグラフを用いた前記第１のワークユニットの前記処理に関連付けられた１つ以上の性能測定基準の１つ以上の値を、前記第１のデータフローグラフによって受信することと、
前記第１のデータフローグラフによって、前記ロードされた第２のデータフローグラフを用いた前記第１のワークユニットの前記処理に関連付けられた前記１つ以上の性能測定基準の前記１つ以上の受信された値を性能監視モジュールに出力することであって、前記性能監視モジュールが、複数のデータフローグラフから出力される１つ以上の性能測定基準の複数の値を受信することと、
前記複数のデータフローグラフから出力される前記１つ以上の性能測定基準の前記複数の値のうち、前記第２のデータフローグラフの識別子に関連付けられた１つ以上の性能測定基準の値を選択することと、
前記第２のデータフローグラフの前記識別子に関連付けられた前記１つ以上の性能測定基準に関する前記選択された値を集約することと、
を含む、方法。
【請求項２】
前記第２のデータフローグラフが前記第１のデータフローグラフとは無関係にコンパイルされている、請求項１に記載の方法。
【請求項３】
前記処理することが、前記ロードされた第２のデータフローグラフを用いた前記第１のワークユニットの前記処理に関連付けられた前記１つ以上の性能測定基準の前記１つ以上の値をメモリ内データ記憶に記憶することを更に含む、請求項１に記載の方法。
【請求項４】
前記処理することが、前記１つ以上の性能測定基準の前記記憶された１つ以上の値を永続データ記憶に転送することを更に含む、請求項３に記載の方法。
【請求項５】
前記選択された値が第１の値を含み、前記方法が、前記第１のデータフローグラフに関連付けられた識別子に基づいて、前記複数のデータフローグラフから出力される前記１つ以上の性能測定基準の第２の値を集約することを更に含む、請求項１に記載の方法。
【請求項６】
前記１つ以上の性能測定基準をユーザに表示すること、又は、前記１つ以上の性能測定基準の前記集約された値を前記ユーザに表示することを更に含む、請求項１に記載の方法。
【請求項７】
第１のデータフローグラフが実行される、データ処理システムにおいてデータを処理するためのコンピュータプログラムを記憶する非一時的コンピュータ読み取り可能記憶媒体であって、前記コンピュータプログラムが、
各々が１つ以上のレコードを含む多数のワークユニットを受信することと、
第１のワークユニットの前記１つ以上のレコードに含まれるデータに基づいて前記第１のワークユニットの特性を判定することと、
前記判定した特性に基づいて、前記第１のデータフローグラフのコンポーネントによって、データ記憶システムに記憶されている多数の利用可能なデータフローグラフから第２のデータフローグラフを識別することと、
前記第２のデータフローグラフを前記第１のデータフローグラフにロードすることに基づいて、前記第２のデータフローグラフを用いて前記第１のワークユニットを処理することと、
前記ロードされた第２のデータフローグラフを用いた前記第１のワークユニットの前記処理に関連付けられた１つ以上の性能測定基準の１つ以上の値を、前記第１のデータフローグラフによって受信することと、
前記第１のデータフローグラフによって、前記ロードされた第２のデータフローグラフを用いた前記第１のワークユニットの前記処理に関連付けられた前記１つ以上の性能測定基準の前記１つ以上の受信された値を性能監視モジュールに出力することであって、前記性能監視モジュールが、複数のデータフローグラフから出力される１つ以上の性能測定基準の複数の値を受信することと、
前記複数のデータフローグラフから出力される前記１つ以上の性能測定基準の前記複数の値のうち、前記第２のデータフローグラフの識別子に関連付けられた１つ以上の性能測定基準の値を選択することと、
前記第２のデータフローグラフの前記識別子に関連付けられた前記１つ以上の性能測定基準に関する前記選択された値を集約することと、
をコンピューティングシステムに実行させるための命令を含む、非一時的コンピュータ読み取り可能記憶媒体。
【請求項８】
前記第２のデータフローグラフが前記第１のデータフローグラフとは無関係にコンパイルされている、請求項７に記載の媒体。
【請求項９】
前記コンピュータプログラムが、コンピューティングシステムに、前記ロードされた第２のデータフローグラフを用いた前記第１のワークユニットの前記処理に関連付けられた前記１つ以上の性能測定基準の前記１つ以上の値をメモリ内データ記憶に記憶させるための命令を更に含む、請求項７に記載の媒体。
【請求項１０】
前記コンピュータプログラムが、コンピューティングシステムに、前記１つ以上の性能測定基準の前記記憶された１つ以上の値を永続データ記憶に転送させるための命令を更に含む、請求項９に記載の媒体。
【請求項１１】
前記選択された値が第１の値を含み、前記集約するための命令が、前記第１のデータフローグラフに関連付けられた識別子に基づいて、前記複数のデータフローグラフから出力される前記１つ以上の性能測定基準の第２の値を集約するための命令を含む、請求項７に記載の媒体。
【請求項１２】
前記コンピュータプログラムが、コンピューティングシステムに、前記１つ以上の性能測定基準をユーザに対して表示させるため、又は、前記１つ以上の性能測定基準の前記集約された値を前記ユーザに対して表示させるための命令を更に含む、請求項７に記載の媒体。
【請求項１３】
データを処理するためのコンピューティングシステムであって、
各々が１つ以上のレコードを含む多数のワークユニットを受信するように構成された入力デバイス又はポートと、
データを処理するように構成された少なくとも１つのプロセッサと、を含み、前記処理が、
各々が１つ以上のレコードを含む多数のワークユニットを受信することと、
第１のワークユニットの前記１つ以上のレコードに含まれるデータに基づいて、前記第１のワークユニットの特性を判定することと、
前記判定した特性に基づいて、第１のデータフローグラフのコンポーネントによって、データ記憶システムに記憶されている多数の利用可能なデータフローグラフから第２のデータフローグラフを識別することと、
前記第２のデータフローグラフを前記第１のデータフローグラフにロードすることに基づいて、前記第２のデータフローグラフを用いて前記第１のワークユニットを処理することと、
前記ロードされた第２のデータフローグラフを用いた前記第１のワークユニットの前記処理に関連付けられた１つ以上の性能測定基準の１つ以上の値を、前記第１のデータフローグラフによって受信することと、
前記第１のデータフローグラフによって、前記ロードされた第２のデータフローグラフを用いた前記第１のワークユニットの前記処理に関連付けられた前記１つ以上の性能測定基準の前記１つ以上の受信された値を性能監視モジュールに出力することであって、前記性能監視モジュールが、複数のデータフローグラフから出力される１つ以上の性能測定基準の複数の値を受信することと、
前記複数のデータフローグラフから出力される前記１つ以上の性能測定基準の前記複数の値のうち、前記第２のデータフローグラフの識別子に関連付けられた１つ以上の性能測定基準の値を選択することと、
前記第２のデータフローグラフの前記識別子に関連付けられた前記１つ以上の性能測定基準に関する前記選択された値を集約することと、
を含む、コンピューティングシステム。
【請求項１４】
前記第２のデータフローグラフが前記第１のデータフローグラフとは無関係にコンパイルされている、請求項１３に記載のシステム。
【請求項１５】
前記処理が、前記ロードされた第２のデータフローグラフを用いた前記第１のワークユニットの前記処理に関連付けられた前記１つ以上の性能測定基準の前記１つ以上の値をメモリ内データ記憶に記憶することを更に含む、請求項１３に記載のシステム。
【請求項１６】
前記処理が、前記１つ以上の性能測定基準の前記記憶された１つ以上の値を永続データ記憶に転送することを更に含む、請求項１５に記載のシステム。
【請求項１７】
前記選択された値が第１の値を含み、前記処理が、前記第１のデータフローグラフに関連付けられた識別子に基づいて、前記複数のデータフローグラフから出力される前記１つ以上の性能測定基準の第２の値を集約することを更に含む、請求項１３に記載のシステム。
【請求項１８】
前記処理が、前記１つ以上の性能測定基準をユーザに表示すること、又は、前記１つ以上の性能測定基準の前記集約された値を前記ユーザに表示することを更に含む、請求項１３に記載のシステム。
【請求項１９】
データを処理するコンピューティングシステムであって、
各々が１つ以上のレコードを含む多数のワークユニットを受信するための手段と、
第１のワークユニットの前記１つ以上のレコードに含まれるデータに基づいて、前記第１のワークユニットの特性を判定するための手段と、
前記判定した特性に基づいて、第１のデータフローグラフのコンポーネントによって、データ記憶システムに記憶されている多数の利用可能なデータフローグラフから第２のデータフローグラフを識別するための手段と、
前記第２のデータフローグラフを前記第１のデータフローグラフにロードすることに基づいて、前記第２のデータフローグラフを用いて前記第１のワークユニットを処理するための手段と、
前記ロードされた第２のデータフローグラフを用いた前記第１のワークユニットの前記処理に関連付けられた１つ以上の性能測定基準の１つ以上の値を、前記第１のデータフローグラフによって受信するための手段と、
前記第１のデータフローグラフによって、前記ロードされた第２のデータフローグラフを用いた前記第１のワークユニットの前記処理に関連付けられた前記１つ以上の性能測定基準の前記１つ以上の受信された値を性能監視モジュールに出力するための手段であって、前記性能監視モジュールが、複数のデータフローグラフから出力される１つ以上の性能測定基準の複数の値を受信するための手段と、
前記複数のデータフローグラフから出力される前記１つ以上の性能測定基準の前記複数の値のうち、前記第２のデータフローグラフの識別子に関連付けられた１つ以上の性能測定基準の値を選択するための手段と、
前記第２のデータフローグラフの前記識別子に関連付けられた前記１つ以上の性能測定基準に関する前記選択された値を集約するための手段と、
を含む、コンピューティングシステム。
【請求項２０】
前記第２のデータフローグラフが前記第１のデータフローグラフとは無関係にコンパイルされている、請求項１９に記載のシステム。
【請求項２１】
前記ロードされた第２のデータフローグラフを用いた前記第１のワークユニットの前記処理に関連付けられた前記１つ以上の性能測定基準の前記１つ以上の値をメモリ内データ記憶に記憶するための手段を更に含む、請求項１９に記載のシステム。
【請求項２２】
前記１つ以上の性能測定基準の前記記憶された１つ以上の値を永続データ記憶に転送するための手段を更に含む、請求項２１に記載のシステム。
【請求項２３】
前記選択された値が第１の値を含み、前記システムが、前記第１のデータフローグラフに関連付けられた識別子に基づいて、前記複数のデータフローグラフから出力される前記１つ以上の性能測定基準の第２の値を集約するための手段を更に含む、請求項１９に記載のシステム。
【請求項２４】
前記１つ以上の性能測定基準をユーザに表示する、又は、前記１つ以上の性能測定基準の前記集約された値を前記ユーザに表示するための手段を更に含む、請求項１９に記載のシステム。
【外国語明細書】
2019179575000001.pdf