(57)【特許請求の範囲】
【請求項１】
１又は複数のデータネットワークと、前記１又は複数のデータネットワークによって相互接続された複数のコンピュータシステムとを備えている分散コンピューティングシステムにおいて、
前記複数のコンピュータシステムは複数のアプリケーションを実行し、前記複数のコンピュータシステムのうちの少なくとも１つは、データフローソフトウェアツールを実行し、
前記データフローソフトウェアツールは、
前記複数のアプリケーションが共通のデータ転送機構でデータを読み書きするか否かに基づいて、前記複数のアプリケーション間のデータフローを特定し、
対象アプリケーションについて少なくとも１つの上流アプリケーション及び少なくとも１つの下流アプリケーションを表示するグラフィカルユーザインタフェース（ＧＵＩ）を生成し、
前記少なくとも１つの上流アプリケーションについて第１の入力と、前記少なくとも１つの下流アプリケーションについて第２の入力とを、前記ＧＵＩを介してユーザから受け取るものであり、
前記ＧＵＩを介して、前記対象アプリケーションが前記ユーザによって選択され、
前記少なくとも１つの上流アプリケーションは、前記対象アプリケーションに受信データフローを提供するアプリケーションであり、
前記少なくとも１つの下流アプリケーションは、前記対象アプリケーションからの発信データフローを受信するアプリケーションであり、
前記少なくとも１つの上流アプリケーション及び前記少なくとも１つの下流アプリケーションは、前記複数のアプリケーション間のデータフローの特定に基づいて決定され、
前記第１の入力は、前記少なくとも１つの上流アプリケーションが前記受信データフローを前記対象アプリケーションに提供することを前記ユーザが確認するために使用され、前記第２の入力は、前記少なくとも１つの下流のアプリケーションが前記対象アプリケーションから前記発信データフローを受信することを前記ユーザが確認するために使用され、
前記データフローソフトウェアツールは、前記分散コンピューティングシステム上でデータフロー分析を実行して、前記複数のアプリケーションから、前記対象アプリケーションによるデータエラーによって影響を受けるであろうアプリケーションを特定して前記ＧＵＩに表示する、
分散コンピューティングシステム。
【請求項２】
前記データフローソフトウェアツールは、前記分散コンピューティングシステムについて、前記分散コンピューティングシステム内のデータフローを追跡する視覚化インタフェースを生成する、請求項１に記載の分散コンピューティングシステム。
【請求項３】
前記視覚化インタフェースは、前記ＧＵＩを介して前記ユーザによって選択されたデータコンセプトタイプに対して、前記選択されたデータコンセプトタイプを有するデータを使用する少なくとも１つの第１の上流アプリケーションから、前記選択されたデータコンセプトタイプを有するデータを使用する２以上の下流アプリケーションへのデータフローを探索する、請求項２に記載の分散コンピューティングシステム。
【請求項４】
前記ＧＵＩは、前記少なくとも１つの上流アプリケーションと、前記対象アプリケーションと、前記少なくとも１つの下流アプリケーションとを複数のコラムに表示し、
前記少なくとも１つの上流アプリケーションは左側のコラムに表示され、前記対象アプリケーションは中央のコラムに表示され、前記少なくとも１つの下流アプリケーションは右側のコラムに表示される、請求項１に記載の分散コンピューティングシステム。
【請求項５】
前記データフローソフトウェアツールは、前記ＧＵＩを再設定して、選択された上流アプリケーション又は選択された下流アプリケーションを新しい対象アプリケーションとして表示する、請求項１に記載の分散コンピューティングシステム。
【請求項６】
前記データフロー分析は、前記対象アプリケーションからの発信データフローを受信する下流アプリケーションを特定することによって前記対象アプリケーションによる前記データエラーによって影響を受けるアプリケーションを特定する、請求項１に記載の分散コンピューティングシステム。
【請求項７】
前記ＧＵＩは、前記ＧＵＩに表示された前記少なくとも１つの上流アプリケーションについて、前記対象アプリケーションへの前記受信データフローの合意の状態の表示を含む、請求項１に記載の分散コンピューティングシステム。
【請求項８】
前記ＧＵＩは、前記ＧＵＩに表示された前記少なくとも１つの下流アプリケーションについて、前記対象アプリケーションからの前記発信データフローの合意の状態の表示を含む、請求項７に記載の分散コンピューティングシステム。
【請求項９】
前記表示は、
前記データフローソフトウェアツールによって前記対象アプリケーションへの受信データフローとして発見される、
前記ユーザによって前記対象アプリケーションへの前記受信データフローとして主張される、
前記対象アプリケーションへの前記受信データフローとして確認保留中、及び
前記対象アプリケーションへの前記受信データフローとして拒否される、
からなる群から選択された状態特定子を備える、請求項７に記載の分散コンピューティングシステム。
【請求項１０】
前記データフローソフトウェアツールは、前記分散コンピューティングシステムにおけるデータフロー転送機構に関するメタデータに基づいて、前記複数のアプリケーション間のデータフローを特定する、請求項１に記載の分散コンピューティングシステム。
【請求項１１】
前記データフローソフトウェアツールは、特定されたデータフローに、
前記分散コンピューティングシステムに関連するビジネス機能の特徴を特定するデータコンセプトタイプと、
前記データコンセプトタイプのサブセットを定義するデータフロー境界データと、
を割り当てる、請求項１０に記載の分散コンピューティングシステム。
【請求項１２】
前記データフローソフトウェアツールは更に、特定されたデータフローに属性データを割り当て、前記属性データは、前記データコンセプトタイプに関連するパラメータを備える、請求項１１に記載の分散コンピューティングシステム。
【請求項１３】
前記ＧＵＩは、新たな上流アプリケーションについて前記対象アプリケーションへの新しいデータフローを定義するために、新たなデータフロー追加インタフェースを前記ユーザに提供する、請求項１１に記載の分散コンピューティングシステム。
【請求項１４】
前記新たなデータフロー追加インタフェースは、前記ユーザが、利用可能なデータコンセプトタイプのシステムディクショナリから、前記新しいデータフローについて前記データコンセプトタイプを選択するための第１のフィールドを備える、請求項１３に記載の分散コンピューティングシステム。
【請求項１５】
前記新たなデータフロー追加インタフェースは、前記選択されたデータコンセプトタイプについて、前記ユーザが境界データを指定するための第２のフィールドを備える、請求項１４に記載の分散コンピューティングシステム。
【請求項１６】
前記新たなデータフロー追加インタフェースは、前記選択されたデータコンセプトタイプについて寄与データコンセプトタイプと、前記寄与データコンセプトタイプについて上流アプリケーションとを、前記ユーザが指定するための第３のフィールドを備える、請求項１４に記載の分散コンピューティングシステム。
【請求項１７】
前記データコンセプトタイプは、取引契約、ポジション、市場評価、損益（Ｐ＆Ｌ）、及び総勘定元帳の少なくとも１つを含んでおり、
前記データフロー境界データは、セキュリティのタイプ、地理的位置、及び法域のうちの少なくとも１つを備える、請求項１２に記載の分散コンピューティングシステム。
【請求項１８】
前記属性データは、前記データコンセプトタイプに関連する価格を含む、請求項１７に記載の分散コンピューティングシステム。
【請求項１９】
前記データコンセプトタイプは市場評価を含んでおり、前記属性データは市場価値額及び市場価値通貨の少なくとも１つを含む、請求項１２に記載の分散コンピューティングシステム。
【請求項２０】
前記ＧＵＩは、権限アイコンを備えており、前記権限アイコンがユーザによって選択されると、選択されたデータコンセプトタイプを有する対象アプリケーションに受信データを提供することについて権限を有する上流アプリケーションのリストが生成される、請求項１１に記載の分散コンピューティングシステム。
【請求項２１】
前記共通のデータ転送機構は、データキュー、データスタック、データベース、ｐｕｂ／ｓｕｂデータサービス、データディレクトリ、及びメインフレーム可適応データベースシステム（ＡＤＡＢＡＳ）からなる群から選択される転送機構を備える、請求項１に記載の分散コンピューティングシステム。
【請求項２２】
分散コンピューティングシステムにおけるデータフローを追跡する方法において、
前記分散コンピューティングシステムは、１又は複数のデータネットワークによって相互接続された複数のコンピュータシステムを備えており、
前記分散コンピューティングシステムにおける少なくとも１つのコンピュータシステムによって、前記複数のコンピュータシステムによって実行される複数のアプリケーション間のデータフローを特定する工程であって、前記データフローは、前記複数のアプリケーションが共通のデータ転送機構でデータを読み書きするか否かに基づいて特定される、工程と、
前記少なくとも１つのコンピュータシステムによって、対象アプリケーションについて少なくとも１つの上流アプリケーション及び少なくとも１つの下流アプリケーションを示すＧＵＩを生成する工程であって、
前記対象アプリケーションは、前記ＧＵＩを介してユーザによって選択され、
前記少なくとも１つの上流アプリケーションは、前記対象アプリケーションに受信データフローを提供するアプリケーションであり、
前記少なくとも１つの下流アプリケーションは、前記対象アプリケーションからの発信データフローを受信するアプリケーションであり、
前記少なくとも１つの上流アプリケーション及び前記少なくとも１つの下流アプリケーションは、前記複数のアプリケーション間のデータフローの特定に基づいて決定される、
工程と、
前記ＧＵＩを介して、前記少なくとも１つの上流アプリケーションについて第１の入力をユーザから受け取る工程であって、前記第１の入力は、前記少なくとも１つの上流アプリケーションが前記受信データフローを前記対象アプリケーションに提供することを前記ユーザが確認するために使用される、工程と、
前記ＧＵＩを介して、前記少なくとも１つの下流アプリケーションについて第２の入力を前記ユーザから受け取る工程であって、前記第２の入力は、前記少なくとも１つの下流のアプリケーションが前記対象アプリケーションから前記発信データフローを受信することを前記ユーザが確認するために使用される、工程と、
前記少なくとも１つのコンピュータシステムによってデータフロー分析を実行して、前記複数のアプリケーションから、前記対象アプリケーションによるデータエラーによって影響を受けるであろうアプリケーションを特定して前記ＧＵＩに表示する工程と、
を含む方法。
【請求項２３】
前記ＧＵＩは、前記少なくとも１つの上流アプリケーションと、前記対象アプリケーションと、前記少なくとも１つの下流アプリケーションとを複数のコラムに表示し、
前記少なくとも１つの上流アプリケーションは左側のコラムに表示され、前記対象アプリケーションは中央のコラムに表示され、前記少なくとも１つの下流アプリケーションは右側のコラムに表示される、請求項２２に記載の方法。
【請求項２４】
前記ＧＵＩを再設定して、選択された上流アプリケーション又は選択された下流アプリケーションを新しい対象アプリケーションとして表示する工程を更に含む、請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［優先権］
本出願は、仮出願第６２／１３６，９３９及び第６２／１３７，１８０号について優先権を主張する。これらの出願は共に、２０１５年３月２３日に出願されており、引用を以てそれらの全体が本明細書に組み込まれる。
【背景技術】
【０００２】
現代のコンピューティングシステムは、大抵の場合には地理的境界を越えて、ネットワーク化された様々なコンピューティングデバイスにわたって実行される多数のアプリケーションを含んでいる。多くのアプリケーションは、コンピューティングシステムで実行されている他のアプリケーションによって生成された複数のデータフローに対する処理を実行する。同様に、多くのアプリケーションはデータフローを他のアプリケーションに提供する。コンピューティングシステムの複雑さが増すにつれて、データフローを特定すること及び追跡することが、ますます困難になっている。
【発明の概要】
【０００３】
１つの一般的な態様では、本発明は、１又は複数のデータネットワークによって相互接続された複数の分散コンピュータシステムを含む分散コンピューティング環境に関している。複数の分散コンピュータシステムは、複数のアプリケーションを実行する。少なくとも１つの分散型コンピュータシステムは、１つのデータフローソフトウェアツールを実行し、当該データフローソフトウェアツールは、複数のアプリケーション間の潜在的データフロー（potential data flows）を特定して、対象アプリケーションについて少なくとも１つの上流アプリケーション及び少なくとも１つの下流アプリケーションを示すＧＵＩを生成する。対象アプリケーションは、ＧＵＩを介してユーザによって選択される。少なくとも１つの上流アプリケーションは、対象アプリケーションに受信データフローを提供するアプリケーションである。また、少なくとも１つの下流アプリケーションは、対象アプリケーションからの発信データフローを受信するアプリケーションである。更に、（少なくとも１つのコンピュータシステムによって実行される場合）データフローソフトウェアツールは、少なくとも１つの上流アプリケーションのための第１の入力と、少なくとも１つの下流アプリケーションのための第２入力とを、ＧＵＩを介してユーザから受け取る。第１の入力は、少なくとも１つの上流アプリケーションが対象アプリケーションに受信データフローを提供する旨の確認（verification）を含んでおり、第２の入力は、少なくとも１つの下流アプリケーションが対象アプリケーションからの発信データフローを受信する旨の確認を含んでいる。
【０００４】
本発明の実施形態は、複雑なアプリケーションベースの分散コンピューティングシステムにおけるデータフローを迅速に評価して、アプリケーション用のデータの有効性及び／又はデータフローを維持するための改善処置が必要とされる状況を特定するための効果的な方法を管理ユーザに提供する。本発明のこれら及び他の利点は、以下の説明から明らかになるであろう。
【図面の簡単な説明】
【０００５】
様々な実施例は、以下の図面とともに本明細書にて説明されている。
【図１】図１は、分散コンピューティングシステム環境の一例を示す図である。
【図２】図２は、図１の環境を実装するために使用され得る分散コンピューティングシステムの一例を示す図である。
【図３】図３は、図２のシステムのような分散コンピューティングシステムによって実行され得るデータフローツールの一例を示す図である。
【図４】図４は、図２のシステムのような分散コンピューティングシステムにおけるデータフローを追跡するためにデータフローツールによって実行され得る処理フローの一例を示すフローチャートである。
【図５】図５は、図２のシステムのような分散コンピューティングシステムにおける潜在的データフローを特定する処理フローの一例を示すフローチャートである。
【図６】図６は、データフローユーザインタフェースの構成の一例を示す図である。
【図７】図７は、図６のデータフローユーザインタフェースを介して、潜在的データフローを確認する処理フローの一例を示すフローチャートである。
【図８】図８は、図７の処理フロー中においてユーザに提供され得るユーザインタフェース画面の一例を示すスクリーンショットである。
【図９】図８は、図６のデータフローユーザインタフェースを介してアプリケーションに新たなデータフローを追加する処理フローの一例を示すフローチャートである。
【図１０】図１０は、ユーザ（例えば、図９に関して説明したように、データフローを追加する管理ユーザのような、対象アプリケーションに関連するユーザ）に提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図１１】図１１は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図１２】図１２は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図１３】図１３は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図１４】図１４は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図１５】図１５は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図１６】図１６は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図１７】図１７は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図１８】図１８は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図１９】図１９は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図２０】図２０は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図２１】図２１は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図２２】図２２は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図２３】図２３は、ユーザに提供され得るユーザインタフェース画面３００の一例を示すスクリーンショットである。
【図２４】図２４は、ユーザインタフェース画面を変更して、新たな対象アプリケーションを示す処理フローの一例を示すフローチャートである。
【図２５】図２５は、対象アプリケーションアイコン、上流アプリケーションアイコン、及び下流アプリケーションアイコンを含んでいるインタフェース画面の別の例を示している。
【図２６】図２６は、再設定（repopulating）後のインタフェース画面を示す。選択された上流アプリケーションアイコンに対応するアプリケーションは、アイコンで示されているように、新しい対象アプリケーションになっている。
【図２７】図２７は、データフローユーザインタフェース１２０の検索／編集データディクショナリモジュール（browse/edit data dictionary module）から選択され得るインタフェース画面の一例を示すスクリーンショットである。
【図２８】図２８は、データフローユーザインタフェース１２０の検索／編集データディクショナリモジュールから選択され得るインタフェース画面の一例を示すスクリーンショットである。
【図２９】図２９は、データフローユーザインタフェース１２０の検索／編集データディクショナリモジュールから選択され得るインタフェース画面の一例を示すスクリーンショットである。
【図３０】図３０は、データフローユーザインタフェースのトレースデータリネージ（lineage）モジュールを表示する処理フローの一例を示すフローチャートである。
【図３１】図３１は、例えば図３０に関して説明したようなデータフロートレースを表示し得るインタフェース画面の例を示すスクリーンショットである。
【図３２】図３２は、例えば図３０に関して説明したようなデータフロートレースを表示し得るインタフェース画面の例を示すスクリーンショットである。
【図３３】図３３は、例えば図３０に関して説明したようなデータフロートレースを表示し得るインタフェース画面の例を示すスクリーンショットである。
【図３４】図３４は、例えば図３０に関して説明したようなデータフロートレースを表示し得るインタフェース画面の例を示すスクリーンショットである。
【図３５】図３５は、例えば図３０に関して説明したようなデータフロートレースを表示し得るインタフェース画面の例を示すスクリーンショットである。
【図３６】図３６は、例えば図３０に関して説明したようなデータフロートレースを表示し得るインタフェース画面の例を示すスクリーンショットである。
【図３７】図３７は、データフローユーザインタフェースの探索データフローモジュールを生成するために図３のデータフローツールによって実行され得る処理フローの一例を示すフローチャートである。
【図３８】図３８は、探索データフローモジュールを実装するインタフェース画面の例を示すスクリーンショットである。
【図３９】図３９は、探索データフローモジュールを実装するインタフェース画面の例を示すスクリーンショットである。
【図４０】図４０は、探索データフローモジュールを実装するインタフェース画面の例を示すスクリーンショットである。
【図４１】図４１は、探索データフローモジュールを実装するインタフェース画面の例を示すスクリーンショットである。
【図４２】図４２は、対象アプリケーションによって影響を受けるアプリケーションを特定するためにデータフローツールによって実行され得る処理フローの一例を示すフローチャートである。
【図４３】図４３は、権限のない（non-authoritative）ソースから生じるデータフローを特定及び修復するためにデータフローツールによって実行され得る処理フローの一例を示すフローチャートである。
【図４４】図４４は、例えば図３０に関して説明したようなデータフロー追跡を表示し得るインタフェース画面の別の例を示すスクリーンショットである。
【図４５】図４５は、データフローの保持特性を管理するインタフェース画面の一例を示すスクリーンショットである。
【図４６】図４６は、データフローの保持特性を管理するインタフェース画面の一例を示すスクリーンショットである。
【発明を実施するための形態】
【０００６】
本明細書で説明される様々な実施例は、分散コンピューティングシステムにおいてデータフローを追跡するためのシステム及び方法に関する。分散コンピューティングシステムは、複数のネットワークコンピューティングデバイスにわたって複数のアプリケーションを実行するコンピューティングシステムを含んでいてよい。幾つかのアプリケーションは１つのコンピューティングデバイスで実行されてよく、他のアプリケーションは、１又は複数のコンピューティングデバイスにわたって実行されてよい。本明細書で説明するシステム及び方法は、任意の適切なタイプの分散コンピューティングシステムに実装されてよい。幾つかの実施例では、本明細書に記載のシステム及び方法は、金融サービス会社が実施する分散コンピューティングシステムに実装されてよい。例えば、そのような分散コンピューティングシステムは、様々な異なるタイプの金融取引の追跡に利用されてよい。他の実施例では、本明細書に記載のシステム及び方法は、例えば小売業者などの別のタイプの企業によって実施する分散コンピューティングシステムに実装されてよい。例えば、小売業者が実施する分散コンピューティングシステムにおけるデータフローは、在庫及びサプライチェーンを追跡してよい。
【０００７】
図１は、分散コンピューティングシステム環境１０の一例を示す図である。環境１０は、様々なアプリケーション２と、アプリケーション２間のデータフロー４とを含んでいる。アプリケーション２は、例えば、本明細書に記載されるような分散コンピューティングシステム（例えば、図２）によって実行され得る。データフロー４は、図示のように、様々なアプリケーション２の間を通ってよい。図１の環境１０におけるアプリケーション２及びデータフロー４の配置は、分散コンピューティングシステムがどのように構成され得るかについて一例を示しているだけであることは理解されるであろう。任意の適切な数又は配置のアプリケーション２及びデータフロー４が使用されてもよい。更に、環境１０は、任意の適切な構成における追加のアプリケーション２及び／又はデータフロー４（例えば、図示された省略記号「…」によって示されている）を含んでいてよい。
【０００８】
様々な実施例では、各データフロー４は、データコンセプトタイプ、データフロー境界データ及び／又はデータ属性によって記述されていてよい。幾つかの実施例では、データコンセプトタイプは、データフローのビジネス機能の特徴に関連してよい。例えば、金融サービス会社の場合では、データコンセプトタイプは、取引契約、ポジション、市場評価、損益（Ｐ＆Ｌ）、及び総勘定元帳を含んでよい。１又は複数のアプリケーションは、取引契約のデータフローを生成してよい。取引契約データフローは、下流アプリケーションに提供されてよく、当該下流アプリケーションは、取引契約データフローを用いて、取引契約データから生じるポジションを記述するポジションデータフローを生成してよい。（このポジションは、金融サービス会社、金融サービス会社の顧客、又は他の保有エンティティによって保有されてよい。）ポジションデータフローは、別の下流アプリケーションに提供されてよく、当該下流アプリケーションは、ポジションの市場価値を記述する市場評価データフローを生成する。市場価値データフローは、更に別の下流アプリケーションに提供されてよく、当該下流アプリケーションは、ポジションの市場価値に基づいて保有エンティティの損益を記述するＰ＆Ｌフローを生成してよい。Ｐ＆Ｌフローは、更に別の下流アプリケーションに提供されてよく、当該下流アプリケーションは、保有エンティティのために財務会計項目を記述する総勘定元帳データフローを生成してよい。データフロー境界データは、データフローの更なる特徴、特に、例えば、データフローの境界を記述してよい。例えば、データフローは、そのデータタイプのサブセットを、境界データによって定義されるデータタイプのサブセットとともに含んでよい。上述の金融サービス会社の場合、例えば、境界データは、セキュリティのタイプ、地理的位置、法域などを記述してよい。データ属性は、データコンセプトタイプに関連するパラメータであってよい。例えば、金融サービスの場合、データ属性は、価格、金額、通貨、日付などである。例えば、データコンセプトタイプが市場価値であるならば、データ属性は、市場価値額又は市場価値通貨であってよい。オプション取引データコンセプトの場合、属性は、例えば、行使価格及び有効期限であってよい。
【０００９】
データフロー４は、任意の適切な転送機構を使用して環境１０で実施されてよい。転送機構の例としては、データキュー、データスタック、データベース、パブリケーション／サブスクリプション（ｐｕｂ／ｓｕｂ）サービス、データディレクトリ、バッチジョブ依存関係、メインフレーム可適応データベースシステム（adaptable database system）（ＡＤＡＢＡＳ）ファイルの使用等がある。キュー及びスタックに基づいて、上流アプリケーション２は、１又は複数の出力データフロー４を、１又は複数の他のアプリケーション２がアクセス可能なデータ構造（例えば、キュー又はスタック）にプッシュしてよい。下流アプリケーション４は、データフロー又は複数のフロー４を得るためにデータ構造にアクセスしてよい。幾つかの実施例では、１つの上流アプリケーション２は、データフロー４をデータベース（例えば、分散コンピューティングシステムに含まれるデータベース）に書き込んでよい。１又は複数の下流アプリケーション２は、データフロー４を得るためにデータベースに問い合わせてよい。幾つかの実施例では、上流アプリケーション２は、データフロー４の情報を、ｐｕｂ／ｓｕｂサービスに供給及び／又は提供してよい。データフロー４を受信する下流アプリケーション２は、ｐｕｂ／ｓｕｂサービスを認可してよい。ｐｕｂ／ｓｕｂサービスにてデータフローに関する新たなデータが受信されると、それは、認可している下流アプリケーション２にそのデータを公表してよい。幾つかの実施例では、１つの上流アプリケーション２は、１つの軽量ディレクトリアクセスプロトコル（ＬＤＡＰ）ディレクトリのような１つのホストディレクトリにデータフロー４を書き込んでよい。１又は複数の下流アプリケーション２は、ディレクトリに問い合わせることによって、データフロー４にアクセスしてよい。このように、「データフロー」を、データ転送機構を使用した、アプリケーション間でのデータの電子的な転送とみなすことができる。説明したデータフロー転送機構は、例としてのみ提供されている。２以上のアプリケーション２の間のデータフロー４を実施するために、任意の適切な転送機構が使用されてよい。様々な実施例では、他の様々なデータフロー転送機構が使用されてよい。
【００１０】
ブレイクアウトしたセクション６は、単一のアプリケーション２ａにおけるデータフローの様相を示す。例えば、アプリケーション２ａは、他のアプリケーション２ｂ，２ｃ，２ｄから上流データフロー４ａ，４ｂ，４ｃを受信する。下流データフロー４ｄ，４ｅ，４ｆは、アプリケーション２ａから発信され、下流アプリケーション２ｅ，２ｆ，２ｇに供給されてよい。図１の例では、データフロー４ａは、上流アプリケーション２ｂから受信され、データフロー４ｂは上流アプリケーション２ｃから受信され、そして、データフロー４ｃは上流アプリケーション２ｄから受信される。下流データフロー４ｄはアプリケーション２ｃに供給され、下流データフロー４ｅはアプリケーション２ｆに供給され、そして、下流データフロー４ｆはアプリケーション４ｇに供給される。ブレイクアウトしたセクション６は、アプリケーション２ａの単なる構成例を示す。アプリケーション２は、任意の適切な数及び構成の入力データフロー及び出力データフローを有してよい。
【００１１】
図２は、図１の環境１０を実施するために使用され得る分散コンピューティングシステム５０の一例を示す図である。分散コンピューティングシステム５０は、種々のコンピューティングデバイス５２とそれらに関連したデータストア５４とを含んでよい。コンピューティングデバイス５２は、例えば、本明細書で説明するような任意の適切なコンピューティングデバイスを備えていてよい。幾つかのコンピューティングデバイス５２は、１又は複数のサーバであってよく、及び／又は、それらを備えていてもよい。データストア５４は、単一のコンピューティングデバイス５２（例えば、管理コンピューティングデバイス）と関連付けられていてよく、及び／又は、複数のコンピューティングデバイス５２からアクセス可能であってよい。データストア５４は、データベース管理ソフトウェア（ＤＢＭＳ）によって管理されるコンピュータデータベースに実装されていてよい。コンピューティングデバイス５２及びデータストア５４は、１又は複数の複数のネットワーク５６，５８を介して互いに通信可能であってよい。ネットワーク５６，５８は、任意の適切なタイプの有線及び／又は無線ネットワークであってよく、及び／又はそれらを備えてよい。幾つかの実施例では、ネットワーク５６，５８の１又は複数は、インターネットであってよく、及び／又はインターネットを構成してよい。
【００１２】
幾つかの実施例では、分散コンピューティングシステム５０は、１又は複数のシステムノード６０を備えてよい。システムノード６０は、複数のコンピューティングデバイス５２及び／又は複数のデータストア５４を備えており、それらは、共通の地理的位置及び／又はビジネス機能を共有してよい。各システムノード６０は、共通ノードネットワーク５６を利用してよい。ノードネットワーク５６は、システムノード６０の構成要素にアクセス可能な別個のローカルエリアネットワーク（ＬＡＮ）であってよい。幾つかの実施例では、ノードネットワーク５６は、システムノード６０の構成要素にアクセス可能な仮想プライベートネットワーク（ＶＰＮ）又は他の仮想ネットワーク（例えば、セキュアな仮想ネットワーク）を含んでよい。異なるシステムノード６０の構成要素５２，５４は、共通ネットワーク５８を利用して互いに通信してよい。共通ネットワーク５８は、ＶＰＮ又は他のセキュアな仮想ネットワークであってよく、及び／又はそれらを構成していてよい。ネットワーク５６，５８は、任意の適切なタイプの有線及び／又は無線ネットワークであってよく、及び／又はそれらを構成していてよい。幾つかの実施例では、ネットワーク５６，５８の１又は複数は、インターネットであってよく、及び／又はインターネットを構成していてよい。
【００１３】
図１の環境１０を再度参照すると、多くの実施態様では、アプリケーション間の様々なデータフロー４を追跡することが望ましい。例えば、金融サービス会社やその他の場合では、様々なアプリケーション２にとって、正しい出力を生成することが重要であり得る。例えば、幾つかのアプリケーション２は、金融サービス会社の財務状態を説明するレポート（例えば、企業のＰ＆Ｌのレポートなど）を生成してよい。場合によっては、様々なアプリケーション２のレポート又は他の出力が、企業コンプライアンスのために又は正確さの重要性を高めるために必要とされてよい。小売業者の場合には、小売業者の在庫及びサプライチェーンを正確に且つ効率的に追跡するために正しい出力を生成することがアプリケーション２にとって重要であり得る。アプリケーションの出力が正しいことを確認することは、アプリケーション間における複数の「ジャンプ」を経由してアプリケーション２によって受信されたデータフロー４を追跡することを含んでよい。例えば、アプリケーション２ｆの出力の正確さを確認することは、データフロー４ｅに加えて、データフロー４ｅを生成するために使用されるデータフロー４ａ，４ｂ，４ｃの何れかを追跡することを備えてよい。
【００１４】
図３は、図２のシステム５０のような分散コンピューティングシステムによって実行され得るデータフローツール７０の一例を示すブロック図である。幾つかの実施例では、データフローツール７０は、本明細書で説明するように、データフローの追跡を容易にする。データフローツール７０は、分散コンピューティングシステムにおけるデータフローを追跡するように構成された１又は複数のソフトウェアアプリケーション（例えば、環境１０のアプリケーション２）を備えてよい。１又は複数のソフトウェアアプリケーションは、図２のシステム５０のような分散コンピュータシステム５０のコンピュータシステムのプロセッサによって実行されてよい。
【００１５】
データフローツール７０は、データフローを追跡するための様々な機能モジュール７２，７４，７６，７８，８０を備えていてよい。各機能モジュールは、分散コンピューティングシステムにおける単一のコンピューティングデバイス５２で又は複数のコンピューティングデバイス５２にわたって実行され得る１又は複数のアプリケーションを含んでよい。データフローツールの例示的な機能モジュールは、ビジネス機能ディクショナリモジュール７２、データフロー発見モジュール７４、データフロー入力モジュール７６、データフロー追跡モジュール７８、及び視覚化ツールモジュール８０を含む。ビジネス機能ディクショナリモジュール７２は、データコンセプトタイプの定義（例えば、データコンセプトタイプ定義）を含んでよい。データフロー定義は、例えば、データコンセプトタイプに関連付けられたビジネス機能を定義してよい。幾つかの実施例では、データフローディクショナリモジュール７２はまた、各データコンセプトタイプについて、既知の、及び／又は許容可能な境界の記述を含む。境界データは、データコンセプトタイプのサブセット（例えば、データコンセプトタイプの全てよりも少ない）を指定してよい。ディクショナリモジュール７２はまた、各データコンセプトタイプ及び境界について、コンセプトタイプの属性データを含んでよい。属性データは、価格、価値、通貨、日付などコンセプトタイプに関連するパラメータを含んでよい。
【００１６】
データフロー発見モジュール７４は、分散コンピューティングシステム上で実行されているアプリケーション２の間のインタラクションを分析して、潜在的データフロー４（図１）を特定するように構成されてよい。データフロー発見モジュール４はまた、特定された潜在的データフローに対して、（ビジネス機能ディクショナリモジュール７２からの）データコンセプトタイプ、境界データ、及び／又はデータ属性を割り当てるように構成されてよい。データフロー入力モジュール７６は、インタフェース（例えば、グラフィカルユーザインタフェース）をユーザに提供してよい。インタフェースは、分散コンピューティングシステムで実行されているアプリケーションから選択された対象アプリケーションを示してよい。例えば、インタフェースは、対象アプリケーションに関連するユーザ（例えば、管理ユーザ）に対して、そのユーザが使用するディスプレイ又はモニタ上で提供されてよい。インタフェースを介して、ユーザは、データフローの様々な記述をデータフロー入力モジュールに提供してよい。例えば、ユーザは、対象アプリケーションの上流及び／又は下流の１又は複数のデータフローを特定してよい。上流アプリケーションは、対象アプリケーションに受信データを提供するアプリケーションである。下流アプリケーションは、対象アプリケーションから発信データを受信するアプリケーションである。ユーザはまた、インタフェースを介して、他のユーザによって及び／又はデータフロー発見モジュールによって特定されたデータフローを、本明細書で説明されるように確認してよい。幾つかの実施例では、ユーザは、データフローを承認すること、データフローを拒否すること、及び／又はデータフローを変更することによって、データフローを確認してよい。
【００１７】
データフロー追跡モジュール７８は、分散コンピューティングシステムにおけるデータフローを追跡するために様々なタスクを実行するようにプログラムされてよい。例えば、フロー追跡モジュール７８は、（例えば、障害を含む）対象アプリケーション又は対象データフロー（の破損を含む）によるデータエラーによって影響を受けるであろうアプリケーションを特定して、アプリケーションが受信した上流データフローが信頼できること（即ち、データフローの承認されたソースであること）等を確認するようにプログラムされてよい。視覚化ツール８０は、本明細書で説明されるように、データフローとアプリケーションの間の関係を示す、様々なグラフィカルユーザインタフェースを提供するようにプログラムされてよい。例えば、ユーザは、視覚化ツール８０によって提供されるユーザインタフェースを利用して、分散コンピューティングシステムにおけるエラーの特定及び訂正し、分散コンピューティングシステムの構成が正しい又は最適であるかを確認してよい。
【００１８】
図４は、図２のようなシステムの分散コンピューティングシステムにおけるデータフローを追跡するためにデータフローツール７０によって実行され得る処理フロー９０の一例を示すフローチャートである。ステップ９２では、データフローツール７０は、（例えば、データフロー発見モジュール７４を利用して）潜在的データフローを特定してよい。潜在的データフローを特定するための１つの例示的な手法は、図５を参照して本明細書で説明される。ステップ９４では、データフローツール７０（例えば、データフロー入力モジュール７６）は、ステップ９２で特定された潜在的データフローの確認を受信してよい。潜在的データフローの確認を受信するための複数の例示的な手法は、例えば、図７−図２３に関連して、本明細書で説明される。ステップ９６では、データフローツール７０は、新しいデータフローを受信してよい。新しいデータフローを受信する複数の例示的な手法もまた、本明細書で説明される。幾つかの実施例では、ステップ９２及び９４は省略されてよい。例えば、データフローツール７０は、データフローを能動的に発見することなくデータフローを追跡してよい（例えば、データフローツール７０は、ステップ９６でユーザによって提供されるデータフローに応答してよい）。なお、幾つかの実施例では、ステップ９６は省略されてもよい。例えば、データフローツール７０は、ステップ９４で発見及び確認されたデータフローに基づいてデータフローを追跡してよい。また、随意選択的に、本明細書で説明するように、データフローモジュール７０は、ステップ９６で特定された新しいデータフローの確認を受信してよい。例えば、対象アプリケーションに対して特定されたデータフローは、本明細書で説明されるようにして、適切な下流及び／又は上流アプリケーションに関連するユーザによって確認されてよい。
【００１９】
ステップ９２、９４及び９６に関して上述したように決定されたデータフローは、任意の適切な方法でデータフローツール７０によって使用されてよい。例えば、ステップ９８では、データフローツール７０（例えば、視覚化ツールモジュール８０）は、例えば本明細書で説明するように、データフロー視覚化インタフェースを生成してよい。視覚化インタフェースは、ユーザによって利用されて、例えば、データフローをトレース又は追跡して、分散コンピューティングシステムにおけるアプリケーションデータエラーの影響などが特定される。ここで、視覚化インタフェースの例が説明される。視覚化インタフェースを生成することに加えて又は代えて、データフローツール７０（例えば、データフロー追跡モジュール７８）は、ステップ９９において、データフロー分析を実行してよい。データフロー分析は、例えば、対象アプリケーション又は対象データフローのデータエラーによって影響を受けるであろうアプリケーションを特定すること、及び、アプリケーションが受信した上流データフローが信頼できるものであることを確認することを含んでよい。
【００２０】
図５は、図２のシステム５０のような分散コンピューティングシステムにおける潜在的データフローを特定する処理フロー１００の一例を示すフローチャートである。例えば、処理フロー１００は、データフローツール７０（例えば、そのデータフロー発見モジュール７４）が、図４について上述したステップ９２にて潜在的データフローを特定する例示的な１つの手法である。ステップ１０２では、データフローツール７０は、分散コンピューティングシステムにおける１又は複数のデータフロー転送機構を記述するデータ（例えば、メタデータ）を受信してよい。データフロー転送機構は、例えば、図示されているように、データキュー又はデータスタック１０８、データベース１１０、パブ／サブデータサービス１１２、データディレクトリ１１４などを備えてよい。任意の適切なデータフロー転送機構は、図５に示されたものに加えて又は代えて、例えばバッチジョブ依存関係、メインフレーム（ＡＤＡＢＡＳ）ファイルの使用などを含む任意の適切なデータフロー転送機構が使用されてよい。例えば、データは、データフロー転送機構に書き込む及び／又はそこから読み取るアプリケーションを記述するデータ、データフロー転送機構に書き込まれる及び／又はそこから読み出されるデータフローを記述するデータなどであってよい。
【００２１】
ステップ１０４では、データフローツール７０は、ステップ１０２で説明したデータフローの受信アプリケーション及び発信アプリケーションを特定してよい。例えば、第１のアプリケーションがデータフロー転送機構にデータを書き込み、第２のアプリケーションがそのデータを読み取る場合、データフローツール７０は、第１のアプリケーションと第２のアプリケーションの間の潜在的データフローを特定してよい。潜在的データフローは、第１のアプリケーション、第２のアプリケーションによって、幾つかの実施例では更に、データの記載（description）によって、記述されてよい。データフローツール７０に格納され得るデータの記載は、例えば、（例えば、ビジネス機能ディクショナリ７２にて定義される）データコンセプトタイプ及び／又はデータフロー境界データを含んでよい。幾つかの実施例では、複数のアプリケーションが特定のデータフロー転送機構から同じデータを受信する場合、複数の潜在的データフローが特定されてよい。例えば、上述の第１及び第２のアプリケーションに再度言及すると、第３のアプリケーションも、第１のアプリケーションによって書き込まれたデータをデータフロー転送ツールから読み出す場合、その結果として、データフローツール７０は、第１のアプリケーションと第３のアプリケーションの間のさらなる潜在的データフローを特定してよい。ステップ１０６では、データフローツール７０は、後の使用のためにステップ１０４で特定された潜在的データフローを格納してよい。潜在的データフローは、任意の適切な方法で使用されてよい。例えば、潜在的データフローは、本明細書に記載のようなデータフロー追跡及び／又は本明細書に記載のようなデータフロー可視化に使用されてよい。幾つかの実施例では、潜在的データフローは、本明細書に記載のようにして、確認されてよい。
【００２２】
幾つかの実施例では、データフローツール７０の様々な機能が、データフローユーザインタフェース１２０を介してアクセスされてよい。ユーザインタフェースは、任意の種類の適切な表示装置（例えば、ウェブインタフェース、モニタ、ラップトップ、スマートフォンなど）に表示されてよい。図６は、データフローユーザインタフェース１２０の構成の一例を示す図である。データフローユーザインタフェース１２０からのインタフェース画面の実施例は、例えば、図８、１０−２３、２５−２９、３１−３６及び３８−４１に関連して説明される。例えば、データフローユーザインタフェース１２０は、ビュー／管理アプリケーションモジュール１２２を備えてよい。ビュー／管理アプリケーションモジュール１２２は、ユーザによる潜在的データフローの確認、及び／又は、新たなデータフローの受取りを容易にするためのインタフェース画面を備えてよい。検索/編集データディクショナリモジュール１２４は、本明細書で説明するようにして、データコンセプトタイプと、及び/又は、ユーザによる境界データの定義とを検索及び/又は変更するインタフェース画面を備えてよい。トレースデータリネージモジュール１２６は、本明細書で説明されているようにして、データフローを追跡するユーザのためのグラフィカルな視覚化を含むインタフェース画面を備えてよい。探索データフローモジュール１２８は、例えば図３７−４１に関連して本明細書で説明されるようにして、データフロー追跡のさらなる視覚化を含むユーザインタフェース画面を備えてよい。
【００２３】
図７は、例えば上述の図４のステップ９４に関して本明細書で記述されたように、潜在的データフローを分析するための処理フロー１５０の一例を示すフローチャートである。処理フロー１５０は、データフローツール７０（例えば、そのデータフロー入力モジュール７６）によって実行されてよく、本明細書で記述されたように、データフローインタフェース（例えば、ビュー／管理アプリケーションモジュール１２２）を使用してよい。ステップ１５２では、データフローツール７０は、対象アプリケーションについてデータを示すユーザインタフェースをユーザに提供してよい。例えば、ユーザインタフェースは、上流及び下流データフローを含む対象アプリケーションの表示を備えてよい。ユーザは、対象アプリケーションに関連するユーザ（例えば、対象アプリケーションの管理者又は他の管理的なユーザ）であってよい。図８は、ステップ１５２でユーザに提供され得るインタフェース画面の一例を示すスクリーンショットである。例えば、画面２００は、ユーザインタフェース１２０（図６）から選択されてよい。画面２００は、ビュー／管理アプリケーションモジュール１２２に対応してよい。ユーザは、タブ２０３を選択することで、ビュー／管理アプリケーションモジュール１２２を選択してよい。インタフェース１２０は、他のタブの選択時に他のモジュールを表示してよい。例えば、ユーザがタブ２０２を選択すると、インタフェース１２０は検索／編集モジュール１２４に対応する画面（図８に図示せず）を表示してよい。ユーザがタブ２０６を選択すると、ユーザインタフェース１２０はトレースリネージデータモジュール１２６に対応する画面（図８に図示せず）を表示してよい。
【００２４】
画面２００において、対象アプリケーションアイコン２０８は、対象（又は「焦点」）アプリケーションに対応している。図８の例では、対象アプリケーションは、「Ａｐｐｌｉｃａｔｉｏｎ  Ａ」と呼ばれている。対象アプリケーションの左の列又はフィールドにおける上流フィールド２１０は、対象アプリケーション２０８にデータフローを提供するアプリケーションに対応するアイコンを備えている。右の列又はフィールドにおける下流フィールド２１２は、対象アプリケーションからデータフローを受信するアプリケーションに対応するアイコンを備えている。様々な実施例では、個々のフィールド２１０，２１２における各アイコンは、対応するデータフローの確認状態の表示を備える。データフロー分析ツールを使用して、ユーザは、確認状態によってデータフローを分類して、分類に従ってリスト又はレポートを生成してよい。データフロー分析ツールは、確認状態のカテゴリの予め決定されたセットを使用してよい。例えば、アイコン２１６は、「Ａｐｐｌｉｃａｔｉｏｎ  ３」と呼ばれる上流アプリケーションの一例に対応する。Ａｐｐｌｉｃａｔｉｏｎ  ３のアイコン２１６は、「Ｄｉｓｃｏｖｅｒｅｄ」とマークされている。これは、例えば、図５に関して説明したようにして、Ａｐｐｌｉｃａｔｉｏｎ  ３からのデータフローがデータフロー発見モジュール７４によって発見されているかも知れない旨を示す。アイコン２２２は、「Ａｐｐｌｉｃａｔｉｏｎ  ７」と呼ばれる上流アプリケーションに対応する。Ａｐｐｌｉｃａｔｉｏｎ  ７のアイコン２２２は、「Ｄｉｓｃｏｖｅｒｅｄ  Ｎｅｗ」とマークされており、Ａｐｐｌｉｃａｔｉｏｎ  ７に対応するデータフローがデータフロー発見モジュール７４に新たに発見された（例えば、ユーザがインタフェース画面２００を見た最後の時以降に発見された）旨を示している。アイコン２１４は、「Ａｐｐｌｉｃａｔｉｏｎ  ５」と呼ばれる上流アプリケーションに対応する。アイコン２１４は、「Ａｌｌｅｇｅｄ」とマークされている。これは、Ａｐｐｌｉｃａｔｉｏｎ  ５に関連しているユーザがＡｐｐｌｉｃａｔｉｏｎ  ５からのデータフローを主張した旨を示すだろう。アイコン２１８は、「Ａｐｐｌｉｃａｔｉｏｎ  １４」と呼ばれる上流アプリケーションに対応する。Ａｐｐｌｉｃａｔｉｏｎ  １４のアイコン２１８は、「Ｐｅｎｄｉｎｇ」とマークされている。これは、ユーザが、Ａｐｐｌｉｃａｔｉｏｎ  １４からのデータフローを潜在的データフローとして入力した旨を示すだろう。潜在的データフローは、Ａｐｐｌｉｃａｔｉｏｎ  １４に関係するユーザによって確認及び／又は承認されると、現実のデータフローに更新されてよい。アイコン２２０は、「Ａｐｐｌｉｃａｔｉｏｎ  １」と呼ばれるアプリケーションに対応する。アプリケーション１アイコン２２０は、「Ｄｅｃｌｉｎｅｄ」とマークされている。これは、他の関係者（例えば、データフロー発見モジュール７４及び／又はＡｐｐｌｉｃａｔｉｏｎ  １に関係するユーザ）が、Ａｐｐｌｉｃａｔｉｏｎ  １とＡｐｐｌｉｃａｔｉｏｎ  Ａ（アイコン２０８）の間の潜在的データフローの存在を主張したものの、Ａｐｐｌｉｃａｔｉｏｎ  Ａに関係するユーザが、潜在的データフロー��拒否した旨を示しており、例えばアプリケーション間にデータフローがない及び／又は潜在的データフローが正しくない旨を示している。幾つかの実施例では、「Ｄｅｃｌｉｎｅｄ」マークは、Ａｐｐｌｉｃａｔｉｏｎ  Ａに関連したユーザがデータフローを申し出たが、Ａｐｐｌｉｃａｔｉｏｎ  １に関連したユーザがそれを拒否した旨を示してよい。下流フィールド２１２におけるアイコン２２４，２２６は、同様の意味を有するラベルで同様にラベル付けされてよい。これらの様々な確認の状態は、対象アプリケーションのデータフローの性質について、システムの様々なユーザとシステム自身の間での合意の状態を示す。
【００２５】
なお、図８において、対象又は焦点アプリケーション（例えば、図８におけるＡｐｐｌｉｃａｔｉｏｎ  Ａ）が上流アプリケーションを持たない場合、対象／焦点アプリケーションの左に上流アプリケーションは示されない。これは、対象／焦点アプリケーションがデータフローの元のソースである場合に該当であろう。同様に、対象／焦点アプリケーションが下流アプリケーションを有さない場合、対象／焦点アプリケーションの右に下流アプリケーションは示されない。これは、対象／焦点アプリケーションからのデータを他のアプリケーションが使用しない場合に該当であろう。
【００２６】
図７を再度参照すると、ステップ１５４では、データフローツール７０は、主張された及び／又は発見されたデータフローを承認又は否定するデータを受信してよい。例えば、ユーザは、アイコン２１４，２１６，２２２，２２６のような、上流又は下流アプリケーションに関連するアイコンを選択してよく、当該上流又は下流アプリケーションは、対象アプリケーションへの又は対象アプリケーションからのデータフローの一部であると主張されているか（例えば、２１４）、或いは、潜在的データフローとして発見されている（例えば、２１６、２２２，２１８，２２４，２２６）。データフローツール７０は、ステップ１５６にて、ユーザがデータフローを承認したか否かを判定し、（データフローが上流であるか下流であるかに応じて）対象アプリケーションがデータフローを受信又は供給することをユーザが同意する旨を示してよい。承認した場合、データフローツール７０は、データフローを承認済みとしてマークしてよい。図８を参照すると、「Ａｐｐｌｉｃａｔｉｏｎ  ２４」と呼ばれる下流アプリケーションに対応する例示的なアイコン２２８は、例えば、他の状態の表示を取り除くことによって、承認済みとしてマークされている。ステップ１５６でユーザがデータフローを承認していない場合、データフローツール７０は、ステップ１６０で、ユーザがデータフローを拒否しているか否かを判定してよい。拒否している場合、例えば、上述したように、アイコン２２０（図８）で示されて、データフローツール７０は、ステップ１６２で、拒否されたものとしてデータフローをマークしてよい。ステップ１６４では、データフローツール７０は、ユーザがデータフローを修正したか否かを判定してよい。修正した場合、データフローツール７０は、ステップ１６６で、アイコン２１８と同様に、ペンディング（pending）としてデータフローをマークしてよい。データフローは、データストリームに関与する他の上流又は下流アプリケーションに関連したユーザがそのデータストリームを許容、拒否又は修正するまで、ペンディング状態を維持してよい。ステップ１６８では、データフローツール７０は、さらなる（分類されていない）データフローが残っているか否かを判定してよい。残っている場合には、処理フローはステップ１５４に戻ってよい。
【００２７】
図９は、図６のデータフローユーザインタフェース１２０（例えば、ビュー／管理アプリケーションモジュール１２２）を介して、新たなデータフローをアプリケーションに追加する処理フロー２５０の一例を示すフローチャートである。例えば、処理フロー２５０は、データフローツール７０（例えば、データフロー入力モジュール７６及び／又は視覚化ツールモジュール８０）によって実行されてよい。ステップ２５２では、データフローツール７０は、例えば、上述のインタフェース画面２００に似ており、対象アプリケーションを記載するユーザインタフェースをユーザに提供してよい。ユーザは、対象アプリケーションに関連したユーザ（例えば、対象アプリケーションの管理者又はその他の管理的なユーザ）であってよい。ステップ２５４では、データフローツール７０は、ユーザインタフェースを介して、対象アプリケーションの上流又は下流の何れかの新たなデータフローの記載を受信してよい。例えば、データフローツール７０は、そのデータフローについて、（例えば、ビジネス機能ディクショナリ７２から選択された）データコンセプトタイプを受信してよい。幾つかの実施例では、データフローツール７０は更に、データフロー境界データを受信してよい。ステップ２５６では、データフローツール７０は、受信したデータフローを、別のアプリケーション（そのデータフローが上流である場合にはデータフローを生じる上流アプリケーションであり、そのデータフローが下流である場合にはデータフローを受信する下流アプリケーションである）の主張リストに、追加してよい。例えば、データフローは、例えば、図７を参照して本明細書にて説明されたように、他のアプリケーションに関連したユーザによって承認及び／又は確認されるまで、主張状態を維持してよい。ステップ２５８では、データフローツール７０は、追加のデータフローをユーザが提供するか否かを判定してよい。提供する場合、処理フローは、ステップ２５４に戻って、データフローツール７０は追加のデータフローを受信してよい。
【００２８】
図１０−２３は、ＧＵＩ画面３００の一例を示すスクリーンショットであって、ＧＵＩ画面３００は、図９を参照して説明したようにデータフローを追加するために、ユーザ（例えば、管理的なユーザのような対象アプリケーションに関連したユーザ）に提供される．図１０を参照すると、画面３００は、タブ２０２，２０２´，２０４，２０６，２０７を備えており、それらは、データフローインタフェース１２０の様々なモジュール１２２，１２４，１２６，１２８に関連する画面を表示するために選択されてよい。例えば、タブ２０４は、ビュー／管理アプリケーションモジュール１２２から画面３００を表示するために選択される。タブ２０２及び２０２´は、検索／編集データディクショナリモジュール１２４から１又は複数の画面を表示するために選択されてよい。例えば、タブ２０２は、データディクショナリの検索のための画面を表示するために選択されてよく、タブ２０２´は、データディクショナリの編集のための画面を表示するために選択されてよい。タブ２０６は、トレースデータリネージモジュール１２６から画面を表示するために選択され、一方、タブ２０７は、探索データフローモジュール１２８から画面を表示するために選択されてよい。
【００２９】
画面３００は、上述の画面２００と同様に、上流又は受信フィールド２１０と、下流又は発信フィールド２１２とを備えている。フィールド２１０，２１２は、図１０の例ではまだ配置されていない。図１０に示す対象アプリケーションアイコン３０２は、「Ａｐｐｌｉｃａｔｉｏｎ  Ａ」と呼ばれる対象アプリケーションを示している。図１１では、「Ａｄｄ  Ｉｎｃｏｍｉｎｇ  Ａｐｐｌｉｃａｔｉｏｎ」フィールド３０４と共に画面３００が示されている。図１１では、フィールド３０４は対象アプリケーションアイコン３０２の上に配置されているが、他の実施例は、フィールド３０４を異なる場所に配置してよい。ユーザは、対象アプリケーションに上流又は受信データフローを供給する上流又は受信アプリケーションを、フィールド３０４から選択してよい。フィールド３０４は、上流又は受信アプリケーションの表示をユーザがタイプできるテキストボックス３０６を備えてよい。幾つかの実施例では、インタフェース１２０は、上流アプリケーションをユーザが選択できるドロップダウンフィールド３０８を提供してよい。上流アプリケーションが選択されると、ユーザは、追加（add）ボタン３１０を選択してよい。追加ボタン３１０が選択されると、図１２に示すように、新たな上流アプリケーションアイコン３１２が画面３００に追加されてよい。図１３は、同様な発信又は下流アプリケーションアイコン３１４が追加された後における画面３００を示す。下流アイコン３１４は、図１１においてアイコン３１２について示された手法と同様な手法で追加されてよい。
【００３０】
上流又は下流アプリケーションが追加されると、ユーザは、例えば、アイコン３１２，３１４で「Ａｄｄ  Ｃｏｎｃｅｐｔ」ボタン３１８を選択することによって、アプリケーションに関連するデータストリームを特徴付けてよい。「Ａｄｄ  Ｃｏｎｃｅｐｔ」ボタンを選択することで、ユーザは、関係するアプリケーションからのデータフローに関連するデータコンセプトタイプの指定ができる。例えば、データコンセプトタイプは、データフローに関連付けられて、データフロー内のデータのタイプ（例えば、データフローのビジネス機能）を特徴付けてよい。データフローは、単一のデータコンセプトタイプを含んでよい。幾つかの実施例では、幾つか又は全てのデータフローは、複数のデータコンセプトタイプを含んでよい。例えば、単一のデータフロー転送機構が、同じ２つのアプリケーション間で２以上のデータコンセプトタイプを発信することに使用されてよい。「Ａｄｄ  Ｃｏｎｃｅｐｔ」ボタンを選択することで、「Ａｄｄ  Ｃｏｎｃｅｐｔ」フィールド３１６（図１４）が立ち上げられてよい。「Ａｄｄ  Ｃｏｎｃｅｐｔ」フィールド３１６は、データコンセプトタイプを受け入れるためのフィールドを備えてよい。幾つかの実施例では、「Ａｄｄ  Ｃｏｎｃｅｐｔ」フィールド３１６は、データストリームタイプの残りの部分を自動で満たすように構成されてよい。幾つかの実施例では、「Ａｄｄ  Ｃｏｎｃｅｐｔ」フィールドは、「Ｂｒｏｗｓｅ  Ｃｏｎｃｅｐｔｓ」ボタンを有してよく、当該ボタンは、本明細書で説明するように、選択されると、インタフェース１２０の検索／編集ディクショナリモジュール１２４を起動する。例えば、選択されたデータフローの１又は複数のデータコンセプトタイプが、そのディクショナリから選択されてよい。「Ｒｅｑｕｅｓｔ  Ｃｏｎｃｅｐｔ」ボタンが選択されると、新しいデータコンセプトタイプ（例えば、現在のところディクショナリモジュール１２４にはない新しいデータコンセプトタイプ）をユーザが選択できる。
【００３１】
データコンセプトタイプが選択されると、「Ａｄｄ  Ｃｏｎｃｅｐｔ」フィールド３１６は、境界フィールド３１８を表示して（図１５）、そこから、ユーザは、データフローについて境界を選択してよい。図１５において示されたように、境界カテゴリフィールド３２０は、データフローを特徴付ける境界のカテゴリをリストしてよい。境界フィールド３２２は、境界カテゴリフィールド３２０で選択されたカテゴリの下に境界をリストしてよい。本明細書で説明するインタフェース画面３００の実施例は、小売業者に関連していてよい。例えば、各アプリケーション（Ａｐｐｌｉｃａｔｉｏｎ  Ａ，Ｂなど）は、積出港及び／又は小売店の場所に関連してよく、データコンセプトタイプは、流通又は購入され得る製品のタイプに関連してよい。図１５の例では、選択されたデータコンセプトタイプは、「Ｔｅｌｅｖｉｓｉｏｎ」である。境界カテゴリ「Ｓｃｒｅｅｎ  Ｓｉｚｅｓ」が選択されている。様々な画面サイズが境界フィールド３２２に表示されている。「Ｍｅｄｉｕｍ  Ｓｃｒｅｅｎ  −  Ｂｅｔｗｅｅｎ  ４２  ａｎｄ  ５５  ｉｎｃｈｅｓ」が選択されている。これは、アイコン３１８が示している上流プリケーションからのデータフローが、４２〜５５インチの画面サイズを有するテレビジョン（例えば、小売業者の在庫のテレビジョン）に関連することを示してよい。選択された境界は、選択された境界フィールド３２４に表示されてよい。例えば、図１５では、ユーザは、発光ダイオード（ＬＥＤ）ディスプレイを有するテレビジョンを示す境界を既に選択している。ユーザは、フィールド３２４で「Ａｄｄ」ボタンを選択して、選択された境界フィールド３２４にリストされた境界をデータフローに追加してよい。データフローに追加された境界は、境界設定フィールド３２６（図１６）に表示されてよい。例えば、図１６の例は、ユーザが、カテゴリ「Ｓｃｒｅｅｎ  Ｓｉｚｅ」の境界「４２−５５  Ｉｎｃｈｅｓ」を選択し、カテゴリ「Ｔｅｃｈｎｏｌｏｇｙ」の境界「ＬＥＤ  Ｄｉｓｐｌａｙ」を選択した模様を示している。ユーザは、例えば、「Ａｃｃｅｐｔ」ボタン３３０を選択することによって、選択されたデータフローについてこれらの境界を受け入れてよい。図１７は、インタフェース３００の一例を示しており、Ａｐｐｌｉｃａｔｉｏｎ  Ｂからの境界データ（アイコン３１２）が受け入れられている。例えば、アイコン３１２は、データコンセプトタイプと選択された境界とを列挙するデータフローフィールド３３４を備えてよい。対象アプリケーションアイコン３０２はまた、データコンセプトタイプと境界データを列挙するデータフローのためのデータフローフィールド３３２を備えてよい。また、ユーザは、ＧＵＩを介して、選択されたデータコンセプトタイプについて適用可能な属性データを選択できる。「Ａｄｄ  Ａｔｔｒｉｂｕｔｅ」フィールド（図示せず）を使用することで、ユーザは、選択されたコンセプトタイプに適用可能なデータ属性を選択することができる。そこから選択する可能性のある属性のリストは、選択されたコンセプトタイプに基づいて予め配置されてよい。属性は、選択されたコンセプトタイプのパラメータに関連してよい。金融サービスの分野では、属性は、価格、日付、通貨、金額などのパラメータを含んでよい。ユーザは、１又は複数の適用可能な属性を選択してよい。
【００３２】
図１８は、画面３００の一例を示しており、「Ａｄｄ  Ｃｏｎｃｅｐｔ」フィールド３１６は、ユーザが、寄与データコンセプトタイプをデータフローに追加する「Ａｄｄ  Ｃｏｎｔｒｉｂｕｔｉｎｇ  Ｃｏｎｃｅｐｔ」フィールド３４０を備えている。寄与データコンセプトタイプは、データフローを作成するための（例えば、上流アプリケーションによって使用される別のアプリケーションからの）データフローであってよい。例えば、寄与データコンセプトタイプは、上流データフローの上流アプリケーションから受信したデータコンセプトタイプであってよい。図１９の例では、データコンセプトタイプ「Ｅｎｔｅｒｔａｉｎｍｅｎｔ  Ｓｙｓｔｅｍ」が、「Ａｄｄ  Ｃｏｎｔｒｉｂｕｔｉｎｇ  Ｃｏｎｃｅｐｔ」フィールド３４０にリストされた寄与データコンセプトタイプ「ＤＶＤ  Ｐｌａｙｅｒｓ」と共に提供されている。例えば、実際に出荷可能なエンターテイメントシステム（Entertainment Systems）の数は、（例えば、エンターテイメントシステムの一部としてではなく）個々の販売用に割り当てられたＤＶＤプレーヤの数に依存し得る。従って、Ａｐｐｌｉｃａｔｉｏｎ  Ｂは、データコンセプトタイプ「ＤＶＤ  Ｐｌａｙｅｒｓ」のデータを有するデータフローを受信して、データコンセプトタイプ「Ｅｎｔｅｒｔａｉｎｍｅｎｔ  Ｓｙｓｔｅｍ」のデータフローを生成してよい。図１９は、寄与アプリケーションフィールド３４２を示しており、それは、寄与データコンセプトタイプのソースであるアプリケーション（例えば、Ａｐｐｌｉｃａｔｉｏｎ  Ｋ）の表示を受信するように構成されてよい。図２０は、選択された寄与データコンセプトタイプ「ＤＶＤ  Ｐｌａｙｅｒｓ」及びソースアプリケーションを反映している「Ａｄｄ  Ｃｏｎｔｒｉｂｕｔｉｎｇ  Ｃｏｎｃｅｐｔ  ｆｉｅｌｄ」フィールド３４０を示している。図２１は、データフローの後の画面３００を示しており、図１８−２０に示された寄与データコンセプトタイプが受け入れられている。例えば、対象アプリケーションアイコン３０２は、寄与データコンセプトタイプの詳細をリストする寄与データコンセプトタイプフィールド３４５を備えてよい。図２２及び２３は、発信データフローを記述するデータを受け取るための「Ａｄｄ  Ｏｕｔｇｏｉｎｇ  Ｃｏｎｃｅｐｔ」フィールド３４６を含む画面３００を示している。「Ａｄｄ  Ｏｕｔｇｏｉｎｇ  Ｃｏｎｃｅｐｔ」フィールド３４６は、本明細書で説明する「Ａｄｄ  Ｃｏｎｃｅｐｔ  ｆｉｅｌｄ」フィールド３１６と同様の手法で動作してよい。
【００３３】
幾つかの実施例では、データフローツール７０は、別のアプリケーション（例えば、上流又は下流アプリケーション）を新しい対象アプリケーション（例えば、インタフェースの中央にある新しい焦点アプリケーション）にするために、インタフェース画面３００を再構成するようにプログラムされてよい。図２４は、新しい対象アプリケーションを示すためにユーザインタフェース画面３００を変更する処理フロー４００の一例を示すフローチャートである。４０２では、データフローツールは、ユーザインタフェース画面３００を表示してよい。ユーザインタフェース画面３００は、インタフェース画面を示す様々な図に示したように、対象アプリケーションのアイコンと、少なくとも１つの上流アプリケーション及び／又は少なくとも１つの下流アプリケーションについて対応するアイコンを備えている。図２５は、対象アプリケーションアイコン３０２、上流アプリケーションアイコン３１２及び下流アプリケーションアイコン３１４を含むインタフェース画面３００の別の例を示している。図２４に戻ると、データフローツール７０は、新しい対象アプリケーションになる上流又は下流のアプリケーションアイコン３１２，３１４のユーザによる選択を受信してよい。例えば、ユーザは、上流アプリケーションアイコン２３１２を選択してよい。ステップ４０６では、データフローツール７０は、インタフェース画面３００を再設定して、選択された上流アプリケーション又は下流アプリケーションを新しい対象アプリケーションにしてよい。例えば、図２６は、再設定後のインタフェース画面３００を示す。選択された上流アプリケーションアイコン２３１２に対応するアプリケーションは、アイコン１３０２によって示された新しい対象アプリケーションとなっている。新しい上流アプリケーションは、アイコン１３１２によって示されている。新しい下流アプリケーションは、アイコン１３１４及び２３１４によって示されており、アイコン２３１４は、以前の対象アプリケーションに対応している。
【００３４】
図２７−２９は、インタフェース画面５００の一例を示すスクリーンショットであり、インタフェース画面５００は、データフローユーザインタフェース１２０の検索／編集データディクショナリモジュール１２４から選択されてよい。図２７を参照すると、画面５００は、例えば、本明細書で説明したようにタブ２０２を選択することによって表示されてよい。画面５００は、階層的な対象領域フィールド５０２を備えてよく、データコンセプトタイプ定義について階層的な対象領域を示してよい。図２７の例では、対象領域「Ａｕｄｉｏ」とサブ領域「Ｗｉｒｅｓ」が選択されている。定義フィールド５０３は、階層名称コラム５０４を備えており、データコンセプトタイプの名前及び/又はカテゴリを示している。権限コラム５０８は、表示されたデータフローに対する信頼できる１又は複数のソース（例えば、データフローの確認されたソース）が存在するか否かを示してよい。記述コラム５０５は、各データコンセプトタイプの記載又は定義の全て又は一部を含んでよい。図２８は、追加の「Ｄｅｔａｉｌｓ／Ａｕｔｈｏｒｉｔｙ」フィールド５１０を有する画面５００を示す。フィールド５１０は、「Ｄｅｔａｉｌｓ」タブ５１２を含んでよく、それは、選択されると、「Ｄｅｔａｉｌｓ／Ａｕｔｈｏｒｉｔｙ」フィールド５１０に、選択されたデータコンセプトタイプのより詳細な記述又は定義を含ませる。図２９は、「Ｄｅｔａｉｌｓ／Ａｕｔｈｏｒｉｔｙ」フィールド５１０の権限タブ５１４が選択された画面５００を示す。これによって、「Ｄｅｔａｉｌｓ／Ａｕｔｈｏｒｉｔｙ」フィールド５１０に、（例えば、異なる境界について）データコンセプトタイプを提供することを許可されたアプリケーションの表示が含められてよい。幾つかの実施例では、例えば、「Ｅｄｉｔ  Ｄａｔａ  Ｄｉｃｔｉｏｎａｒｙ」タブ２０２´を選択することによって、ユーザは、画面５００においてデータコンセプトタイプ、境界データ、及び／又は権限データを修正してよい。データコンセプトタイプ、境界データ及び／又は権限データを変更するために、ユーザは、インタフェース画面５００から適切なフィールドを選択して、所望の修正を入力してよい。
【００３５】
図３０は、トレースデータリネージモジュール１２６６の処理フロー６００の一例を示すフローチャートである。この処理フローは、データフローツール７０（例えば、その視覚化ツール８０）によって実行されてよい。ステップ６０２では、データフローツール７０は、アプリケーション（例えば、下流及び/又は上流のデータフローがトレースされる対象アプリケーション）の表示を受信してよい。ステップ６０４では、データフローツール７０は、上流又は下流のデータフローがトレースされるか否かの表示を受信してよい。ステップ６０６では、データフローツール７０は、例えば、データコンセプトタイプ及び境界データを含む、トレースされるデータフローの表示を受信してよい。ステップ６０８では、データフローツール７０は、ユーザインタフェース画面を表示してよく、当該ユーザインタフェース画面は、対象アプリケーションへのデータフローを提供する、及び/又はデータフローを受信する上流及び/又は下流アプリケーションを示すアイコンを備えている。ステップ６１０では、データフローツールは、アイコンの間にフローラインを表示してよい。フローラインは、対応するアプリケーション間のデータフローを示してよい。
【００３６】
図３１−３６は、インタフェース画面７００の例を示すスクリーンショットであって、例えば図３０に関して説明したようなデータフローのトレースを表示する。図３１−３６では、データフローは、「Ｄａｔａ  Ｃｏｎｃｅｐｔ  Ｔｙｐｅ」とラベル付けされている。単一のデータフローは、単一のデータコンセプトタイプ及び/又は複数のデータコンセプトタイプのデータを備えてよい。幾つかの実施例では、タブ２０６が選択されると、画面７００が表示されてよい。図３１を参照すると、「Ｃｏｎｔｅｘｔ  Ｓｙｓｔｅｍ」コラム７０２は、対象アプリケーションによって生成された及び/又はそれを通ったデータフロー７０４を表示する。「Ｄｏｗｎｓｔｒｅａｍ／Ｕｐｓｔｒｅａｍ」フィールド７０６は、画面７００が、下流又は上流のデータフロー（例えば、上記の６０４を参照）の何れを示している旨の表示を受け取ってよい。図３２は、アプリケーションノードの階層を示している。図３２では、ユーザは、「Ｃｏｎｔｅｘｔ  Ｓｙｓｔｅｍ」コラム７０２から「Ｄａｔａ  Ｃｏｎｃｅｐｔ  Ｔｙｐｅ  ３」と呼ばれるデータフローを選択した（例えば、上記の６０６を参照）。データフローツール７０は、各アプリケーションアイコンが対象アプリケーションの下流のアプリケーションに対応するアプリケーションアイコンを含むように、第１のアプリケーションノードレベルコラム７０８を設定してよい。フローライン７１０は、アプリケーション間の直接的なデータフローを示してよい（例えば、対象アプリケーションによって生成されたデータが、下流アプリケーションに直接提供される）。幾つかの実施例では、ユーザは、第１のコラム７０８の第１のアプリケーションノードレベルから１又は複数のアプリケーションを選択して、アプリケーション間の他の下流データフローを見てよい。例えば、図３３では、ユーザは、第１のアプリケーションノードレベルコラム７０８でＡｐｐｌｉｃａｔｉｏｎ  Ｅと呼ばれるアプリケーションからＣｏｎｃｅｐｔ  ３を選択した。これによって、データフローシステム７０は、Ａｐｐｌｉｃａｔｉｏｎ  ＥからのＣｏｎｃｅｐｔ  ３のデータフローを受信する異なるノードレベル、例えば第２アプリケーションノードレベル７１０、第３アプリケーションノードレベル７１２、第４アプリケーションノードレベル７１４、第５アプリケーションノードレベル７１６、及び/又は第６アプリケーションノードレベル７１８などにて、追加のアプリケーションをプロットしてよい。図３４では、強調ウィンドウ７２４が表示されている。幾つかの実施例では、ユーザは、強調ウィンドウ７２４に示される画面７００の一部を、例えば、ウィンドウ７２４をクリック及びドラッグすることによって変更してよい。図３４はまた、第６のアプリケーションノードレベル７２０及び第７のアプリケーションノードレベル７２２におけるアプリケーションを示している。
【００３７】
図３５及び図３６は、フィールド７０２に構成されたインタフェース画面７００を示しており、上流データフロー（例えば、コラム７０２に示された対象アプリケーションによって受信されるデータフロー）を示している。図３６では、ユーザが、「Ｃｏｎｔｅｘｔ  Ｓｙｓｔｅｍ」コラム７０２からデータフロー７０４を選択すると、上流アプリケーションが、第１のアプリケーションノードレベルコラム７４０及び第２のアプリケーションノードレベルコラム７４２に表示される。フローライン７４４は、アプリケーションがデータフローを直接対象アプリケーションに提供するインスタンスを示してよい。動画化フローライン７４６は、寄与データフロー（例えば、対象アプリケーションについて選択された上流データフローに寄与するデータフロー）を示してよい。動画化フローライン７４６は、選択されたデータフローを生成するために１又は複数のアプリケーションによって使用されるが、選択されたデータフローとは異なっているアプリケーション／データフローから発生してよい。動画化フローライン７４６は、データフローの方向にラインを下るダッシュを備えてよい。動画化フローライン７４６は、データフローの方向をグラフィカルに示すように動画化されてよい。例えば、ストライプが、動画化フローライン７５６に沿ってデータフローの方向に進んでよい。図３６の例では、Ｃｏｎｃｅｐｔ  Ｃ４は、Ａｐｐｌｉｃａｔｉｏｎ  ２に提供されている。それは、Ｃｏｎｃｅｐｔ  Ｃ４を用いて、Ａｐｐｌｉｃａｔｉｏｎ  １に提供されるＣｏｎｃｅｐｔ  Ｍを発生する。図３６に示した他の寄与データコンセプトタイプも、同様に処理されてよい。
【００３８】
図３７は、処理フロー８００の一例を示すフローチャートであって、それは、データフローツール７０（例えば、視覚化ツール８０）によって実行されて、データフローユーザインタフェース１２０の探索データフローモジュール１２８８を生成する。図３８−４１は、探索データフローモジュール１８２を実施するインタフェース画面９００の例を示すスクリーンショットである。ステップ８０２では、データフローツール７０は、複数の階層配置（hierarchaly-arranged）アイコンを含むインタフェース画面を表示してよく、各アイコンは、分散コンピューティングシステムのシステムノードに対応している。例えば、図３８−４１は、金融サービス会社が実施する分散コンピューティングシステムを示してよい。図３８は、「Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｄａｔａ」システムノード９０２、「Ｗｅａｌｔｈ  Ｍａｎａｇｅｍｅｎｔ」システムノード９０４、「Ｃｏｍｐａｎｙ」システムノード９０６、「Ｉｎｖｅｓｔｍｅｎｔ  Ｍａｎａｇｅｍｅｎｔ」システムノード９０８、「Ｏｔｈｅｒ」システムノード９１０、「Ｏｐｅｒａｔｉｏｎｓ」システムノード９１２及び「Ｉｎｓｔｉｔｕｔｉｏｎａｌ  Ｓｅｃｕｒｉｔｉｅｓ」システムノード９１４を示すアイコンを含むインタフェース画面９００を示している。各システムノードは、１又は複数のアプリケーションに関連していてよい。幾つかの実施例では、タブ２０７を選択することで画面９００が表示されてよい。
【００３９】
ステップ８０４では、データフローツール７０は、１又は複数のシステムノード及び／又はアプリケーションの表示をユーザから受け取ってよい。ステップ８０６では、データフローツール７０は、データコンセプトタイプ及び／又は境界の表示をユーザから受け取ってよい。ステップ８０８では、データフローツール７０は、選択されたシステムノード及び／又はアプリケーション間のフローラインを表示してよく、それらフローラインは、システムノード及び／又はアプリケーション間のデータフローを示す。図３９は、データフローの選択されたセットについて、ネットワークノードの選択されたセットの間にフローラインを表示するように構成されたインタフェース９００を示す。ナビゲーションウィンドウ９１６は、十分に縮小されている図３８に示した画面に対する画面９００の位置を示す。図４０は、データフローの選択されたセットについてアプリケーション９１６の選択されたセットの間にフローラインを表示するように構成されたインタフェース９００を示す。図４１は、選択されたデータフローの第２のセットについて、選択されたアプリケーションの第２のセットの間にフローラインを表示するように構成されたインタフェース９００を示す。
【００４０】
図４２は、処理フロー１０００の一例を示すフローチャートであって、それは、データフローツール７０によって実行されて、対象アプリケーション内の又は対象アプリケーションによるデータエラーの影響を受けるアプリケーションを決定する。ステップ１００２では、データフローツール７０は、対象アプリケーション（例えば、その影響をユーザがトレースしているアプリケーション）を記述するデータを受信してよい。ステップ１００４では、データフローツール７０は、対象アプリケーションの依存関係をトレースしてよい。例えば、データフローツール７０は、対象アプリケーションからデータフローを受信する第１のノードレベルのアプリケーションを特定してよい。第１のノードレベルアプリケーションからデータフローを受信する第２のノードレベルアプリケーションが特定されてもよい。後続のノードレベルのアプリケーションも同様に特定されてよい。ステップ１００６では、データフローツール７０は、対象アプリケーションによって影響を受けるアプリケーションのリストを生成してよく、そのリストは、第１のアプリケーションノードレベル及び後続のアプリケーションノードレベルのアプリケーションを含んでよい。リストされたアプリケーションは、対象アプリケーション（のエラーを含む）によるデータエラーの影響を受けてよい。随意選択的に、ステップ１００８にて、データフローツール７０は、対象アプリケーションの１又は複数のデータフローの代替データフローソース（例えば、アプリケーション）を特定してよい。代替データフローソースは、同じデータフローを提供する（例えば、同じ境界又はより広い境界を有する）別のアプリケーションであってよい。代替データソースは、影響を受けるアプリケーションに提供されてよい。
【００４１】
図４３は、処理フロー１１００の一例を示すフローチャートであって、それは、データフローツール７０によって実行されて、権限のないソースから生じるデータフローを特定し、修正する。ステップ１１０２では、データフローツール７０は、少なくとも１つのソースデータフローを記述するデータを受信してよい。例えば、データは、ユーザから受け取られてよく、また、確認されるデータフローを特定していてよい。ステップ１１０４では、データフローツール７０は、少なくとも１つの起点アプリケーションに向けてデータフローをトレースしてよい。ステップ１１０６では、データフローツール７０は、ソースアプリケーションがデータフローの信頼できるソースであるか否かを判定してよい。信頼できるソースである場合、データフローツール７０は、ステップ１１１０にて、データフローを利用する様々なアプリケーションにおいて、権限のあるソースの表示をデータフローと関連付けてよい。起点アプリケーションが信頼できない場合、データフローツール７０は、ステップ１１０８にて改善処置を取ってよい。改善処置は、例えば、非権限データフローの表示をシステム管理者に提供すること、権限のあるデータフローを自動的に特定すること、また、非権威データフローを置き換えることを含んでよい。追加のデータフローがステップ１１１２で解析される場合、データフローツール７０はステップ１１０４に戻ってよい。
【００４２】
図４４は、インタフェース画面の別の例を示すスクリーンショットであって、図３０に関して説明したようにデータフロートレースを表示できる。例えば、図４４では、ネットワークノードはボックスとして表示されており、一定のシステムノード内のアプリケーションは、その中の色付きボックスとして表されている。アプリケーション間のデータストリームは、アプリケーション及び／又はシステムノード間の線によって図示されている。画面の右上隅のナビゲーションフィールドは、インタフェース画面の残りの部分に示された分散コンピュータシステムの部分を示す位置ボックスを含んでいる。
【００４３】
幾つかの実施例では、データフローツール７０は更に、分散コンピューティングシステムにおけるデータフローの一部又は全部の保持特性を管理するように構成されてよい。例えば、図４５及び４６は、データフローの保持特性を管理するインタフェース画面の一例を示すスクリーンショットである。図４５の例では、例示的なＡｐｐｌｉｃａｔｉｏｎ  Ｚ９のデータフローを表示するように構成されたインタフェース画面が示されている。各データフローの記録保持ポリシーは、画面の右側に表示されている。例えば、各データコンセプトタイプは、データフローの境界セットと記録保持ポリシーを示す画面の右側にエントリを有してよい。分散型コンピュータシステム（例えば、そのＡｐｐｌｉｃａｔｉｏｎ  Ｚ９）は、インタフェース上に示されているように、個々のデータフローによって受信されたデータの記録を維持してよい。幾つかの実施例では、データフローは、デフォルトの保持期間に加えて、より長い又は短い保持期間を有する法域を示す「Ｊｕｒｉｓｄｉｃｔｉｏｎａｌ  Ｅｘｃｅｐｔｉｏｎｓ」を有してよい。図４６は、保持変更フィールドを示しており、そこでは、許可されたユーザがアプリケーション及び／又は分散型コンピューティングシステム全体の保持期間を変更できる。ユーザは、例えば、月数、年数、永遠などの任意の適切な値に保持期間を設定してよい。
【００４４】
従って、ある一般的な態様では、本発明は、１又は複数のデータネットワーク５６，５８によって相互接続された複数の分散コンピュータシステム５２を備える分散コンピューティング環境１０に関する。複数の分散コンピュータシステムは、複数のアプリケーション２を実行する。分散コンピュータシステムの少なくとも１つは、複数のアプリケーション間の潜在的データフローを特定するデータフローソフトウェアツール７０を実行し、少なくとも１つの上流アプリケーション及び／又は対象アプリケーションについて少なくとも１つの下流アプリケーションを示すＧＵＩを生成する。対象アプリケーションは、ＧＵＩを介してユーザによって選択される。少なくとも１つの上流アプリケーションは、受信データフローを対象アプリケーションに提供するアプリケーションであり、少なくとも１つの下流アプリケーションは、対象アプリケーションから発信データフローを受信するアプリケーションである。加えて、（少なくとも１つのコンピュータシステムによって実行される場合）データフローソフトウェアツール７０は、ＧＵＩを介して、少なくとも１つの上流アプリケーションのための第１の入力と、及び／又は、少なくとも１つの上流アプリケーションのための第２の入力とを、ユーザから受け取る。第１の入力は、少なくとも１つの上流アプリケーションが受信データフローを対象アプリケーションに提供するという確認を含んでおり、そして、第２の入力が少なくとも１つの下流アプリケーションが対象アプリケーションから発信データフローを受信するという確認を含んでいる。
【００４５】
様々な実施形態において、複数のアプリケーション間の潜在的データフローは、分散コンピューティングシステムにおけるデータフロー転送機構に関するメタデータに基づいて特定される。また、ソフトウェアツールは、特定されるそれぞれの潜在的データフローに以下の少なくとも１つを割り当ててよい：（i）分散コンピューティング環境に関連するビジネス機能の特徴を特定するデータコンセプトタイプ；（ii）データコンセプトタイプのサブセットを定義するデータフロー境界データ；及び／又は（iii）データコンセプトタイプに関連するパラメータを備える属性データ。分散コンピューティング環境は、金融機関のためのものであってよく、その場合、データコンセプトタイプは、例えば、取引契約、ポジション、市場評価、損益（Ｐ＆Ｌ）、又は総勘定元帳を含んでよく、データフロー境界データは、セキュリティのタイプ、地理的位置、又は法域を含んでよい。例えば、データコンセプトタイプが取引契約の場合、データフローの境界データは、金利デリバティブ取引契約、エクイティデリバティブ取引契約、ｆｘ取引契約などの特定の適用可能なタイプの取引契約を指定できる。このように、データコンセプトタイプの１つの広範な定義が、そのコンセプトの複数の異なるタイプのサブカテゴリ又はサブセットに使用できるので、新しいデータコンセプトタイプ定義をディクショナリに追加する必要性が減っている。属性データは、選択された概念タイプ及び境界に関連するパラメータであってもよい。例えば、取引契約の場合、属性データは、行使価格、行使又は有効期限、契約の適用可能な通貨の指定などのパラメータとすることができる。
【００４６】
加えて、データフローソフトウェアツールは、分散コンピューティングシステムのための視覚化インタフェースを生成して、それは、分散コンピューティングシステムにおけるデータフローを追跡する。視覚化インタフェースは、ＧＵＩを介してユーザにより選択されたコンセプトタイプについて、選択されたデータコンセプトタイプを使用する上流のアプリケーションから、選択されたデータコンセプトタイプを有するデータを使用する２つ以上の下流のアプリケーションまでデータフローを追跡してよい。また、ＧＵＩはコラム形式を使用してよい。例えば、少なくとも１つの上流のアプリケーションが左側のコラムに表示され、対象アプリケーションが中央のコラムに表示され、少なくとも１つの下流のアプリケーションが右側のコラムに表示される。更に、データフローソフトウェアツールは、ＧＵＩを再設定して、選択された上流アプリケーション又は選択された下流アプリケーションを新しい対象アプリケーションとして表示してよい。更に、場合によっては、ＧＵＩは、ＧＵＩにおいて表示される少なくとも１つの上流アプリケーション及び／又は少なくとも１つの下流アプリケーションについて、対象アプリケーションに対する受信又は発信データフローの合意の状態の表示を備えてよい。その表示は、例えば、以下の群から選択された合意の状態の特定子を備えてよい：ソフトウェアツールによって、対象アプリケーションへの受信データフローとして発見される：ユーザによって、対象アプリケーションへの受信データフローとして主張される；対象アプリケーションへの受信データフローとして確認保留中である；及び、対象アプリケーションへの受信データフローとして拒否される。また、ＧＵＩは、権限アイコンを備えてよく、それは、ユーザによって選択されると、選択されたデータコンセプトタイプを有する対象アプリケーションに受信データを提供する、権限のある上流アプリケーションのリストが生成される、
【００４７】
更に他の実施形態では、データフローソフトウェアツールは、データフロー分析を分散コンピューティングシステム上で実行して、複数のアプリケーションから、対象アプリケーションによるデータエラーによって影響を受けるであろうアプリケーションを特定してＧＵＩに表示する。データフロー分析は、対象アプリケーションからの発信データを受信する下流アプリケーションを特定することによって、対象アプリケーションによるデータエラーによって影響を受けるアプリケーションを特定する。
【００４８】
更に他の実施形態では、ＧＵＩは、上流アプリケーションについて、対象アプリケーションへの新しいデータフローをユーザが定義するための新たなデータフロー追加インタフェースを提供する。新たなデータフロー追加インタフェースは、ユーザが利用可能なデータコンセプトタイプのシステムディクショナリから、新しいデータフローのためのデータコンセプトタイプを選択する第１のフィールドを備えてよい。新たなデータフロー追加インタフェース更に、選択されたデータコンセプトタイプの境界データをユーザが指定する第２のフィールドと、及び／又は、選択されたデータコンセプトタイプについて寄与データコンセプトタイプと、寄与データコンセプトタイプについて上流アプリケーションとをユーザが指定する第３のフィールドとを備えてよい。
【００４９】
別の一般的な態様では、本発明の分散コンピューティング環境１０は、１又は複数のデータネットワーク５６，５８によって相互接続されており、複数のアプリケーション２を実行する複数の分散コンピュータシステム５２備えている。（少なくとも１つの分散コンピューティングシステムの実行により実行される）データフローソフトウェアツール７０は、アプリケーションがデータを読み書きするデータ転送機構に基づいて複数のアプリケーション間の潜在的データフローを特定し、特定されたデータフローに基づいて，少なくとも１つの上流アプリケーション及び少なくとも１つの下流アプリケーションを示すＧＵＩを生成する。
【００５０】
更に別の一般的な態様では、本発明は、分散コンピューティング環境におけるデータフローを追跡する方法に関する。この方法は、（i）分散コンピューティング環境における少なくとも１つのコンピュータシステムによって、分散コンピュータシステムにおける複数のコンピュータシステムによって実行される複数のアプリケーション間の潜在的データフローを特定するステップと、（ii）分散コンピューティング環境における少なくとも１つのコンピュータシステムによって、対象アプリケーションについて少なくとも１つの上流アプリケーション及び少なくとも１つの下流アプリケーションを示すＧＵＩを生成するステップとを含む。本発明の方法は更に、（iii）少なくとも１つの上流アプリケーションについて第１の入力をＧＵＩを介してユーザから受け取るステップであって、少なくとも１つの上流アプリケーションが受信データフローを対象アプリケーション供給するという確認を第１の入力が含んでいる、ステップと、（iv）少なくとも１つの下流アプリケーションのための第２の入力を、ＧＵＩを介して受信するステップであって、少なくとも１つの下流アプリケーションが対象アプリケーションからの発信データフローを受信するという確認を第２の入力が含んでいる、ステップとを含んでいる。
【００５１】
明細書中にて、「実施例」、「様々な実施例」、「幾つかの実施例」などへの言及は、例示的な実施形態に関連して説明した特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。本明細書の様々な箇所における上述の語句の出現は、必ずしも全てが同じ実施形態に言及しているわけではない。実施形態への言及は、請求の範囲に記載の発明を限定するのではなく、例を開示することを意図している。
【００５２】
環境１０及び分散コンピューティングシステム１００の様々な構成要素は、好適なコンピューティングデバイスであってよく、及び／又は、好適なコンピューティングデバイスによって実行されてよい。このようなコンピューティングデバイスには、例えば、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話、パームトップコンピュータ、パーソナルデータアシスタント（ＰＤＡ）などを含まれる。本明細書で使用されるように、「コンピュータ」、「コンピュータシステム」、「コンピュータデバイス」、又は「コンピューティングデバイス」、「マシン」は、例えば、限定ではないが、パーソナルコンピュータ（ＰＣ）ノートブック、パーソナルデータアシスタント（ＰＤＡ）、携帯電話、ページャ、プロセッサ、それら無線及び／又は有線の異型、及び／又は、スタンドアローンアプリケーション用及び／又はネットワーク化された媒体若しくはメディア上のデータを処理するように構成可能な他のコンピュータ化された装置のうちの１つ又は組み合わせであってよい。本明細書で開示されるコンピュータ及びコンピュータシステムは、動作可能に関連付けられたメモリを含んでよく、当該メモリは、データの取得、処理、格納、及び／又は通信に使用される特定のソフトウェアアプリケーションを格納するのに使用される。そのようなメモリは、動作可能に関連付けられたコンピュータ又はコンピュータシステムについて、内蔵、外付け、リモート、又はローカルとすることができる。メモリは、ソフトウェア又は他の指令を格納するための任意の手段を含んでよく、例えば、限定ではないが、ハードディスク、光ディスク、フロッピー（登録商標）ディスク、ＲＰＭ（読み出し専用メモリ）、ＲＡＭ（ランダムアクセスメモリ）、ＰＲＯＭ（プログラム可能なＲＯＭ）、ＥＥＰＲＯＭ（拡張消去可能ＰＲＯＭ）、及び/又は他の類似のコンピュータ可読媒体が挙げられる。
【００５３】
上記の議論から明らかなように、特に断らない限り、「処理する」、「演算する」、「計算する」、「決定する」又は「表示する」などの用語を用いた議論は、コンピュータシステムメモリ、レジスタ、他の情報記憶装置、伝送装置、又は表示装置内における物理（電子）量として表されるデータを操作及び変換するようなコンピュータシステム又は同様の電子計算装置の動作及びプロセスに言及している。
【００５４】
本明細書は、多くの具体的な実施形態の詳細を含んでいるが、これらは、発明の範囲への又は特許請求の範囲に記載されるものへの限定ではく、特定の発明の特定の実施形態に特有の特徴の説明として解釈されるべきである。別個の実装の文脈において本明細書で説明される幾つかの機能は、単一の実施形態において組み合わされて実施できる。逆に、単一の実施形態の文脈で説明されている様々な機能は、複数の実施形態で個別に、又は適切な部分的組合せで実施されてもよい。更に、特徴は、特定の組合せで作用するものとして説明されており、当初はそのように主張されているかも知れないが、請求された組合せからの１又は複数の特徴は、幾つかの場合には、その組合せから取り出されてよく、特許請求の範囲に記載の組合せは、部分的組合せの部分的組合せ又は変形例へと導かれてよい。
【００５５】
同様に、動作が特定の順序で図面に示されているが、これは、望ましい動作を達成するためには、それらの操作は、示された特定の順序で又は順番に実行されること、図示された全ての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスク処理と並列処理が有利な場合がある。更に、上述の実施形態における様々なシステム構成要素の分離は、全ての実施形態においてそのような分離を必要とするものとして理解されるべきではない。記載されたプログラム構成要素及びシステムは、一般に、単一のソフトウェア製品において互いに統合されてよく、又は、複数のソフトウェア製品にパッケージングされてよいと理解されるべきである。
【００５６】
このように、主題の特定の実施形態が記載されている。他の実施形態は、添付の特許請求の範囲内にある。幾つかの場合には、特許請求の範囲に列挙された動作は異なる順序で実行され、依然として望ましい結果を達成することができる。加えて、添付の図面に示されるプロセスは、望ましい結果を達成するために、示された特定の順序又は逐次的な順序を必ずしも必要としない。幾つかの実施形態では、マルチタスク処理及び並列処理が有利であり得る。
【図１】
0006598973.tif 000002
【図２】
0006598973.tif 000003
【図３】
0006598973.tif 000004
【図４】
0006598973.tif 000005
【図５】
0006598973.tif 000006
【図６】
0006598973.tif 000007
【図７】
0006598973.tif 000008
【図８】
0006598973.tif 000009
【図９】
0006598973.tif 000010
【図１０】
0006598973.tif 000011
【図１１】
0006598973.tif 000012
【図１２】
0006598973.tif 000013
【図１３】
0006598973.tif 000014
【図１４】
0006598973.tif 000015
【図１５】
0006598973.tif 000016
【図１６】
0006598973.tif 000017
【図１７】
0006598973.tif 000018
【図１８】
0006598973.tif 000019
【図１９】
0006598973.tif 000020
【図２０】
0006598973.tif 000021
【図２１】
0006598973.tif 000022
【図２２】
0006598973.tif 000023
【図２３】
0006598973.tif 000024
【図２４】
0006598973.tif 000025
【図２５】
0006598973.tif 000026
【図２６】
0006598973.tif 000027
【図２７】
0006598973.tif 000028
【図２８】
0006598973.tif 000029
【図２９】
0006598973.tif 000030
【図３０】
0006598973.tif 000031
【図３１】
0006598973.tif 000032
【図３２】
0006598973.tif 000033
【図３３】
0006598973.tif 000034
【図３４】
0006598973.tif 000035
【図３５】
0006598973.tif 000036
【図３６】
0006598973.tif 000037
【図３７】
0006598973.tif 000038
【図３８】
0006598973.tif 000039
【図３９】
0006598973.tif 000040
【図４０】
0006598973.tif 000041
【図４１】
0006598973.tif 000042
【図４２】
0006598973.tif 000043
【図４３】
0006598973.tif 000044
【図４４】
0006598973.tif 000045
【図４５】
0006598973.tif 000046
【図４６】
0006598973.tif 000047