JP2020024711A - データ系統の要約 - Google Patents

データ系統の要約 Download PDF

Info

Publication number
JP2020024711A
JP2020024711A JP2019174419A JP2019174419A JP2020024711A JP 2020024711 A JP2020024711 A JP 2020024711A JP 2019174419 A JP2019174419 A JP 2019174419A JP 2019174419 A JP2019174419 A JP 2019174419A JP 2020024711 A JP2020024711 A JP 2020024711A
Authority
JP
Japan
Prior art keywords
node
data
nodes
interest
traversing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019174419A
Other languages
English (en)
Other versions
JP6985350B2 (ja
Inventor
デュサン ラディヴォジェヴィック
Radivojevic Dusan
デュサン ラディヴォジェヴィック
アンソニー エム. イェラカリス
M Yeracaris Anthony
アンソニー エム. イェラカリス
ジョエル グールド
Gould Joel
ジョエル グールド
アンドリュー シェーン
Schon Andrew
アンドリュー シェーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology LLC
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 Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Publication of JP2020024711A publication Critical patent/JP2020024711A/ja
Application granted granted Critical
Publication of JP6985350B2 publication Critical patent/JP6985350B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • G06F16/287Visualization; Browsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】データ処理システムにおいてデータ系統図を作成する。【解決手段】システムは、データ要素を変換する計算を表すデータ変換ノード及びデータ要素を表す1又は2以上のデータノードを含み、系統の関係を表す有向リンクを含む有向グラフ125の識別情報を受け取り、有向グラフ内のパスに基づいて要約情報を計算し、要約情報を1又は2以上の要約オブジェクトに記憶する。計算は、有向グラフの複数のノードに関する関心の指定を受け取ることと、関心のある複数のノードに含まれない残りのノードに関する1又は2以上の要約オブジェクトを生じさせること、とを含む。第1の要約オブジェクトは、残りのノードのうちの1又は2以上を確かに含み、関心のある第1のノード及び関心のある第2のノード以外に関心のあるいかなるノードも含まない第1のノードと第2のノードとの間の第1のパスに基づく要約情報を含む。【選択図】図2

Description

関連出願の相互参照
本出願は、2014年7月24日に出願した米国特許出願第62/028,485号明細書及び2015年2月11日に出願した米国特許出願第62/114,684号明細書の優先権を主張するものである。
この説明は、データ系統図の要約に関する。
データ処理システムにおいては、データがシステムを通り抜けるときのそのデータの系統の視覚的表現に特定の種類のユーザがアクセスすることができることが望ましいことが多い。そのような「データ系統図」は、データ及びそれらのデータの間の依存関係を処理するためのシステムにおけるそれらのデータ及びエンティティの図式的表現を含む可能性がある。極めて広く、多くの用途の中でもとりわけ、そのようなデータ系統図は、リスクを減らし、規制遵守義務を確認し、ビジネスプロセスを能率化し、データを保護するために使用され得る。データ系統図は正しくかつ完全であることが重要である。
データ系統図を生じさせ、表示することができる一部のシステムは、データアイテムとそれらのデータアイテムを消費するか又は生じさせる処理エンティティを表すアイテムとの表現を示すエンドツーエンドのデータ系統図を自動的に提示することができる。特定のアイテムから上流のパスは、そのアイテムに関する「ディペンデンシー分析(dependency analysis)」と呼ばれることがあり、特定のアイテムから下流のパスは、そのアイテムに関する「インパクト分析(impact analysis)」と呼ばれることがある。本明細書において使用されるとき、「データ系統図」は、任意の所与のアイテムに関連する上流のディペンデンシー分析及び/又は下流のインパクト分析を含む可能性がある。データ系統図を生じさせ、表示することができる一部のシステムは、ユーザがデータ系統図内のアイテムの論理的及び/又は物理的グループを単一の要素にまとめることを可能にする。データ系統図を生じさせ、表示することができる一部のシステムは、データ品質の採点などの充実したデータ情報によってデータ系統図を改善することができる。
一態様においては、概して、コンピューティングシステムにおいて系統情報を管理するための方法が、データ要素を変換する計算を表す1又は2以上のデータ変換ノード、及びデータ要素を表す1又は2以上のデータノードを含み、計算と計算の実行中に計算によって受け取られるか又は生成されるデータ要素との間のそれぞれの系統の関係を表す有向リンクを含む有向グラフの識別情報を入力デバイス又はポートを介して受け取るステップと、少なくとも1つのプロセッサを使用して、有向グラフ内のパスに基づいて要約情報を計算し、要約情報を1又は2以上の要約オブジェクト(summary object)に記憶するステップとを含み、計算は、有向グラフの複数のノードに関する関心の指定を受け取ることと、関心のある複数のノードに含まれない残りのノードに関する1又は2以上の要約オブジェクトを生じさせることであって、1又は2以上の要約オブジェクトのうちの第1の要約オブジェクトが、残りのノードのうちの1又は2以上を確かに含み、関心のある第1のノード及び関心のある第2のノード以外に関心のあるいかなるノードも含まない第1のノードと第2のノードとの間の第1のパスに基づく要約情報を含む、生じさせることとを含む。
態様は、以下の特徴のうちの1又は2以上を含み得る。
第1の要約オブジェクトを生じさせることは、関心のある第1のノードと関心のある第2のノードとの間の第1のパスをトラバースして、関心があるものとして指定されていない1又は2以上の残りのノードを第1のパスに沿って特定することと、特定された1又は2以上の残りのノードに関する要約情報を形成することとを含む。
前記方法は、要約オブジェクトのうちの1又は2以上に記憶された要約情報に従って、関心があるものとして指定されたそれぞれのノードが、独自のアイコンによって表され、複数の残りのノードが、関心のある複数のノードに接続された共通のアイコンによって表される、有向グラフの少なくとも一部の視覚的表現としてデータ系統図を生じさせるステップをさらに含む。
前記方法は、共通のアイコンに関連する詳細を見たいというユーザの望みを示すユーザ入力を受け取り、ユーザ入力に応じて、共通のアイコンによって表される複数の残りのノードをトラバースし、要約情報に関連する複数の残りのノードを含む有向グラフのパスのトラバースに基づいてデータ系統図において残りのノードを視覚的に表すステップをさらに含む。
前記方法は、1若しくは2以上のデータ変換ノードのうちの1つ又は1若しくは2以上のデータノードのうちの1つの目標ノードとしての指定を受け取るステップをさらに含み、データ系統図を生じさせるステップは、有向グラフを通り抜ける1又は2以上のパスをトラバースすることを含み、1又は2以上のパスのうちのそれぞれのパスは、関心のある2又は3以上のノード及び目標ノードを含む。
有向グラフを通り抜ける1又は2以上のパスの少なくとも一部に関して、パスをトラバースすることは、目標ノードから上流方向にパスの第1の部分をトラバースすることと、目標ノードから下流方向にパスの第2の部分をトラバースすることとを含む。
パスの第1の部分をトラバースすることは、目標ノードに関心のあるノードであるものとして印が付けられているかどうかを決定すること、及び目標ノードが関心のあるノードであると決定される場合に、目標ノードから関心のある第1の上流のノードまで目標ノードに関連する要約オブジェクトに対応するリンクをトラバースすること、そうでなければ、目標ノードが関心のあるノードであると決定されない場合に、関心があるものとして指定されていない1又は2以上のデータ変換ノード又はデータノードをトラバースすることを含む、目標ノードと関心のある第1の上流のノードとの間の有向グラフの元のパスをトラバースすることを含む。
パスの第1の部分をトラバースすることは、関心のある第1の上流のノードから関心のある第2の上流のノードまで関心のある前記第1の上流のノードに関連する要約オブジェクトに対応するリンクをトラバースすることをさらに含む。
パスの第2の部分をトラバースすることは、目標ノードに関心のあるノードであるものとして印が付けられているかどうかを決定すること、及び目標ノードが関心のあるノードであると決定される場合に、目標ノードから関心のある第1の下流のノードまで目標ノードに関連する要約オブジェクトに対応するリンクをトラバースすること、そうでなければ、目標ノードが関心のあるノードであると決定されない場合に、関心があるものとして指定されていない1又は2以上のデータ変換ノード又はデータノードをトラバースすることを含む、目標ノードと関心のある第1の下流のノードとの間の有向グラフの元のパスをトラバースすることを含む。
パスの第2の部分をトラバースすることは、関心のある第1の下流のノードから関心のある第2の下流のノードまで関心のある第1の下流のノードに関連する要約オブジェクトに対応するリンクをトラバースすることをさらに含む。
1又は2以上の要約オブジェクトは、2又は3以上の要約オブジェクトを含み、系統図を生じさせるステップは、2又は3以上の要約オブジェクトの少なくとも一部を共通のアイコンによって表される要約ノード(summary node)へと統合することをさらに含む。
2又は3以上の要約オブジェクトの少なくとも一部を要約ノードへと統合することは、2又は3以上の要約オブジェクトの少なくとも一部によってリンクされた関心のあるノードの間の関係を分析して、2又は3以上の要約オブジェクトの少なくとも一部を統合することが可能であるかどうかを決定することを含む。
関心のあるノードの間の関係を分析することは、2又は3以上の要約オブジェクトの少なくとも一部が関心のある共通の下流のノードに関連付けられると決定することを含む。
ノードの少なくとも一部に関する関心の指定は、ユーザから受け取られる。
ノードの少なくとも一部に関する関心の指定は、コンピューティングシステムによって生じさせられる。
コンピューティングシステムは、関心があるものとして指定されたその他のノードの位置に対するノードの少なくとも一部の位置に基づいてノードの少なくとも一部に関する関心の指定を生じさせる。
コンピューティングシステムは、ノードの少なくとも一部が関心があるものとして指定されたその他のノードとデータ構造を共有すること基づいてノードの少なくとも一部に関する関心の指定を生じさせる。
コンピューティングシステムは、複数の別々の相互に接続されたサブシステムを含み、有向グラフの一部は、サブシステムの少なくとも一部の間に分散される。
サブシステムの少なくとも一部は、共通のアイコンによって表される。
別の態様においては、概して、コンピューティングシステムにおいて系統情報を管理するためのソフトウェアが、コンピュータ可読媒体に非一時的形態で記憶され、ソフトウェアは、コンピューティングシステムに、データ要素を変換する計算を表す1又は2以上のデータ変換ノード、及びデータ要素を表す1又は2以上のデータノードを含み、計算と計算の実行中に計算によって受け取られるか又は生成されるデータ要素との間のそれぞれの系統の関係を表す有向リンクを含む有向グラフの識別情報を入力デバイス又はポートを介して受け取らせ、少なくとも1つのプロセッサを使用して、有向グラフ内のパスに基づいて要約情報を計算し、要約情報を1又は2以上の要約オブジェクトに記憶させるための命令を含み、計算は、有向グラフの複数のノードに関する関心の指定を受け取ることと、関心のある複数のノードに含まれない残りのノードに関する1又は2以上の要約オブジェクトを生じさせることであって、1又は2以上の要約オブジェクトのうちの第1の要約オブジェクトが、残りのノードのうちの1又は2以上を確かに含み、関心のある第1のノード及び関心のある第2のノード以外に関心のあるいかなるノードも含まない第1のノードと第2のノードとの間の第1のパスに基づく要約情報を含む、生じさせることとを含む。
別の態様においては、概して、コンピューティングシステムにおいて系統情報を管理するためのコンピューティングシステムが、データ要素を変換する計算を表す1又は2以上のデータ変換ノード、及びデータ要素を表す1又は2以上のデータノードを含み、計算と計算の実行中に計算によって受け取られるか又は生成されるデータ要素との間のそれぞれの系統の関係を表す有向リンクを含む有向グラフの識別情報を受け取るための入力デバイス又はポートと、有向グラフ内のパスに基づいて要約情報を計算し、要約情報を1又は2以上の要約オブジェクトに記憶するための少なくとも1つのプロセッサとを含み、計算は、有向グラフの複数のノードに関する関心の指定を受け取ることと、関心のある複数のノードに含まれない残りのノードに関する1又は2以上の要約オブジェクトを生じさせることであって、1又は2以上の要約オブジェクトのうちの第1の要約オブジェクトが、残りのノードのうちの1又は2以上を確かに含み、関心のある第1のノード及び関心のある第2のノード以外に関心のあるいかなるノードも含まない第1のノードと第2のノードとの間の第1のパスに基づく要約情報を含む、生じさせることとを含む。
別の態様においては、概して、コンピューティングシステムにおいて系統情報を管理するためのコンピューティングシステムが、データ要素を変換する計算を表す1又は2以上のデータ変換ノード、及びデータ要素を表す1又は2以上のデータノードを含み、計算と計算の実行中に計算によって受け取られるか又は生成されるデータ要素との間のそれぞれの系統の関係を表す有向リンクを含む有向グラフの識別情報を受け取るための手段と、少なくとも1つのプロセッサを使用して、有向グラフ内のパスに基づいて要約情報を計算し、要約情報を1又は2以上の要約オブジェクトに記憶するための手段とを含み、計算は、有向グラフの複数のノードに関する関心の指定を受け取ることと、関心のある複数のノードに含まれない残りのノードに関する1又は2以上の要約オブジェクトを生じさせることであって、1又は2以上の要約オブジェクトのうちの第1の要約オブジェクトが、残りのノードのうちの1又は2以上を確かに含み、関心のある第1のノード及び関心のある第2のノード以外に関心のあるいかなるノードも含まない第1のノードと第2のノードとの間の第1のパスに基づく要約情報を含む、生じさせることとを含む。
態様は、以下の利点のうちの1又は2以上を含む可能性がある。
データ処理システムの複雑さが増したので、データ系統図も次第に複雑になっており、単一のビューの中にそれぞれのアイコンによって表される多くのデータ系統ノード(例えば、データノード及びデータ変換ノード)を提示する。データ系統図においてユーザに対して提示されるデータノードの数が増えるにつれて、データ系統図は理解するのが難しくなる可能性がある。
本明細書において説明される手法は、所与のデータ処理システム内で、通常、特定のデータノードがユーザの特定の関心を集めるという認識を利用する。例えば、ユーザの特定の関心を集める一種のデータノードは、特定の種類の情報(例えば、個人を特定できる情報)を記憶することが知られている系統内の任意のデータノードである可能性がある。
本明細書において説明される手法においては、ユーザの関心を集めず、互いに関連するトポロジーを共有するデータ系統ノードの組が、データ系統図において単一のアイコンによって表される要約ノードにまとめられる。要約ノードに含まれないデータ系統図内の残りのノードは、ユーザの「大きな関心」を集める(つまり、「関心がある」ものとして指定されていないその他のノードとは対称的に「関心がある」ものとして指定されたノード)。結果は、要約ノードによって示されたユーザ(又は意図される観客)の関心を集めるものとして指定された詳細のみを示す要約されたデータ系統図であり、要約されたデータ系統図においては、すべての省略された詳細が、要約ノードによって示される。
一態様においては、概して、データ系統図生成システムが、そのデータ系統図生成システムが表示するデータ系統図の一部を要約するように構成される。データ系統図は、特定のトポロジーを有し、システムによってアクセスされ得る1又は2以上のデータ構造に記憶される対応する「データ系統グラフ」のスクリーン上の表現である。システムがデータ系統グラフ内の大きな関心のあるノードの指定を受け取った後、(下でより詳細に説明される)「要約オブジェクト」の形態で要約情報を記憶するように強化された「強化されたデータ系統グラフ」が生じさせられる。システムは、強化されたデータ系統グラフを使用して、表示するための要約されたデータ系統図を生じさせる。システムによって生じさせられた要約されたデータ系統図は、データ系統図の大きな関心のある部分だけを示し、データ系統図の関心の低い部分を要約し、それによって、データ系統図の複雑さを減らす。
利点の中でもとりわけ、手法は、関心の低いデータ系統ノードを抑制しながら大きな関心のあるデータ系統ノードを強調し、それによって、より理解しやすいデータ系統図を提供する。これは、例えば、潜在的にデータ系統図内に表示される可能性があるデータ系統ノードの数は非常に多い(例えば、数千又は数百万)ので、それらのデータ系統ノードは、実際に関心のある比較的少数のデータ系統ノード(例えば、数十又は数百)の位置を視覚的に分かりにくくする。したがって、結果として得られる要約された系統図は、人間のユーザの関心を集める可能性がある関連する系統情報の知覚を改善するために情報の人間の知覚及び受け取りの物理的条件を考慮に入れるようにして提示される。
説明される手法はデータ系統図内により少ないデータ系統ノードを表示するので、説明される手法によって生じさせられるデータ系統図は、以前の手法によって生じさせられるデータ系統図よりもより迅速に計算され、表示される。
本発明のその他の特徴及び利点は、以下の説明及び請求項から明らかになるであろう。
データ系統モジュールを含むコンピューティングシステムのブロック図である。 データ系統モジュールの図である。 要約リンク(summary link)計算方法の流れ図である。 要約されたデータ系統計算方法の流れ図である。 第1の例示的な印を付けられたデータ系統グラフである。 要約リンク計算方法によって生じさせられた要約リンクを含む第1の例示的な強化されたデータ系統グラフである。 図4の方法の適用後の第1の例示的な強化されたデータ系統グラフである。 第1の例示的な強化されたデータ系統グラフのための要約ノード生成のための方法を示す図である。 第1の例示的な印を付けられたデータ系統グラフに関する要約されたデータ系統図である。 第2の例示的な印を付けられたデータ系統グラフである。 要約リンク計算方法によって生じさせられた要約リンクを含む第2の例示的な強化されたデータ系統グラフである。 図4の方法の適用後の第2の例示的な強化されたデータ系統グラフである。 第2の例示的な強化されたデータ系統グラフのための要約ノード生成のための方法を示す図である。 第2の例示的な印を付けられたデータ系統グラフに関する要約されたデータ系統図である。 データ系統の要約の前の例示的なデータ系統レポートの図である。 図15のデータ系統レポートの要約されたバージョンの図である。 展開可能なクラウドアイコンを含む要約されたデータ系統レポートの一部の図である。 クラウドアイコンのうちの1つの展開後の図17の要約されたデータ系統レポートの一部を示す図である。
図1は、データ系統要約技術が使用され得るコンピューティングシステム100の例を示す。システム100は、ストレージデバイス、又はオンラインデータストリームへの接続などのデータの1又は2以上のソースを含み得るデータソース102を含み、それらの1又は2以上のソースのそれぞれは、さまざまな記憶フォーマット(例えば、データベーステーブル、スプレッドシートファイル、フラットテキストファイル、又はメインフレームによって使用されるネイティブフォーマット)のいずれかでデータを記憶又は提供し得る。実行環境104は、データ処理システム112を含む。実行環境104は、例えば、UNIXオペレーティングシステムのバージョンなどの好適なオペレーティングシステムの制御下の1又は2以上の多目的コンピュータを含むデータ処理システム112においてホストされる可能性がある。例えば、データ処理システム112は、ローカルの(例えば、対称型マルチプロセッシング(SMP,symmetric multi-processing)コンピュータなどのマルチプロセッサシステム)又はローカルに分散された(例えば、クラスタ若しくは超並列処理(MPP,massively parallel processing)システムとして接続された複数のプロセッサか、或いは遠隔の又は遠隔に分散された(例えば、ローカルエリアネットワーク(LAN,local area network)及び/若しくは広域ネットワーク(WAN,wide-areanetwork)を介して接続された複数のプロセッサ)か、或いはこれらの任意の組合せかのいずれかの複数の中央演算処理装置(CPU,central processing unit)或いはプロセッサコアを用いるコンピュータシステムの構成を含むマルチノード並列コンピューティング環境を含む可能性がある。
データソース102を提供するストレージデバイスは、実行環境104のローカルにあり、例えば、実行環境104をホストするコンピュータに接続されたストレージ媒体(例えば、ハードドライブ108)に記憶される可能性があり、又は実行環境104の遠隔にあり、例えば、(例えば、クラウドコンピューティングインフラストラクチャによって提供される)リモート接続を介して実行環境104をホストするコンピュータと通信する遠隔システム(例えば、メインフレーム110)においてホストされる可能性がある。
システム100は、開発者がデータ処理コンピュータプログラム117(例えば、データフローグラフ)を規定し、実行環境104によってアクセスされ得るデータストレージシステム116にプログラムを記憶することができる開発環境118を含む。データ処理システム112は、コンピュータプログラム117に従ってデータソースからのデータを処理して出力データ114を生じさせる。出力データ114は、データソース102若しくはデータストレージシステム116に戻して記憶されるか、又はそうでなければ使用される可能性がある。開発環境118は、一部の実施形態において、(データ処理構成要素又はデータセットを表す)頂点間の(作業要素(work element)、すなわち、データのフローを表す)有向リンクによって接続された頂点を含むデータフローグラフとしてアプリケーションを開発するためのシステムである。例えば、そのような環境は、参照により本明細書に組み込まれる「Managing Parameters for Graph-Based Applications」と題された米国特許出願公開第2007/0011668号明細書により詳細に説明されている。そのようなグラフに基づく計算を実行するためのシステムは、参照により本明細書に組み込まれる「EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS」と題された米国特許第5,966,072号明細書に説明されている。このシステムによって作成されるデータフローグラフは、プロセス間で情報を移動するため及びプロセスに関する実行の順序を定義するためにグラフの構成要素によって表される個々のプロセスに情報を出し入れするための方法を提供する。このシステムは、任意の利用可能な方法からプロセス間通信の方法を選択するアルゴリズムを含む(例えば、グラフのリンクに従った通信パスは、TCP/IP若しくはUNIXドメインソケットを使用するか、又はプロセス間でデータを渡すために共有メモリを使用する可能性がある)。
システム100は、ユーザ121(例えば、企業ユーザ又はデータ設計者)がデータ系統図を要求し、見ることができる企業環境119を含む。データ系統図を生じさせるために、企業環境119は、コンピュータプログラム117の異なる部分に対応する計算を表すデータ変換ノード(例えば、異なるデータフローグラフ又はデータフローグラフ内の異なる構成要素)を特徴付けるメタデータと、データ系統図を生じさせるためにコンピュータプログラム117によってアクセスされるか又は生じさせられるデータノード(例えば、データソース102からのデータセット又は出力データ114に対応するデータセット)を特徴付けるメタデータとを含むシステムメタデータ120を分析することができるデータ系統モジュール115を含む。場合によっては、データ系統モジュール115は、例えば、メタデータが利用可能でないか又は不完全である場合、コンピュータプログラム117及び記憶されたデータを直接分析することもできる。一部の実施形態において、システム100は、そのようなメタデータのための別個のストレージシステムを含む。
図2を参照して、データ系統モジュール115は、入力としてユーザ121からシステムメタデータ120及び1又は2以上のコマンド123を受け取り、出力としてユーザ121に提示するための要約されたデータ系統図122を生じさせる。データ系統モジュール115は、印を付けられたデータ系統グラフ計算モジュール124及びデータ系統要約モジュール126を含む。データ系統要約モジュール126は、要約リンク計算モジュール128及び要約されたデータ系統図計算モジュール130を含む。
動作中、データ系統モジュール115によって受け取られたシステムメタデータ120は、ユーザ121からのコマンド123と一緒に、印を付けられたデータ系統グラフ計算モジュール124に提供される。ユーザ121からのコマンド123の少なくとも一部は、データ系統分析のための目標データノードの指示と、一部の例においては、大きな関心のある1又は2以上のデータノードの指示とを含む。極めて広く、用語「データノード」は、本明細書の一部の例において使用されるとき、データセット(例えば、データベース)及び/又はデータセットの特定のフィールドに関する。一部の例において、大きな関心があるものとして印を付けられるデータノードは、概して、企業システム119の2人以上のユーザの関心を集め、一方、目標データノードとして印を付けられるデータノードは、所与の時間に企業システム119の所与のユーザの特定の関心を集める。
印を付けられたデータ系統グラフ計算モジュール124は、ユーザ121からのコマンドに従ってシステムメタデータ120を処理して、印を付けられたデータ系統グラフ125を生じさせる。極めて広く、印を付けられたデータ系統グラフ125は、ノード間の依存関係を表すリンクによって1又は2以上の変換ノードと相互に接続された1又は2以上のデータノードを含む。ユーザ121が目標データノード又は大きな関心のあるデータノードであるものとして示したデータノードは、印を付けられたデータ系統グラフ125内でそのように(例えば、ブルズアイ記号によって)印を付けられる。
印を付けられたデータ系統グラフ125は、データ系統要約モジュール126に提供され、印を付けられたデータ系統グラフ125は、まず、要約リンク計算モジュール128に提供される。下でより詳細に説明されるように、要約リンク計算モジュール128は、ユーザ121が大きな関心があるものとして印をつけたノードの間のいくつかの要約リンクを生じさせる。要約リンクを特徴付ける情報は、要約オブジェクトに記憶される。それぞれの要約リンクは、2つの大きな関心のあるデータノードの間のデータの依存関係のパスを表し、パスに沿って存在する関心の低いすべてのデータ変換ノード又はデータノードを省略する。要約リンク計算モジュール128は、印を付けられたデータ系統グラフ125を記憶するデータ構造内に計算された要約リンクを特徴付ける要約オブジェクトを記憶することによって、強化されたデータ系統グラフ127を出力として生じさせる。
強化されたデータ系統グラフ127は、要約されたデータ系統図計算モジュール130に提供される。下でより詳細に説明されるように、要約されたリンク計算モジュール130は、強化されたデータ系統グラフ127を処理して、要約されたデータ系統図122を生じさせる。そのようにするために、要約されたデータ系統図計算モジュール130は、要約されたデータ系統図122内に大きな関心のあるノードを細大漏らさず表示しながら、(強化されたデータ系統グラフ127内の要約リンクを処理することに基づいて)関心が低いものとして示されたノードを「要約ノード」へとグループ化する。結果として得られた要約されたデータ系統図122は、データ系統モジュール115から出され、ユーザ121に提供される。
図3を参照すると、流れ図300が、強化されたデータ系統グラフ127を生じさせるために図2の要約リンク計算モジュール128によって従われるステップを示す。第1のステップ334において、印を付けられたデータ系統グラフ125が受け取られる。印を付けられたデータ系統グラフ125は、大きな関心があるものとして印を付けられる印を付けられたデータ系統グラフ125内のそれぞれのデータノードに対して動作する処理ループ336に与えられる。
ステップ338において、大きな関心があるものとして印を付けられた(ノード「X」として指定された)それぞれのデータノードに関して、そのデータノードの上流の近隣のノード(すなわち、大きな関心のあるデータノードにデータを供給するデータノード)のすべてが、データノードのリストの一番下に追加される。それから、データノードのリストの一番上のデータノードが、ステップ340においてリストから削除され、データノード「Y」として指定される。ステップ342において、テストが、データノードYに大きな関心があるものとして印が付けられているかどうかを決定する。データノードYに大きな関心があるものとして印が付けられていない場合、ステップ344において、データノードYの上流の近隣のノードのすべてが、データノードのリストの一番下に追加される。そうでなければ、データノードYに大きな関心があるものとして印が付けられている場合、ステップ346において、データノードYとデータノードXとの間の要約リンクが記憶される。上述のように、要約リンクは、データノードYとデータノードXとの間のデータの依存関係の特定のパスに沿ったすべての大きな関心のないノード(データノードと変換ノードとの両方)を省略することによってそのパスを要約する。
ステップ346において要約リンクを記憶するか又はステップ344においてデータノードYの上流の近隣のノードを追加した後、データノードのリストが空であるかどうかを決定するために、ステップ348においてテストが実行される。リストが空でない場合、プロセスは、ステップ340にループして戻り、データノードのリストの一番上から次のデータノードを削除し、新しいデータノードを「Y」として指定し、上述のステップを繰り返す。そうでなければ、データノードのリストが空である場合、プロセスは350において終了し、強化されたデータ系統グラフ127を生じさせるためのプロセスが完了する。
図4を参照すると、流れ図451は、要約されたデータ系統図122を生じさせるために図2の要約されたデータ系統図計算モジュール130によって従われるプロセスを示す。第1のステップ452において、強化されたデータ系統グラフ127中の目標データノードが特定される。それから、特定された目標データノードが、処理ループ454に与えられ、処理ループ454は、上流方向と下流方向との両方にそれぞれの特定された目標データノードに関して実行される。極めて広く、処理ループ454のそれぞれの反復は、目標データノードから強化されたデータ系統グラフ127の端のデータノードへのパスをトラバースする(つまり、歩く(walk))。ノード間のパスをトラバースすること(又はパスを「歩くこと」)は、パスに沿ったそれぞれのノードを調べて、特定の特性を有するそのパスに沿ったすべてのノードを特定することを含む。
処理ループ454内で、目標データノードに大きな関心があるものとして印が付けられているかどうかを決定するために、ステップ456においてテストが実行される。データノードに大きな関心があるものとして印が付けられている場合、ステップ458において、アルゴリズムは、目標データノードから次のデータノードに接続された要約リンクを歩く。データノードに大きな関心があるものとして印が付けられていない場合、ステップ460において、アルゴリズムは、次のデータノードまで元のリンク(すなわち、非要約リンク)を歩く。
ステップ462において、アルゴリズムが目標データノードに関するそのアルゴリズムの歩きの終わりに到達したかどうかを決定するためにテストが実行される。そうである場合、要約されたデータ系統図生成ステップ465による後の使用のために、ステップ464において、目標データノードに関する歩きに関連するリンクが記憶される。アルゴリズムが目標データノードに関するそのアルゴリズムの歩きの終わりに到達していなかった場合、アルゴリズムはステップ456に戻り、目標データノードから現在の歩きに沿った次のデータノードに関して上述のプロセスが繰り返される。上述のように、上述のプロセスは、目標データノードから上流方向と下流方向の両方に繰り返される。
特定された目標データノードのすべてが処理ループ454によって処理された後、処理ループ454の出力が、要約されたデータ系統図生成ステップ465に与えられる。概して、要約されたデータ系統図生成ステップは、処理ループの出力内の要約リンクを要約ノードにまとめて、要約されたデータ系統図122を生じさせる。要約リンクを要約ノードにまとめるためのプロセスは、下で提示される例においてより詳細に説明される。
ステップ466において、要約されたデータ系統図生成ステップ465によって生成された要約されたデータ系統図122が、ユーザ121に対して表示される。
1 例1
図5を参照すると、印を付けられたデータ系統グラフ500の一例が、いくつかのデータノードD−D及びいくつかのデータ変換ノードT−Tを含む。データノード及びデータ変換ノードは、ノード間のデータの依存関係を表すリンク568によって相互に接続される。概して、リンク568は、ページの左側からページの右側に向かう方向にデータが流れるという意味で方向がある。印を付けられたデータ系統グラフ500において、特定のデータノード(すなわち、D、D、D、D、及びD)は、大きな関心があるものとして印を付けられており、データノードのうちの2つ(すなわち、D及びD)は、目標データノードであるものとして印を付けられている。目標データノードD及びDの両方は、コンテナ570内に置かれる。概して、コンテナは、コンピュータプログラム内でシステム又はサブシステムの境界を表す構造である。所与のコンテナ内のノードの一部若しくはすべてが、ユーザ121の大きな関心を集める可能性があり、又は所与のコンテナ内のノードのいずれも、ユーザ121の大きな関心を集めない可能性がある。
図3と図6との両方を参照すると、印を付けられたデータ系統グラフ500が図2の要約リンク計算モジュール128に与えられるとき、図3に示された手順が、要約リンクS−Sを生じさせるために、印を付けられたデータ系統グラフに適用される。簡潔にするために、図3の手順の適用は、印を付けられたデータ系統グラフ500内の大きな関心のあるデータノードのうちの1つ(すなわち、D)に関してのみ説明される。しかし、手順は、印を付けられたデータ系統グラフ500内の大きな関心のあるデータノードの各々に関して実行されることを理解されたい。
大きな関心のあるデータノードDに関して、データノードDは、まず、「X」として指定される。ステップ338において、Xの上流の近隣のノードD及びDが、データノードのリストに追加される。ステップ340において、Dが、リストから削除され、「Y」として指定される。ステップ342において、Yに大きな関心があるものとして印が付けられているかどうかを決定するためにテストが実行される。テストは、答えNOを返す。テストがNOを返したので、手順はステップ344に進み、Yの上流の近隣のノードD及びDがデータノードのリストの一番下に追加される。ステップ348において、データノードのリストが空であるかどうかを決定するためにテストが実行される。テストは、答えNOを返す。
テストがNOを返したので、手順はステップ340にループして戻り、Dがデータノードのリストから削除され、「Y」として指定される。ステップ342において、Yに大きな関心があるものとして印が付けられているかどうかを決定するためにテストが実行される。テストは、答え「NO」を返す。テストがNOを返したので、手順はステップ344に進み、Yの上流の近隣のノードDがデータノードのリストの一番下に追加される。ステップ348において、データノードのリストが空であるかどうかを決定するためにテストが実行される。テストは、答えNOを返す。
テストがNOを返したので、手順はステップ340にループして戻り、Dがリストから削除され、「Y」として指定される。ステップ342において、Yに大きな関心があるものとして印が付けられているかどうかを決定するためにテストが実行される。テストは、答え「YES」を返す。テストがYESを返したので、手順はステップ346に進み、Y(D)とX(D)との間の要約リンク(S)が記憶される。ステップ348において、データノードのリストが空であるかどうかを決定するためにテストが実行される。テストは、答えNOを返す。
テストがNOを返したので、手順はステップ340にループして戻り、Dがリストから削除され、「Y」として指定される。ステップ342において、Yに大きな関心があるものとして印が付けられているかどうかを決定するためにテストが実行される。テストは、答え「YES」を返す。テストがYESを返したので、手順はステップ346に進み、Y(D)とX(D)との間の要約リンク(S)が記憶される。ステップ348において、データノードのリストが空であるかどうかを決定するためにテストが実行される。テストは、答え「NO」を返す。
テストがNoを返したので、手順はステップ340にループして戻り、Dがリストから削除され、「Y」として指定される。ステップ342において、Yに大きな関心があるものとして印が付けられているかどうかを決定するためにテストが実行される。テストは、答え「YES」を返す。テストがYESを返したので、手順はステップ346に進み、Y(D)とX(D)との間の要約リンク(S)が記憶される。ステップ348において、データノードのリストが空であるかどうかを決定するためにテストが実行される。テストは、答え「YES」を返す。
リストは空であり、手順はDデータノードに関する要約リンクを計算することを終了しており、Dに関する要約ノードのリストは、S=D→D、S=D→D、及びS=D→Dである。
要約リンク計算モジュール128は、印を付けられたデータ系統グラフ500内で大きな関心があるものとして印を付けられたすべてのデータノードに関して上の要約リンク計算手順を実行する。
図6を参照すると、要約リンクを含む強化されたデータ系統グラフ127が、要約リンクの結果として得られたリストがS=D→D、S=D→D、S=D→D、S=D→D、S=D→D、S=D→D、及びS=D→Dであることを示す。
ここで図4と図7との両方を参照すると、強化されたデータ系統グラフ127が、図2の要約されたデータ系統図計算モジュール130に与えられ、要約されたデータ系統図計算モジュール130が、図4に示された手順を適用して、要約されたデータ系統図122を生じさせる。最初、手順のステップ452において、強化されたデータ系統グラフ127内の目標データノードが、データノードD及びDとして特定される。D及びDの各々に関して、上流方向と下流方向との両方に、図4のステップ454の手順が実行される。簡潔にするために、図4の手順の適用は、強化されたデータ系統グラフ127内の目標データノードのうちの1つ(すなわち、D)に関してのみ説明される。しかし、手順は、強化されたデータ系統グラフ127内の目標データノードの各々に関して上流方向と下流方向との両方に実行されることを理解されたい。
目標データノードDに関して、Dに大きな関心があるものとして印が付けられているかどうかを決定するために、ステップ456においてテストが実行される。Dに大きな関心があるものとして印がつけられるので、テストは答え「YES」を返す。Dに大きな関心があるものとして印がつけられるので、手順はステップ458に進み、Dに接続された要約リンク(すなわち、S、S、S、S)の各々が「歩かれる」。特に、下流方向に、2つの要約リンクS及びSがある。ステップ458において、要約リンクSが、データノードDまで歩かれる。ステップ462において、Dが強化されたデータ系統グラフ127の端(つまり、歩きの終わり)にあるかどうかを決定するためにテストが実行される。Dが端にあるので、テストは答え「YES」を返す。テストが答えYESを返したので、歩かれたリンクが、後の要約された系統生成ステップ465において使用するためにステップ464において記憶される。同様に、ステップ458において、要約リンクSが、データノードDまで歩かれる。ステップ462において、Dが強化されたデータ系統グラフ127の端にあるかどうかを決定するためにテストが実行される。Dが端にあるので、テストは答え「YES」を返す。テストが答えYESを返したので、歩かれたリンクが、後の要約された系統生成ステップ465において使用するためにステップ464において記憶される。
上流方向に、2つの要約リンクS及びSがある。ステップ458において、要約リンクSが、データノードDまで歩かれる。ステップ462において、Dが強化されたデータ系統グラフ127の端(つまり、歩きの終わり)にあるかどうかを決定するためにテストが実行される。Dが端にあるので、テストは答え「YES」を返す。テストが答えYESを返したので、歩かれたリンクが、後の要約された系統生成ステップ465において使用するためにステップ464において記憶される。同様に、ステップ458において、要約リンクSが、データノードDまで歩かれる。ステップ462において、Dが強化されたデータ系統グラフ127の端にあるかどうかを決定するためにテストが実行される。Dが端にあるので、テストは答え「YES」を返す。テストが答えYESを返したので、歩かれたリンクが、後の要約されたデータ系統図生成ステップ465において使用するためにステップ464において記憶される。
図4の手順が目標データノードDに関して繰り返され、DからDまでの要約リンクSが歩かれ、DからDまでの要約リンクSが歩かれる結果となる。歩かれたリ
ンクが、要約された系統生成ステップ465によって後で使用するために記憶される。図7を参照すると、強化されたデータ系統グラフ127は、太破線で示される、図4の手順によって歩かれた要約リンクを示す。
目標データノードD及びDに関してステップ464によって記憶された歩かれた要約リンクは、記憶された要約リンクから要約ノードを生じさせるステップ465に与えられる。要約ノードは、要約されたデータ系統図122をユーザに対して表示するデータ系統表示ステップ466に与えられる。
図8を参照すると、要約されたデータ系統図生成ステップ465が、図4の手順のループ454の出力を受け取る。手順のループ454の出力は、印を付けられたデータ系統グラフからの大きな関心のあるデータノードと、目標データノードD及びDと、この場合はたまたますべて要約リンクである図4のステップ464によって記憶されたリンクとを含む。一部の例においては、それぞれの要約リンクに関して、要約されたデータ系統図生成ステップ465が、リンクのそれぞれの終わり(すなわち、右端の終わり及び左端の終わり)を同じラベル(例えば、要約リンクの名前)でラベル付けする。この例において、要約リンクSは、Sとラベル付けされたその要約リンクSの右端の終わり及びSとラベル付けされたその要約リンクSの左端の終わりを有する。要約リンクS、S、S、S、及びSは、同じ方法でラベル付けされる。
それぞれの大きな関心のあるデータノードに関して、大きな関心のあるデータノードにリンクの右端の終わりを接続された(1又は2以上の)すべての要約リンクが特定される。2つ以上の要約リンクの右端の終わりが大きな関心のあるデータノードに接続される場合、大きな関心のあるデータノードに接続されたそれぞれの要約リンクの右端の終わりは、それらの右端の終わりのそれぞれのラベルを要約ノードのラベルによって置き換える。例えば、要約リンクS及びSの右端の終わりは、大きな関心のあるデータノードDに接続される。要約リンクS及びSの右端の終わりのラベルは、両方とも要約ノードのラベル「X」によって置き換えられる。同様に、要約リンクS及びSの右端の終わりのラベルは、要約ノードのラベル「Y」によって置き換えられ、要約リンクS及びSの右端の終わりのラベルは、要約ノードのラベル「Z」によって置き換えられる。
それぞれの大きな関心のあるデータノードに関して、大きな関心のあるデータノードにリンクの左端の終わりを接続された(1又は2以上の)すべての要約リンクが特定される。リンクの右端の終わりに同じ要約ノードのラベルを有する特定された要約リンクのうちの2又は3以上の任意の組に関して、要約リンクの左端の終わりのラベルが、要約リンクの右端の終わりの要約ノードのラベルによって置き換えられる。例えば、要約リンクS及び要約リンクSは、それら要約リンクの左端の終わりを大きな関心のあるデータノードDに接続されている。SとSとの両方の右端の終わりのラベルは、両方とも(上述のように)要約ノードのラベル「X」を割り当てられる。この状況を特定すると、要約されたデータ系統図生成ステップ465は、要約リンクS及び要約リンクSの左端の終わりのラベルを要約ノードのラベル「X」によって置き換える。
図8と図9との両方を参照すると、それぞれの一意の要約ノードのラベルに関して、要約されたデータ系統図生成ステップ465が、ラベルに対応する要約ノードを生じさせる。右端の終わりが所与の要約ノードのラベルを有するすべての要約リンクに関して、要約リンクの右端の終わりは、要約ノードから適切な大きな関心のあるデータノードまで延びる単一の出力リンクにまとめられる。
例えば、要約リンクSと要約リンクSとの両方は、それらの要約リンクの右端の終わりを要約ノードのラベル「X」によってラベル付けされている。図9において、要約ノードX 972は、要約ノードX 972から大きな関心のあるデータノードDまで延びる単一の出力リンクを用いて生じさせられる。単一の出力リンクは、要約リンクSの右端の終わり及び要約リンクSの右端の終わりの組合せを表す。同様に、図9において、要約ノードY 974は、大きな関心のあるデータノードDまで延びる単一の出力リンクを用いて生じさせられる。要約ノードY 974と大きな関心のあるデータノードDとの間の単一の出力リンクは、要約リンクSの右端の終わり及び要約リンクSの右端の終わりの組合せを表す。また、図9において、要約ノードZ 976は、大きな関心のあるデータノードDまで延びる単一の出力リンクを用いて生じさせられる。要約ノードZ 976と大きな関心のあるデータノードDとの間の単一の出力リンクは、要約リンクSの右端の終わり及び要約リンクSの右端の終わりの組合せを表す。
左端の終わりが所与の要約ノードのラベルを有するすべての要約リンクに関して、要約リンクの左端の終わりは、適切な大きな関心のあるデータノードから要約ノードへと延びる単一の入力リンクにまとめられる。例えば、図8においては、要約リンクSの左端の終わりと要約リンクSの左端の終わりとの両方が、要約ノードのラベル「X」によってラベル付けされる。図9においては、単一の入力リンクが、大きな関心のあるデータノードDから要約ノードX 972へと延びる。単一の入力リンクは、要約リンクSの左端の終わり及び要約リンクSの左端の終わりの組合せを表す。
最後に、左端の終わりが要約リンクの元の要約リンクのラベルを有するそれぞれの要約リンクに関して、要約リンクの左端の終わりに接続されたデータノードとデータノードから下流の隣の構成要素との間に、その隣の構成要素が大きな関心のあるデータノードであるか又は要約ノードであるかにかかわらず、リンクが生じさせられる。
図9から分かるように、結果として得られる要約されたデータ系統図122は、大きな関心のあるデータノード及び目標データノードに関するデータ系統の全体的な要約を保ちながら、関心の低いデータノード及びデータ変換ノードを要約ノード972、974、976内に隠す。図9においては、コンテナ570が展開された状態で示されていることに留意されたい。一部の例においては、要約されたデータ系統図122がユーザ121に対して表示されるとき、目標ノードを含むすべてのコンテナが展開された状態で示され、一方、目標ノードを含まないすべてのコンテナは縮約された状態で示される。
2 例2
一部の例においては、印を付けられたデータ系統グラフ内の目標データノードに大きな関心があるものとして印が付けられていない場合、目標データノードは、目標データノードと大きな関心のあるすべての近隣のデータノードとの間の元のリンクと一緒に、要約から除外される。例えば、図10を参照すると、印を付けられたデータ系統グラフ1000の第2の例は、図5の印を付けられたデータ系統グラフ500と同じデータノードD−D、データ変換ノードT−T、及びリンク1168を含む。図10の印を付けられたデータ系統グラフ1000は、データノードDには図10においては大きな関心のあるデータノードであるものとして印が付けられておらず、図10の印を付けられたデータ系統グラフが、図5の印を付けられたデータ系統グラフ500の場合のようにデータノードD及びDではなくDに目標データノードとして印を付けているという点で図5の印を付けられたデータ系統グラフ500と異なる。データノードDは、目標データノードとして印を付けられているが、大きな関心のあるデータノードであるものとして印を付けられてはいないことに留意されたい。大きな関心のあるデータノードDは、コンテナ1070内に置かれる。
図11を参照すると、印を付けられたデータ系統グラフ1000が図2の要約リンク計算モジュール128に与えられるとき、図3に示された手順が、要約リンクS−Sを生じさせるために、印を付けられたデータ系統グラフに適用される。簡潔にするために、印を付けられたデータ系統グラフ1000に関する要約リンクの生成の詳細な説明は、この第2の例に関しては省略される。
ここで図4と図12との両方を参照すると、強化されたデータ系統グラフ1127が、図2の要約されたデータ系統図計算モジュール130に与えられ、要約されたデータ系統図計算モジュール130が、図4に示された手順を適用して、要約されたデータ系統図122を生じさせる。最初、手順のステップ452において、強化されたデータ系統グラフ1127内の目標データノードが、データノードDとして特定される。Dから上流方向と下流方向との両方に関して、図4の手順454が、強化されたデータ系統グラフ1127に対して実行される。
初めに、ステップ456において、Dに大きな関心があるものとして印が付けられているかどうかを決定するためにテストが実行される。Dに大きな関心があるものとして印がつけられていないので、テストは答え「NO」を返す。Dに大きな関心があるものとして印がつけられていないので、手順はステップ460に進み、Dに接続された元のリンクの各々が歩かれる。特に、下流方向に、歩くべき(つまり、変換ノードTを経由するデータノードDからデータノードDまでの)単一のリンクが存在する。DからDまでのリンクが歩かれ、ステップ462において、Dが強化されたデータ系統グラフ1127の端(つまり、歩きの終わり)にあるかどうかを決定するためにテストが実行される。Dが端にあるので、テストは答え「YES」を返す。テストが答えYESを返したので、変換ノードTを含む歩かれた元のリンクが、後の要約された系統生成ステップ465において使用するためにステップ464において記憶される。
上流方向には、歩くべき3つのリンク(データノードDからデータノードDまでの第1のリンク、データ変換ノードTを経由するデータノードDからデータノードDまでの第2のリンク、及びデータ変換Tを経由するデータノードDからデータノードDまでの第3のリンク)が存在する。手順454は、まず、第1のリンクを歩く。Dに大きな関心があるものとして印がつけられていないので、手順はステップ460に進み、データノードDまで元のリンクを歩く。ステップ462において、データノードDが現在の歩きの終わりであるかどうかを決定するためにテストが実行される。テストは、答え「NO」を返し、手順は、データノードDに大きな関心があるものとして印が付けられているかどうかを決定するためのステップを実行するステップ456にループして戻る。テストは、答え「NO」を返し、手順は、データ変換ノードTを経由してデータノードDからデータノードDまで元のリンクを歩くステップ460に進む。ステップ462において、データノードDが強化されたデータ系統グラフ1127の端にあるかどうかを決定するためにテストが実行される。Dが端にあるので、テストは答え「YES」を返す。テストが答え「YES」を返したので、変換ノードT及びTを含む歩かれた元のリンクが、後の要約された系統生成ステップ465において使用するためにステップ464において記憶される。
それから、手順454は、第2のリンクを歩く。D7に大きな関心があるものとして印がつけられていないので、手順454はステップ460に進み、ステップ460において、データ変換ノードTを経由してデータノードDからデータノードDまで元のリンクを歩く。ステップ462において、データノードDが現在の歩きの終わりであるかどうかを決定するためにテストが実行される。テストは、「NO」を返し、手順は、ステップ456にループして戻り、データノードDに大きな関心のあるデータノードであるものとして印が付けられているかどうかを決定するためにテストが実行される。テストは、「YES」を返し、手順は、ステップ458に進み、要約リンクSがデータノードDまで歩かれる。ステップ462において、データノードDが強化されたデータ系統グラフ1127の端にあるかどうかを決定するためにテストが実行される。Dが端にあるので、テストは「YES」を返す。テストが答え「YES」を返したので、(データ変換ノードTを含む)DからDまでの元のリンク及び要約リンクSを含む歩かれたリンクが、後の要約された系統生成ステップ465において使用するためにステップ464において記憶される。
最後に、手順454は、第3のリンクを歩く。Dに大きな関心があるものとして印がつけられていないので、手順454はステップ460に進み、ステップ460において、データ変換ノードTを経由してデータノードDからデータノードDまで元のリンクを歩く。ステップ462において、データノードDが現在の歩きの終わりであるかどうかを決定するためにテストが実行される。テストは、「NO」を返し、手順は、ステップ456にループして戻り、データノードDに大きな関心のあるデータノードであるものとして印が付けられているかどうかを決定するためにテストが実行される。テストは、「YES」を返し、手順は、ステップ458に進み、要約リンクSがデータノードDまで歩かれる。ステップ462において、データノードDが強化されたデータ系統グラフ127の端にあるかどうかを決定するためにテストが実行される。Dが端にあるので、テストは「YES」を返す。テストが答え「YES」を返したので、(データ変換ノードTを含む)DからDまでの元のリンク及び要約リンクSを含む歩かれたリンクが、後の要約された系統生成ステップ465において使用するためにステップ464において記憶される。
目標データノードDに関してステップ464によって記憶された歩かれたリンクは、記憶された要約リンクから要約ノードを生じさせるステップ465に与えられる。それから、ステップ465は、生じさせられた要約ノードをステップ464において記憶された元のリンクと統合して、要約されたデータ系統図122を生じさせる。要約されたデータ系統図122は、要約されたデータ系統図122をユーザに対して表示するデータ系統表示ステップ466に与えられる。
図13を参照すると、要約されたデータ系統図生成ステップ465が、図4の手順のループ454の出力を受け取る。手順のループ454の出力は、印を付けられたデータ系統グラフからの大きな関心のあるデータノードと、目標データノードDと、図4のステップ464によって記憶されたリンク(要約リンクと元のリンクとの両方)とを含む。前の例の場合と同様に、それぞれの要約リンクに関して、要約されたデータ系統図生成ステップ465は、リンクのそれぞれの終わり(すなわち、右端の終わり及び左端の終わり)を同じラベル(例えば、要約リンクの名前)でラベル付けする。この例において、要約リンクSは、Sとラベル付けされたその要約リンクSの右端の終わり及びSとラベル付けされたその要約リンクSの左端の終わりを有する。同様に、要約リンクSは、Sとラベル付けされたその要約リンクSの右端の終わり及びSとラベル付けされたその要約リンクSの左端の終わりを有する。D、T、及びTは、ステップ464によって記憶された歩かれたリンクの一部であるが、D、T、及びDのいずれも2つの大きな関心のあるデータノードの間のパス上にないので、D、T、及びTは、図13の図に含まれないことに留意されたい。
それぞれの大きな関心のあるデータノードに関して、大きな関心のあるデータノードにリンクの右端の終わりを接続された(1又は2以上の)すべての要約リンクが特定される。2つ以上の要約リンクの右端の終わりが大きな関心のあるデータノードに接続される場合、大きな関心のあるデータノードに接続されたそれぞれの要約リンクの右端の終わりは、それらの右端の終わりのそれぞれのラベルを要約ノードのラベルによって置き換える。例えば、要約リンクS及びSの右端の終わりは、大きな関心のあるデータノードDに接続される。要約リンクS及びSの右端の終わりのラベルは、両方とも要約ノードのラベル「X」によって置き換えられる。
それぞれの大きな関心のあるデータノードに関して、大きな関心のあるデータノードにリンクの左端の終わりを接続された(1又は2以上の)すべての要約リンクが特定される。リンクの右端の終わりに同じ要約ノードのラベルを有する特定された要約リンクのうちの2又は3以上の任意の組に関して、要約リンクの左端の終わりのラベルが、要約リンクの右端の終わりの要約ノードのラベルによって置き換えられる。例えば、要約リンクS及び要約リンクSは、それら要約リンクの左端の終わりを大きな関心のあるデータノードDに接続されている。SとSとの両方の右端の終わりのラベルは、両方とも(上述のように)要約ノードのラベル「X」を割り当てられる。この状況を特定すると、要約されたデータ系統図生成ステップ465は、要約リンクS及び要約リンクSの左端の終わりのラベルを要約ノードのラベル「X」によって置き換える。
図13と図14との両方を参照すると、それぞれの一意の要約ノードのラベルに関して、要約されたデータ系統図生成ステップ465が、ラベルに対応する要約ノードを生じさせる。右端の終わりが所与の要約ノードのラベルを有するすべての要約リンクに関して、要約リンクの右端の終わりは、要約ノードから適切な大きな関心のあるデータノードまで延びる単一の出力リンクにまとめられる。
例えば、要約リンクSと要約リンクSとの両方は、それらの要約リンクの右端の終わりを要約ノードのラベル「X」によってラベル付けされている。図14において、要約ノードX 1472は、要約ノードX 1472から大きな関心のあるデータノードDまで延びる単一の出力リンクを用いて生じさせられる。単一の出力リンクは、要約リンクSの右端の終わり及び要約リンクSの右端の終わりの組合せを表す。
左端の終わりが所与の要約ノードのラベルを有するすべての要約リンクに関して、要約リンクの左端の終わりは、適切な大きな関心のあるデータノードから要約ノードへと延びる単一の入力リンクにまとめられる。例えば、図13においては、要約リンクSの左端の終わりと要約リンクSの左端の終わりとの両方が、要約ノードのラベル「X」によってラベル付けされる。図14においては、単一の入力リンクが、大きな関心のあるデータノードDから要約ノードX 1472へと延びる。単一の入力リンクは、要約リンクSの左端の終わり及び要約リンクSの左端の終わりの組合せを表す。
データ変換ノードTを経由するデータノードDとデータノードDとの間のリンク及びデータ変換ノードTを経由するデータノードDとデータノードDとの間のリンクなどのすべての元のリンクが、印を付けられたデータ系統グラフ1000のそれらのリンクの元の形態で含まれる。
図14から分かるように、結果として得られる要約されたデータ系統図122は、大きな関心のあるデータノード及び目標データノードに関するデータ系統の全体的な要約を保ちながら、関心の低いデータノード及び関心の低いデータ変換ノードをX要約ノード1472内に隠す。図14においては、コンテナ1070が展開された状態で示されていることに留意されたい。一部の例においては、要約されたデータ系統図122がユーザ121に対して表示されるとき、コンテナ1070は、いかなる目標データノードも含まないので、縮約された状態で示される可能性がある。
3 例3
上述の例は系統要約メカニズムを示すのに有用であるが、実世界の実施形態においては、系統要約手法が働くデータフローグラフは例で説明されたデータフローグラフよりもずっと大きく、ずっと複雑であることに留意することが重要である。
例えば、図15を参照すると、例示的なデータフローグラフに関するデータ系統レポート1500がいくつかのコンテナオブジェクト1502を含み、それらのコンテナオブジェクト1502の一部は入れ子にされる。コンテナオブジェクトの各々は、1又は2以上のデータフローグラフ構成要素1504を含む。データフロー1506の複雑な網目が、データフローグラフ構成要素1504を相互に接続する。データフローグラフ構成要素1504の数の多さ及び構成要素1504を相互に接続するデータフロー1506の複雑さが原因で、例示的なデータ系統レポート1500は、データ系統の要約のための理想的な候補である。
図16を参照すると、要約されたデータ系統レポート1600は、図15のデータ系統レポート1500に対してデータ系統の要約を実行した結果である。要約されたデータ系統レポート1600は、要約されたデータフローグラフ構成要素、データフロー、及びコンテナオブジェクトを象徴するいくつかのクラウドアイコン1608を含む。図から明らかなように、要約されたデータ系統レポート1600は、より少ないデータフローグラフ構成要素及びより少ないデータフローを含み、単純化された、より容易に理解されるデータ系統レポートをもたらす。
図17を参照すると、要約されたデータ系統レポート1700の別の例の一部の詳細なビューが、第1のクラウドアイコン1710を含むクラウドアイコン1608のより詳細なビューを示す。特に、それぞれのクラウドアイコン1608は、テキスト「...」を有するハイパーリンクを含み、「+」記号を含むことが示される。所与のクラウドアイコン1608のこれらの態様のどちらかをクリックすることは、クラウドアイコン1608の展開を引き起こし、所与のクラウドアイコンによって表されるデータフローグラフ構成要素、データフロー、及びコンテナオブジェクトを露わにする。例えば、図18を参照すると、ユーザが第1のクラウドアイコン1710を展開するために「+」記号をクリックするとき、第1のクラウドアイコン1710が展開され、データ系統レポート1700において第1のクラウドアイコン1710によって要約されたコンテナオブジェクト、データフローグラフ構成要素、及びデータフローのすべてを示す。第1のクラウドアイコン1710によって前に要約されたそれぞれの構成要素は、データフローグラフ構成要素がクラウドアイコン(すなわち、第1のクラウドアイコン1710)によって前に要約されたことを示すより小さなバージョンのクラウドアイコン1712を含むことに留意されたい。
一部の例において、要約されたデータ系統は、1又は2以上のその他の形態の系統明確化メカニズムと一緒に系統図内に含まれる可能性がある。例えば、系統図は、ユーザが関心のないノードを含むレンダリングされた系統図の部分をまとめるためのユーザの入力に動的に応答する反復的な明確化メカニズムを含む可能性がある。再び図17を参照すると、クラウドアイコン1608によって表された要約された部分を展開する(及びまとめる)能力に加えて、ユーザは、(参照により本明細書に組み込まれる「VISUALIZING RELATIONSHIPS BETWEEN DATA ELEMENTS AND GRAPHICALREPRESENTATIONS OF DATA ELEMENT ATTRIBUTES」と題された米国特許出願公開第2010/0138431号明細書として公開された米国特許出願第12/629,466号明細書により詳細に説明されているように)「−」記号によって表されるユーザインターフェース要素1714及びデータセットノード1716などの内側に入れ子にされたデータセットノードを有するコンテナオブジェクト1502をまとめ、まとめられた部分を展開する能力を有する。含まれ得る明確化メカニズムの別の例は、(参照により本明細書に組み込まれる「FILTERING DATA LINEAGE DIAGRAMS」と題された米国特許第62/114,684号明細書により詳細に説明されているように)ノードに関連するタグ(tag)値に基づいて系統図にノードを追加するか又は系統図からノードを除外するフィルタリング機能である。これらの3つのメカニズムのうちの任意の2つ又はさらにはこれらのメカニズムのうちの3つすべてを組み合わせることによって、結果として得られる系統図を明確化する力は、メカニズムが互いを補足し合い、データ系統図のどの部分がレンダリングされるかに関するユーザの細かな制御を可能にする相乗的な柔軟性を与えるので大きく高められる。
異なる明確化メカニズムが、同時に使用される可能性があり、それぞれのメカニズムが、その特定のメカニズムが系統の特定の部分に適用されるかどうかをユーザが明示的に制御することを可能にする。例えば、系統図の左側に、ユーザは、ユーザが展開する可能性があり、又は展開しない可能性がある、クラウドオブジェクトを中に含むコンテナオブジェクトを展開する可能性があり、右側に、ユーザは、ユーザが展開する可能性があり、又は展開しない可能性がある、コンテナオブジェクトを中に含むクラウドオブジェクトを展開する可能性がある。この細かな制御は、系統図の異なる部分において再帰的に適用される可能性があり、システムは、ユーザのインタラクションに基づいて更新された系統図を動的にレンダリングする。フィルタリングは、系統図の選択された部分にのみ適用されるようにフィルタリングを制限することによって細かなレベルで制御される可能性もある。また、これらの3つの例以外の明確化メカニズムが、より一層の制御のために含まれる可能性もある。例えば、系統図のレンダリングは、(目標ノードからのホップを単位とする)最大半径、又はユーザの制御の下で一度にレンダリングされる連続的なホップにのみ制限される。
4 メタデータの連合
一部の例において、上述の系統の要約は、連合させられたメタデータの提示を簡略化するために使用され得る。例えば、特定の組織は、メタデータを保持するためのいくつかの個々のリポジトリを有する。個々のリポジトリに分散されるメタデータの少なくとも一部を管理するために中央リポジトリが使用される。一部の例において、個々のリポジトリのうちの1つが、中央リポジトリとして指定される。その他の例においては、別個のエンティティが、中央リポジトリとして指定される。
概して、中央リポジトリは、企業資産(例えば、企業のグロッサリー(corporate glossary)又はその他の企業資産)を管理し、必要に応じて企業資産を個々のリポジトリの間に分散させる。企業資産を中央リポジトリにおいて管理させることによって、企業の用語(corporate terminology)を含む企業資産の一貫性が組織をまたがって保たれる。
特定の高レベルのユーザは、中央リポジトリを使用して高レベルのデータ系統図を得ることができ、高レベルのデータ系統図は、単一のデータ系統図へと組み合わされる個々のリポジトリのメタデータの系統のすべてを含む。そのような高レベルのデータ系統図を生じさせるために、中央リポジトリは、複数の個々のリポジトリからメタデータを取り出す。
上述のデータ系統要約手法は、個々のリポジトリの一部又は個々のリポジトリ全体を要約ノードにグループ化し、グループ化された部分がユーザの関心が低いことを示すために使用され得る。一部の例において、グループ化された部分に関するメタデータの系統は、ユーザがグループに関する要約ノードを展開し、個々のリポジトリに関する系統への関心を示すまで個々のリポジトリから取得されない。
5 代替形態
一部の例において、印を付けられたデータ系統グラフ内のすべてのノードは、初め、関心が低いものとして印を付けられる。それから、ユーザが、特定のデータノードを大きな関心があるものとして選択的に(例えば、ユーザインターフェースを通じてか又はプログラム的にかのどちらかで)指定する。一部の例において、手法は、データ系統内のノード
とデータ系統内のその他のノードとの間の関係に基づいてそのノードに大きな関心があるものとして自動的に印をつける。例えば、ノードが大きな関心のあるノードと同じデータセット内にある場合、ノードはやはり大きな関心があるものとして印を付けられる可能性がある。一部の例においては、特定のノードが、データ系統内の大きな関心のあるノードに対するその特定のノードの相対的な位置が原因で大きな関心があるものとして印を付けられる可能性がある。例えば、大きな関心があるノードに隣接する特定のノードも、大きな関心があるものとして印を付けられる可能性がある。
一部の例においては、ユーザが、それぞれのデータノードを2つのカテゴリ、すなわち、「詳細」(つまり、データ系統図の詳細なビューにおいてのみ表示される関心の低いデータノード)又は「要約」(つまり、データ系統図の詳細なビューと要約されたビューとの両方において表示される大きな関心のあるノード)のうちの1つに分類する。一部の例において、ノードが関心が低いものであるのか又は大きな関心があるものであるのかを決定するカテゴリは、「システムアーキテクチャ」又は「規制(regulatory)」などの、ノードが表すアイテムの性質を特徴付けるカテゴリに基づく。
一部の例においては、トポロジー内の関心の低いデータノードの集合を特定するために、データノードが、データノード間のいかなる階層とも無関係にまとめられる。出力データセット毎に関心の低いノードの単一の組が存在することを必要とする規則が、実装される。一部の例において、組は、重複する要素を含む可能性がある。一部の例において、要約ノードは、単一の出力データノードに関連付けられた物理的/論理的グループに関連付けられる。その他の例において、要約ノードは、出力ノードの物理的/論理的グループに関連付けられた関心の低いノードが存在しない場合、最も関心の低いノードを含む物理的/論理的グループに関連付けられる。
一部の例において、要約ノードは、クラウドアイコンによってデータ系統図内に表される。その他の例においては、その他の種類の要約ノードアイコンが使用される。一部の例において、要約ノードは、その要約ノードの中身についての情報をほとんど又は全く表示しない。その他の例において、要約ノードは、それらの要約ノードの内容について限られた量の情報(例えば、それらの要約ノードに含まれるノードの数、それらの要約ノードに含まれるシステムの数など)を表示する。一部の例において、ユーザは、要約ノード内のリンクをクリックして、系統の要約されたセクションに関する情報の吹き出しを表示することができる。それから、ユーザは、それぞれの要約されたセクションを展開して、要約ノードについての展開された詳細を見ることができる。一部の例においては、ユーザがデータ系統図の要約されたセクションを展開するとき、要約リンクによって要約され、データ系統図の要約されたセクションに関連付けられた元のリンクが、データ系統図の要約されたセクションに関するデータ系統図を決定するために歩かれる。そして、要約されたセクションのデータ系統図が、ユーザに対して表示される。それから、ユーザは、展開された詳細をクリックして、要約された系統に戻ることができる。つまり、ユーザが、詳細をドリルダウンし(つまり、要約ノードを展開し)、要約ノード毎に再びまとめることを可能にされる。このようにして、ユーザは、それらのユーザがそのようにすることを選択する場合、特定の詳細にナビゲートすることができる。
6 実施形態
上述のデータ系統要約手法は、例えば、好適なソフトウェア命令を実行するプログラミング可能なコンピューティングシステムを用いて実装される可能性があり、又はフィールドプログラマブルゲートアレイ(FPGA,field-programmable gate array)などの好適なハードウェアで、若しくは何らかの混成の形態で実装される可能性がある。例えば、プログラミングされる手法において、ソフトウェアは、それぞれが少なくとも1つのプロセッサ、(揮発性及び/又は不揮発性メモリ及び/又はストレージ要素を含む)少なくとも1つのデータストレージシステム、(少なくとも1つの入力デバイス又はポートを用いて入力を受け取るため、及び少なくとも1つの出力デバイス又はポートを用いて出力を与えるための)少なくとも1つのユーザインターフェースを含む(分散、クライアント/サーバ、又はグリッドなどのさまざまなアーキテクチャである可能性がある)1又は2以上のプログラミングされた又はプログラミング可能なコンピューティングシステムで実行される1又は2以上のコンピュータプログラムの手順を含み得る。ソフトウェアは、例えば、データフローグラフの設計、構成、及び実行に関連するサービスを提供するより大きなプログラムの1又は2以上のモジュールを含む可能性がある。プログラムのモジュール(例えば、データフローグラフの要素)は、データリポジトリに記憶されたデータモデルに準拠するデータ構造又はその他の編成されたデータとして実装され得る。
ソフトウェアは、CD−ROM又は(例えば、多目的若しくは専用のコンピューティングシステム若しくはデバイスによって読み取り可能な)その他のコンピュータ可読媒体などの有形の非一時的媒体上に提供されるか、或いはそのソフトウェアが実行されるコンピューティングシステムの有形の非一時的媒体にネットワークの通信媒体を介して配信される(例えば、伝搬信号に符号化される)可能性がある。処理の一部又はすべては、専用のコンピュータで、又はコプロセッサ若しくはフィールドプログラマブルゲートアレイ(FPGA)若しくは専用の特定用途向け集積回路(ASIC,application-specific integrated circuit)などの専用のハードウェアを用いて実行される可能性がある。処理は、ソフトウェアによって規定された計算の異なる部分が異なるコンピューティング要素によって実行される分散された方法で実装される可能性がある。それぞれのそのようなコンピュータプログラムは、本明細書において説明された処理を実行するためにストレージデバイスの媒体がコンピュータによって読み取られるときにコンピュータを構成し、動作させるために、多目的又は専用のプログラミング可能なコンピュータによってアクセスされ得るストレージデバイスのコンピュータ可読ストレージ媒体(例えば、ソリッドステートメモリ若しくは媒体、又は磁気式若しくは光学式媒体)に記憶されるか又はダウンロードされることが好ましい。本発明のシステムは、コンピュータプログラムで構成された有形の非一時的媒体として実装されると考えられる可能性もあり、そのように構成された媒体は、本明細書において説明された処理ステップのうちの1又は2以上を実行するために特定の予め定義された方法でコンピュータを動作させる。
本発明のいくつかの実施形態が、説明された。しかしながら、上述の説明は、添付の請求項の範囲によって定義される本発明の範囲を例示するように意図されており、限定するように意図されていないことを理解されたい。したがって、その他の実施形態も、添付の請求項の範囲内にある。例えば、本発明の範囲を逸脱することなくさまざまな修正がなされ得る。さらに、上述のステップの一部は、順序に依存しない可能性があり、したがって、説明された順序とは異なる順序で実行される可能性がある。

Claims (22)

  1. コンピューティングシステムにおいて系統情報を管理するための方法であって、
    データ要素を変換する計算を表す1又は2以上のデータ変換ノード、及びデータ要素を表す1又は2以上のデータノードを含み、計算と前記計算の実行中に前記計算によって受け取られるか又は生成されるデータ要素との間のそれぞれの系統の関係を表す有向リンクを含む有向グラフの識別情報を入力デバイス又はポートを介して受け取るステップと、
    少なくとも1つのプロセッサを使用して、前記有向グラフ内のパスに基づいて要約情報を計算し、前記要約情報を1又は2以上の要約オブジェクトに記憶するステップとを含み、前記計算が、
    前記有向グラフの複数の前記ノードに関する関心の指定を受け取ることと、
    関心のある複数のノードに含まれない残りのノードに関する1又は2以上の要約オブジェクトを生じさせることであって、前記1又は2以上の要約オブジェクトのうちの第1の要約オブジェクトが、前記残りのノードのうちの1又は2以上を確かに含み、関心のある第1のノード及び関心のある第2のノード以外に関心のあるいかなるノードも含まない前記第1のノードと前記第2のノードとの間の第1のパスに基づく要約情報を含む、生じさせることとを含む、前記方法。
  2. 第1の要約オブジェクトを生じさせることが、関心のある第1のノードと関心のある第2のノードとの間の第1のパスを横断して、関心があるものとして指定されていない1又は2以上の残りのノードを前記第1のパスに沿って特定することと、特定された1又は2以上の残りのノードに関する要約情報を形成することと含む、請求項1に記載の方法。
  3. 要約オブジェクトのうちの1又は2以上に記憶された要約情報に従って、関心があるものとして指定されたそれぞれのノードが、独自のアイコンによって表され、複数の残りのノードが、関心のある複数のノードに接続された共通のアイコンによって表される、有向グラフの少なくとも一部の視覚的表現としてデータ系統図を生じさせるステップをさらに含む、請求項1に記載の方法。
  4. 共通のアイコンに関連する詳細を見たいというユーザの望みを示すユーザ入力を受け取り、前記ユーザ入力に応じて、前記共通のアイコンによって表される複数の残りのノードを横切り、要約情報に関連する前記複数の残りのノードを含む有向グラフのパスの横切りに基づいてデータ系統図において前記残りのノードを視覚的に表すステップをさらに含む、請求項3に記載の方法。
  5. 1若しくは2以上のデータ変換ノードのうちの1つ又は1若しくは2以上のデータノードのうちの1つの目標ノードとしての指定を受け取るステップをさらに含み、
    データ系統図を生じさせるステップが、有向グラフを通り抜ける1又は2以上のパスを横切ることを含み、前記1又は2以上のパスのうちのそれぞれのパスが、関心のある2又は3以上のノード及び前記目標ノードを含む、請求項3に記載の方法。
  6. 有向グラフを通り抜ける1又は2以上のパスの少なくとも一部に関して、パスを横切ることが、目標ノードから上流方向に前記パスの第1の部分を横切ることと、前記目標ノードから下流方向に前記パスの第2の部分を横切ることとを含む、請求項5に記載の方法。
  7. パスの第1の部分を横切ることが、目標ノードに関心のあるノードであるものとして印が付けられているかどうかを決定すること、及び
    前記目標ノードが関心のあるノードであると決定される場合に、前記目標ノードから関心のある第1の上流のノードまで前記目標ノードに関連する要約オブジェクトに対応するリンクを横切ること、そうでなければ、
    前記目標ノードが関心のあるノードであると決定されない場合に、関心があるものとして指定されていない1又は2以上のデータ変換ノード又はデータノードを横切ることを含む、前記目標ノードと関心のある前記第1の上流のノードとの間の有向グラフの元のパスを横切ることを含む、請求項6に記載の方法。
  8. パスの第1の部分を横切ることが、関心のある第1の上流のノードから関心のある第2の上流のノードまで関心のある前記第1の上流のノードに関連する要約オブジェクトに対応するリンクを横切ることをさらに含む、請求項7に記載の方法。
  9. パスの第2の部分を横切ることが、目標ノードに関心のあるノードであるものとして印が付けられているかどうかを決定すること、及び
    前記目標ノードが関心のあるノードであると決定される場合に、前記目標ノードから関心のある第1の下流のノードまで前記目標ノードに関連する要約オブジェクトに対応するリンクを横切ること、そうでなければ、
    前記目標ノードが関心のあるノードであると決定されない場合に、関心があるものとして指定されていない1又は2以上のデータ変換ノード又はデータノードを横切ることを含む、前記目標ノードと関心のある前記第1の下流のノードとの間の有向グラフの元のパスを横切ることを含む、請求項6に記載の方法。
  10. パスの第2の部分を横切ることが、関心のある第1の下流のノードから関心のある第2の下流のノードまで関心のある前記第1の下流のノードに関連する要約オブジェクトに対応するリンクを横切ることをさらに含む、請求項9に記載の方法。
  11. 1又は2以上の要約オブジェクトが、2又は3以上の要約オブジェクトを含み、系統図を生じさせるステップが、前記2又は3以上の要約オブジェクトの少なくとも一部を共通のアイコンによって表される要約ノードへと統合することをさらに含む、請求項3に記載の方法。
  12. 2又は3以上の要約オブジェクトの少なくとも一部を要約ノードへと統合することが、前記2又は3以上の要約オブジェクトの前記少なくとも一部によってリンクされた関心のあるノードの間の関係を分析して、前記2又は3以上の要約オブジェクトの前記少なくとも一部を統合することが可能であるかどうかを決定することを含む、請求項11に記載の方法。
  13. 関心のあるノードの間の関係を分析することが、2又は3以上の要約オブジェクトの少なくとも一部が関心のある共通の下流のノードに関連付けられると決定することを含む、請求項12に記載の方法。
  14. ノードの少なくとも一部に関する関心の指定が、ユーザから受け取られる、請求項1に記載の方法。
  15. ノードの少なくとも一部に関する関心の指定が、コンピューティングシステムによって生じさせられる、請求項1に記載の方法。
  16. コンピューティングシステムが、関心があるものとして指定されたその他のノードの位置に対するノードの少なくとも一部の位置に基づいて前記ノードの前記少なくとも一部に関する関心の指定を生じさせる、請求項15に記載の方法。
  17. コンピューティングシステムが、ノードの少なくとも一部が関心があるものとして指定されたその他のノードとデータ構造を共有することに基づいて前記ノードの前記少なくとも一部に関する関心の指定を生じさせる、請求項15に記載の方法。
  18. コンピューティングシステムが、複数の別々の相互に接続されたサブシステムを含み、有向グラフの一部が、前記サブシステムの少なくとも一部の間に分散される、請求項3に記載の方法。
  19. サブシステムの少なくとも一部が、共通のアイコンによって表される、請求項18に記載の方法。
  20. コンピュータ可読媒体に非一時的形態で記憶された、コンピューティングシステムにおいて系統情報を管理するためのソフトウェアであって、コンピューティングシステムに、
    データ要素を変換する計算を表す1又は2以上のデータ変換ノード、及びデータ要素を表す1又は2以上のデータノードを含み、計算と前記計算の実行中に前記計算によって受け取られるか又は生成されるデータ要素との間のそれぞれの系統の関係を表す有向リンクを含む有向グラフの識別情報を入力デバイス又はポートを介して受け取らせ、
    少なくとも1つのプロセッサを使用して、前記有向グラフ内のパスに基づいて要約情報を計算し、前記要約情報を1又は2以上の要約オブジェクトに記憶させるための命令を含み、前記計算が、
    前記有向グラフの複数の前記ノードに関する関心の指定を受け取ることと、
    関心のある複数のノードに含まれない残りのノードに関する1又は2以上の要約オブジェクトを生じさせることであって、前記1又は2以上の要約オブジェクトのうちの第1の要約オブジェクトが、前記残りのノードのうちの1又は2以上を確かに含み、関心のある第1のノード及び関心のある第2のノード以外に関心のあるいかなるノードも含まない前記第1のノードと前記第2のノードとの間の第1のパスに基づく要約情報を含む、生じさせることとを含む、前記ソフトウェア。
  21. コンピューティングシステムにおいて系統情報を管理するためのコンピューティングシステムであって、
    データ要素を変換する計算を表す1又は2以上のデータ変換ノード、及びデータ要素を表す1又は2以上のデータノードを含み、計算と前記計算の実行中に前記計算によって受け取られるか又は生成されるデータ要素との間のそれぞれの系統の関係を表す有向リンクを含む有向グラフの識別情報を受け取るための入力デバイス又はポートと、
    前記有向グラフ内のパスに基づいて要約情報を計算し、前記要約情報を1又は2以上の要約オブジェクトに記憶するための少なくとも1つのプロセッサとを含み、前記計算が、
    前記有向グラフの複数の前記ノードに関する関心の指定を受け取ることと、
    関心のある複数のノードに含まれない残りのノードに関する1又は2以上の要約オブジェクトを生じさせることであって、前記1又は2以上の要約オブジェクトのうちの第1の要約オブジェクトが、前記残りのノードのうちの1又は2以上を確かに含み、関心のある第1のノード及び関心のある第2のノード以外に関心のあるいかなるノードも含まない前記第1のノードと前記第2のノードとの間の第1のパスに基づく要約情報を含む、生じさせることとを含む、前記コンピューティングシステム。
  22. コンピューティングシステムにおいて系統情報を管理するためのコンピューティングシステムであって、
    データ要素を変換する計算を表す1又は2以上のデータ変換ノード、及びデータ要素を表す1又は2以上のデータノードを含み、計算と前記計算の実行中に前記計算によって受け取られるか又は生成されるデータ要素との間のそれぞれの系統の関係を表す有向リンクを含む有向グラフの識別情報を受け取るための手段と、
    少なくとも1つのプロセッサを使用して、前記有向グラフ内のパスに基づいて要約情報を計算し、前記要約情報を1又は2以上の要約オブジェクトに記憶するための手段とを含み、前記計算が、
    前記有向グラフの複数の前記ノードに関する関心の指定を受け取ることと、
    関心のある複数のノードに含まれない残りのノードに関する1又は2以上の要約オブジェクトを生じさせることであって、前記1又は2以上の要約オブジェクトのうちの第1の要約オブジェクトが、前記残りのノードのうちの1又は2以上を確かに含み、関心のある第1のノード及び関心のある第2のノード以外に関心のあるいかなるノードも含まない前記第1のノードと前記第2のノードとの間の第1のパスに基づく要約情報を含む、生じさせることとを含む、前記コンピューティングシステム。
JP2019174419A 2014-07-24 2019-09-25 データ系統の要約 Active JP6985350B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462028485P 2014-07-24 2014-07-24
US62/028,485 2014-07-24
US201562114684P 2015-02-11 2015-02-11
US62/114,684 2015-02-11
JP2017504003A JP6594950B2 (ja) 2014-07-24 2015-07-22 データ系統の要約

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017504003A Division JP6594950B2 (ja) 2014-07-24 2015-07-22 データ系統の要約

Publications (2)

Publication Number Publication Date
JP2020024711A true JP2020024711A (ja) 2020-02-13
JP6985350B2 JP6985350B2 (ja) 2021-12-22

Family

ID=55163668

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017504003A Active JP6594950B2 (ja) 2014-07-24 2015-07-22 データ系統の要約
JP2019174419A Active JP6985350B2 (ja) 2014-07-24 2019-09-25 データ系統の要約

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017504003A Active JP6594950B2 (ja) 2014-07-24 2015-07-22 データ系統の要約

Country Status (9)

Country Link
US (3) US10110415B2 (ja)
JP (2) JP6594950B2 (ja)
KR (1) KR102410723B1 (ja)
CN (1) CN106716342B (ja)
AU (2) AU2015292700B2 (ja)
CA (1) CA2956078C (ja)
DE (1) DE112015003406B4 (ja)
SG (1) SG11201700547WA (ja)
WO (1) WO2016014615A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102410723B1 (ko) 2014-07-24 2022-06-17 아브 이니티오 테크놀로지 엘엘시 데이터 계통 요약
KR102054568B1 (ko) 2015-02-11 2020-01-22 아브 이니티오 테크놀로지 엘엘시 필터링 데이터 계통 다이어그램
JP6469878B2 (ja) 2015-02-11 2019-02-13 アビニシオ テクノロジー エルエルシー データ系統図のフィルタリング
US11144283B2 (en) 2015-05-20 2021-10-12 Ab Initio Technology Llc Visual program specification and compilation of graph-based computation
US20170070562A1 (en) 2015-09-06 2017-03-09 Jeremy Lynn Littlejohn Method for denominating move groups of applications
US10193824B2 (en) 2015-09-06 2019-01-29 RISC Networks, LLC Systems and methods for intelligent application grouping
US10884999B2 (en) * 2015-10-28 2021-01-05 Qomplx, Inc. Distributable model with biases contained within distributed data
US10860951B2 (en) * 2015-10-28 2020-12-08 Qomplx, Inc. System and method for removing biases within a distributable model
US11847040B2 (en) * 2016-03-16 2023-12-19 Asg Technologies Group, Inc. Systems and methods for detecting data alteration from source to target
US11960498B2 (en) * 2016-09-29 2024-04-16 Microsoft Technology Licensing, Llc Systems and methods for dynamically rendering data lineage
WO2018089633A1 (en) 2016-11-09 2018-05-17 Ab Initio Technology Llc Systems and methods for determining relationships among data elements
US10635509B2 (en) * 2016-11-17 2020-04-28 Sung Jin Cho System and method for creating and managing an interactive network of applications
US10268345B2 (en) 2016-11-17 2019-04-23 General Electric Company Mehtod and system for multi-modal lineage tracing and impact assessment in a concept lineage data flow network
US10379825B2 (en) 2017-05-22 2019-08-13 Ab Initio Technology Llc Automated dependency analyzer for heterogeneously programmed data processing system
US10481880B2 (en) 2017-07-11 2019-11-19 Bank Of America Corporation Code lineage tool
US10474443B2 (en) * 2017-07-11 2019-11-12 Bank Of America Corporation Code lineage tool
US10769165B2 (en) * 2017-12-20 2020-09-08 Sap Se Computing data lineage across a network of heterogeneous systems
US10997192B2 (en) 2019-01-31 2021-05-04 Splunk Inc. Data source correlation user interface
US10754638B1 (en) 2019-04-29 2020-08-25 Splunk Inc. Enabling agile functionality updates using multi-component application
US11868402B2 (en) 2019-10-11 2024-01-09 Kinaxis Inc. Systems and methods of network visualization
US11151125B1 (en) 2019-10-18 2021-10-19 Splunk Inc. Efficient updating of journey instances detected within unstructured event data
US11663228B2 (en) 2020-01-15 2023-05-30 International Business Machines Corporation Automated management of data transformation flows based on semantics
US11204953B2 (en) 2020-04-20 2021-12-21 International Business Machines Corporation Generation of lineage data subset based upon business role
US11809447B1 (en) * 2020-04-30 2023-11-07 Splunk Inc. Collapsing nodes within a journey model
US11301444B2 (en) * 2020-04-30 2022-04-12 International Business Machines Corporation Methods and systems for data traceability and provenance
US11269876B1 (en) 2020-04-30 2022-03-08 Splunk Inc. Supporting graph data structure transformations in graphs generated from a query to event data
US11349957B2 (en) 2020-05-14 2022-05-31 Bank Of America Corporation Automatic knowledge management for data lineage tracking
US20210406254A1 (en) 2020-06-26 2021-12-30 Smart Information Flow Technologies, LLC Provenance analysis systems and methods
US11741131B1 (en) 2020-07-31 2023-08-29 Splunk Inc. Fragmented upload and re-stitching of journey instances detected within event data
US11972356B2 (en) * 2020-10-16 2024-04-30 App Orchid Inc. System and/or method for an autonomous linked managed semantic model based knowledge graph generation framework
US11520801B2 (en) 2020-11-10 2022-12-06 Bank Of America Corporation System and method for automatically obtaining data lineage in real time
US11983178B2 (en) * 2021-04-27 2024-05-14 Capital One Services, Llc Techniques for building data lineages for queries
US11797574B2 (en) 2021-07-30 2023-10-24 Bank Of America Corporation Hierarchic distributed ledger for data lineage
US11907241B2 (en) * 2022-06-17 2024-02-20 Hewlett Packard Enterprise Development Lp Data recommender using lineage to propagate value indicators

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061353A1 (en) * 2005-09-12 2007-03-15 Bobbin Nathan V User interface options of a data lineage tool

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US6584581B1 (en) 1999-12-06 2003-06-24 Ab Initio Software Corporation Continuous flow checkpointing data processing
US7974875B1 (en) 2000-03-21 2011-07-05 Aol Inc. System and method for using voice over a telephone to access, process, and carry out transactions over the internet
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
JP2002099561A (ja) 2000-09-21 2002-04-05 Toshiba Corp データ変換方法およびデータ変換システム並びに記憶媒体
US6978271B1 (en) 2000-10-31 2005-12-20 Unisys Corporation Mechanism for continuable calls to partially traverse a dynamic general tree
US7369984B2 (en) 2002-02-01 2008-05-06 John Fairweather Platform-independent real-time interface translation by token mapping without modification of application code
US20040010752A1 (en) 2002-07-09 2004-01-15 Lucent Technologies Inc. System and method for filtering XML documents with XPath expressions
US7614037B2 (en) * 2004-05-21 2009-11-03 Microsoft Corporation Method and system for graph analysis and synchronization
US20070011271A1 (en) 2005-05-20 2007-01-11 Baker David V Multi-source data retrieval system
US7734619B2 (en) 2005-05-27 2010-06-08 International Business Machines Corporation Method of presenting lineage diagrams representing query plans
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7378969B2 (en) 2005-10-25 2008-05-27 Sap Ag Systems and methods for visualizing auto-id data
US20080183378A1 (en) * 2007-01-17 2008-07-31 Weidner David P Multi-level path mapping for street grid and non-street grid entities
US8230108B2 (en) * 2007-04-13 2012-07-24 Hart Communication Foundation Routing packets on a network using directed graphs
EP2191362B1 (en) 2007-09-20 2015-08-19 Ab Initio Technology LLC Managing data flows in graph-based computations
AU2009219299B2 (en) * 2008-02-26 2015-05-07 Ab Initio Technology Llc Graphic representations of data relationships
US9269182B2 (en) 2008-09-05 2016-02-23 Nvidia Corporation System and method for identifying entry points of a hierarchical structure
AU2009322437A1 (en) * 2008-12-02 2010-06-10 Ab Initio Technology Llc Visualizing relationships between data elements and graphical representations of data element attributes
US8819010B2 (en) 2010-06-28 2014-08-26 International Business Machines Corporation Efficient representation of data lineage information
CA2814835C (en) * 2010-10-25 2019-01-08 Ab Initio Technology Llc Managing data set objects in a dataflow graph that represents a computer program
US8775476B2 (en) 2010-12-30 2014-07-08 Skai, Inc. System and method for creating, deploying, integrating, and distributing nodes in a grid of distributed graph databases
EP2661687B1 (en) 2011-01-07 2021-03-10 Ab Initio Technology LLC Flow analysis instrumentation
US9202185B2 (en) 2011-04-08 2015-12-01 Ca, Inc. Transaction model with structural and behavioral description of complex transactions
US8782614B2 (en) 2011-04-08 2014-07-15 Ca, Inc. Visualization of JVM and cross-JVM call stacks
US8874525B2 (en) 2011-04-19 2014-10-28 Autodesk, Inc. Hierarchical display and navigation of document revision histories
US9430583B1 (en) 2011-06-10 2016-08-30 Salesforce.Com, Inc. Extracting a portion of a document, such as a web page
US8849824B2 (en) 2011-10-07 2014-09-30 Kabushiki Kaisha Square Enix Database visualization system
US9721039B2 (en) * 2011-12-16 2017-08-01 Palo Alto Research Center Incorporated Generating a relationship visualization for nonhomogeneous entities
JP5542289B2 (ja) 2012-01-23 2014-07-09 トヨタ自動車株式会社 オイル添加物およびオイルフィルター
US9753926B2 (en) 2012-04-30 2017-09-05 Salesforce.Com, Inc. Extracting a portion of a document, such as a web page
US10089335B2 (en) 2012-07-10 2018-10-02 Microsoft Technology Licensing, Llc Data lineage across multiple marketplaces
US9075860B2 (en) * 2012-10-18 2015-07-07 Oracle International Corporation Data lineage system
US9348879B2 (en) 2013-07-02 2016-05-24 Bank Of America Corporation Data lineage transformation analysis
US9256656B2 (en) * 2013-08-20 2016-02-09 International Business Machines Corporation Determining reliability of data reports
WO2015039046A1 (en) 2013-09-16 2015-03-19 Metanautix, Inc. Data flow exploration
US9218169B2 (en) 2013-11-19 2015-12-22 Google Inc. Callpath finder
KR102410723B1 (ko) 2014-07-24 2022-06-17 아브 이니티오 테크놀로지 엘엘시 데이터 계통 요약
US10025878B1 (en) 2014-11-11 2018-07-17 Google Llc Data lineage analysis
JP6469878B2 (ja) 2015-02-11 2019-02-13 アビニシオ テクノロジー エルエルシー データ系統図のフィルタリング
KR102054568B1 (ko) 2015-02-11 2020-01-22 아브 이니티오 테크놀로지 엘엘시 필터링 데이터 계통 다이어그램
US9712554B2 (en) * 2015-04-09 2017-07-18 Accenture Global Services Limited Event correlation across heterogeneous operations
US10382566B2 (en) * 2015-04-16 2019-08-13 Entit Software Llc Business service discovery
US10120923B2 (en) * 2015-11-30 2018-11-06 Bank Of America Corporation Data discovery and analysis tool

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061353A1 (en) * 2005-09-12 2007-03-15 Bobbin Nathan V User interface options of a data lineage tool

Also Published As

Publication number Publication date
AU2015292700A1 (en) 2017-03-02
US10110415B2 (en) 2018-10-23
AU2020203909A1 (en) 2020-07-02
JP6985350B2 (ja) 2021-12-22
DE112015003406T5 (de) 2017-04-20
US20160028580A1 (en) 2016-01-28
CN106716342B (zh) 2020-02-28
KR20170037636A (ko) 2017-04-04
CA2956078C (en) 2021-12-07
CA2956078A1 (en) 2016-01-28
JP2017530440A (ja) 2017-10-12
DE112015003406B4 (de) 2022-05-25
SG11201700547WA (en) 2017-02-27
JP6594950B2 (ja) 2019-10-23
AU2015292700B2 (en) 2020-03-26
CN106716342A (zh) 2017-05-24
US20170033971A1 (en) 2017-02-02
KR102410723B1 (ko) 2022-06-17
US20200099569A1 (en) 2020-03-26
US10313177B2 (en) 2019-06-04
WO2016014615A1 (en) 2016-01-28
AU2020203909B2 (en) 2021-02-25
US10917283B2 (en) 2021-02-09

Similar Documents

Publication Publication Date Title
JP6985350B2 (ja) データ系統の要約
CN107430611B (zh) 过滤数据沿袭图
US7877737B2 (en) Tree-to-graph folding procedure for systems engineering requirements
EP2633398B1 (en) Managing data set objects in a dataflow graph that represents a computer program
JP6449173B2 (ja) プロセスを構成するためのアプリケーションの構築
CN107251021B (zh) 过滤数据沿袭图
US9466041B2 (en) User selected flow graph modification
US8918358B2 (en) Information integration flow freshness cost
CN112368675A (zh) 更新可执行图
Borndörfer et al. PolySCIP
US20130093771A1 (en) Modified flow graph depiction
Ranganathan et al. Smart-Grid Optimization Using A Capacitated Transshipment Problem Solver

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191025

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200811

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210506

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211125

R150 Certificate of patent or registration of utility model

Ref document number: 6985350

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150