KR20170037636A - 데이터 계통 요약 - Google Patents

데이터 계통 요약 Download PDF

Info

Publication number
KR20170037636A
KR20170037636A KR1020177004907A KR20177004907A KR20170037636A KR 20170037636 A KR20170037636 A KR 20170037636A KR 1020177004907 A KR1020177004907 A KR 1020177004907A KR 20177004907 A KR20177004907 A KR 20177004907A KR 20170037636 A KR20170037636 A KR 20170037636A
Authority
KR
South Korea
Prior art keywords
nodes
data
node
interest
outline
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
KR1020177004907A
Other languages
English (en)
Other versions
KR102410723B1 (ko
Inventor
두산 라디보예빅
안토니 엠. 예라카리스
조엘 굴드
앤드류 숀
Original Assignee
아브 이니티오 테크놀로지 엘엘시
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아브 이니티오 테크놀로지 엘엘시 filed Critical 아브 이니티오 테크놀로지 엘엘시
Publication of KR20170037636A publication Critical patent/KR20170037636A/ko
Application granted granted Critical
Publication of KR102410723B1 publication Critical patent/KR102410723B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28—Databases characterised by their database models, e.g. relational or object models
    • G06F16/284—Relational databases
    • G06F16/285—Clustering or classification
    • G06F16/287—Visualization; Browsing
    • G06F17/30601—
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14—Network analysis or design
    • H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90—Details of database functions independent of the retrieved data types
    • G06F16/901—Indexing; Data structures therefor; Storage structures
    • G06F16/9024—Graphs; Linked lists
    • G06F17/30958—
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02—Standardisation; Integration
    • H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12—Discovery or management of network topologies
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22—Arrangements 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

데이터 요소를 변환하는 연산을 나타내는 데이터 변환 노드 및 데이터 요소를 나타내는 하나 이상의 데이터 노드를 포함하고, 계통 관계를 나타내는 지시 된 링크를 포함하는 방향성 그래프 (125)의 식별이 수신된다 (334). 및 상기 방향성 그래프의 경로에 기초하여 요약 정보를 계산하는 단계와, 상기 요약 정보를 하나 이상의 요약 객체에 저장하는 단계 (346)를 포함하는 방법. 컴퓨팅 (336)은, 유향 그래프의 복수의 노드에 대한 관심의 지정을 수신하는 단계; 관심있는 제 1 노드와 하나 이상의 관심을 갖는 제 2 관심 노드 사이의 제 1 경로에 기초한 요약 정보를 포함하는 제 1 요약 객체를 생성하는 단계; 제 1 및 제 2 노드 이외의 관심 노드는 포함하지 않는다.

Description

데이터 계통 요약{DATA LINEAGE SUMMARIZATION}
본 출원은 2014년 7월 24일에 출원된 미국 출원 번호 62/028,485; 및 2015년 2월 11일에 출원된 미국 출원 번호 62/114,684 에 대해 우선권을 주장한다.
본 발명은 데이터 계통 다이어그램의 요약에 관한 것이다.
본 명세서는 데이터 계통 다이어그램의 요약에 관한 것이다.
데이터 처리 시스템에서, 특정 유형의 사용자에게는 계통 데이터가 시스템을 통과할 때 시작적 표현에 액세스하는 것이 바람직한 경우가 종종 있다. 이러한 “데이터 계통 다이어그램”은 시스템 내에서 데이터와 개체들 사이의 의존 관계를 처리하기 위한 데이터와 개체들의 도식화된 표현을 포함할 수 있다. 극히 일반적으로, 여러 가지 용도 중에서, 이러한 데이터 계통 다이어그램들은 위험을 줄이고, 규제 준수 의무를 확인하며, 비즈니스 프로세스를 간소화하고, 데이터를 보호하는데 사용될 수 있다. 데이터 계통 다이어그램은 정확하고 완벽해야 한다.
데이터 계통 다이어그램을 생성 및 표시할 수 있는 일부 시스템은 데이터 항목 및 이러한 데이터 항목을 사용하거나 생성하는 처리 개체를 나타내는 항목의 표현을 보여주는 말단 간 데이터 계통 다이어그램을 자동으로 표시할 수 있다. 특정 항목의 업스트림(upstream) 경로는 해당 항목에 대한 "종속성 분석"이라고도 하며 특정 항목의 다운스트림(downstream) 경로를 해당 항목에 대한 "영향 분석"이라고도 한다. 본 명세서에 사용 된 바와 같이, "데이터 계통 다이어그램"은 임의의 주어진 항목에 관련된 업스트림 종속 분석 및/또는 다운스트림 영향 분석을 포함할 수 있다. 데이터 계통 다이어그램을 생성하고 표시할 수 있는 일부 시스템은 사용자가 데이터 계통 다이어그램에서 항목의 논리적 및/또는 물리적 그룹을 단일 요소로 축소할 수 있도록 한다. 데이터 계통 다이어그램을 생성 및 표시 할 수 있는 일부 시스템은 데이터 품질 스코어링과 같은 풍부한 데이터 정보로 데이터 계통 다이어그램을 향상시킬 수 있다.
본 발명의 기술적 과제는 보다 빠르게 연산되고 디스플레이되는 데이터 계통 다이어그램을 제공함에 있다.
일 양태에 따르면, 일반적으로, 연산 시스템(computing system)에서 계통 정보(lineage information)를 관리하는 방법은: 입력 장치 또는 입력 포트를 통해서, 데이터 요소를 변환하는 연산들을 나타내는 하나 또는 그 이상의 데이터 변환 노드 및 데이터 요소를 나타내는 하나 또는 그 이상의 데이터 노드를 포함하고, 연산 및 상기 연산을 수행하는 동안 상기 연산에 의해 수신되거나 산출된 데이터 요소와의 각각의 계통 관계를 나타내는 방향성 링크(directed link)를 포함하는 방향성 그래프의 식별자(identification)를 수신하는 단계; 및 적어도 하나의 프로세서(processor)를 사용하여 상기 방향성 그래프 내의 경로들에 기반한 개요 정보를 연산하고, 상기 개요 정보를 하나 또는 그 이상의 개요 객체들 내에 저장하는 단계를 포함하되, 상기 연산하는 단계는 상기 방향성 그래프에서 복수의 노드들에 대한 관심의 지정을 수신하는 단계; 및 관심있는 상기 복수의 노드들에 포함되지 않은 잔여 노드들에 대한 하나 또는 그 이상의 개요 객체를 생성하는 단계를 포함하고, 상기 하나 또는 그 이상의 개요 객체 중 제1 개요 객체는 제1 관심 노드 및 제2 관심 노드 사이의 제1 경로에 기반한 개요 정보를 포함하고, 상기 제1 경로는 상기 잔여 노드들 중 하나 또는 그 이상을 포함하고 상기 제1 및 제2 관심 노드를 제외한 다른 관심 노드들을 포함하지 않는다.
양태들은 하나 또는 그 이상의 아래 특징들을 포함할 수 있다.
상기 제1 개요 객체를 생성하는 단계는 상기 제1 경로를 따라 관심있는 것으로 지정되지 아니한 하나 또는 그 이상의 잔여 노드들을 식별하기 위하여 상기 제1 관심 노드 및 상기 제2 관심 노드 사이의 상기 제1 경로를 통과하는 단계, 및 상기 식별된 하나 또는 그 이상의 잔여 노드들에 대한 개요 정보를 형성하는 단계를 포함한다.
상기 방법은 상기 방향성 그래프의 적어도 일부분들에 대한 시각적 표현으로써 데이터 계통 다이어그램을 생성하는 단계를 더 포함하되, 관심있는 것으로 지정된 각 노드는 자신의 고유 아이콘으로 표현되고, 복수의 잔여 노드들은 하나 또는 그 이상의 상기 개요 객체들 내에 저장된 개요 정보에 따라서 복수의 관심 노드들에 연결된 공통 아이콘으로 표현된다.
상기 방법은 상기 공통 아이콘에 연관된 세부 사항들을 열람하기 위한 사용자의 요구를 지시하는 사용자 입력을 수신하는 단계, 상기 사용자 입력에 대한 응답으로, 상기 공통 아이콘으로 표현되는 복수의 잔여 노드들을 통과하는 단계, 그리고 상기 개요 정보와 연관된 상기 복수의 잔여 노드들을 포함하는 방향성 그래프의 경로들에 대한 통과를 기반으로 상기 데이터 계통 다이어그램 내의 잔여 노드들을 시각적으로 표현하는 단계를 더 포함한다.
상기 방법은 상기 하나 또는 그 이상의 데이터 변환 노드 중 하나의 노드, 또는 상기 하나 또는 그 이상의 데이터 노드 중 하나의 노드를 목적 노드로써 지정함을 수신하는 단계를 더 포함하고, 상기 데이터 계통 다이어그램을 생성하는 단계는 상기 방향성 그래프를 통하여 하나 또는 그 이상의 경로를 통과하는 단계를 포함하고, 상기 하나 또는 그 이상의 경로들 각각은 두 개 또는 그 이상의 관심 노드 및 상기 목적 노드를 포함한다.
상기 방향성 그래프를 통하여 하나 또는 그 이상의 경로를 통과하는 단계는, 상기 목적 노드로부터 업스트림(upstream) 방향으로 상기 경로의 제1 부분을 통과하는 단계, 및 상기 목적 노드로부터 다운스트림(downstream) 방향으로 상기 경로의 제2 부분을 통과하는 단계를 포함한다.
상기 경로의 제1 부분을 통과 단계는, 상기 목적 노드가 관심 노드로 마킹되었는지 여부를 판단하는 단계, 상기 목적 노드가 상기 관심 노드로 판단되는 경우, 상기 목적 노드와 연관된 개요 객체에 해당하는, 상기 목적 노드로부터 제1 관심 업스트림 노드로의 연결을 통과하거나, 그렇지 않으면 상기 목적 노드가 상기 관심 노드로 판단되지 않는 경우, 관심 지정이 되지 않은 하나 또는 그 이상의 데이터 변환 노드 또는 데이터 노드를 통과하는 것을 포함하는, 방향성 그래프의 상기 목적 노드 및 제1 관심 상향 노드 사이의 최초 경로를 통과하는 단계를 포함한다.
상기 경로의 제1 부분을 통과하는 단계는, 상기 제1 관심 업스트림 노드와 연관된 개요 객체에 해당하는, 상기 제1 관심 업스트림 노드로부터 제2 관심 업스트림 노드로의 링크를 통과하는 단계를 더 포함한다.
상기 경로의 제2 부분을 통과하는 단계는, 상기 목적 노드가 관심 노드로 마킹되었는지 여부를 판단하는 단계, 상기 목적 노드가 상기 관심 노드로 판단되는 경우, 상기 목적 노드와 연관된 개요 객체에 해당하는, 상기 목적 노드로부터 제1 관심 하향 노드로의 링크를 통과하거나, 그렇지 않으면 상기 목적 노드가 상기 관심 노드로 판단되지 않는 경우, 관심 지정이 되지 않은 하나 또는 그 이상의 데이터 변환 노드 또는 데이터 노드를 통과하는 것을 포함하는, 방향성 그래프의 상기 목적 노드 및 제1 관심 하향 노드 사이의 원본 경로를 통과하는 단계를 포함한다.
상기 경로의 제2 부분을 통과하는 단계는, 상기 제1 관심 다운스트림 노드와 연관된 개요 객체에 해당하는, 상기 제1 관심 다운스트림 노드로부터 제2 관심 다운스트림 노드로의 링크를 통과하는 단계를 더 포함한다.
상기 하나 또는 그 이상의 개요 객체는 두 개 또는 그 이상의 개요 객체를 포함하고, 상기 계통 다이어그램을 생성하는 단계는 상기 두 개 또는 그 이상의 개요 객체의 적어도 일부를 상기 공통 아이콘으로 표현되는 개요 노드에 병합한다.
상기 두 개 또는 그 이상의 개요 객체의 적어도 일부를 상기 개요 노드에 병합하는 단계는, 상기 두 개 또는 그 이상의 개요 객체의 적어도 일부를 상기 개요 노드에 병합하는 것이 가능한지 여부를 판단하기 위하여 상기 두 개 또는 그 이상의 개요 객체의 적어도 일부에 의해 연결된 상기 관심 노드들 사이의 관계들을 분석하는 단계를 포함한다.
상기 관심 노드들 사이의 관계들을 분석하는 단계는, 상기 두 개 또는 그 이상의 개요 객체의 적어도 일부가 관심의 공통 다운스트림 노드와 연관된 것으로 판단하는 단계를 포함한다.
적어도 일부 노드들에 대한 관심 지정은 사용자로부터 수신된다.
적어도 일부 노드들에 대한 관심 지정은 연산 시스템에 의해 생성된다.
상기 연산 시스템은 관심 지정된 다른 노드들의 위치에 대한 적어도 일부 노드들의 상대적인 위치에 기반하여 상기 적어도 일부 노드들에 대한 관심 지정을 생성한다.
상기 연산 시스템은 다른 관심 지정된 노드들과 데이터 구조를 공유하는 적어도 일부 노드들에 기반하여 상기 적어도 일부 노드들에 대한 관심 지정을 생성한다.
상기 연산 시스템은 복수의 분리되고, 서로 연결될 서브 시스템(sub-system)들을 포함하고, 상기 방향성 그래프의 일부분들은 상기 서브 시스템들 중 적어도 일부 사이에 분배된다.
상기 서브 서브 시스템들 중 적어도 일부분은 공통 아이콘에 의하여 표현된다.
다른 양태에 따르면, 일반적으로, 연산 시스템에서 계통 정보를 관리하기 위한 컴퓨터 판독가능한 매체 상에 비일시적 형태로 저장된 소프트웨어에 있어서, 상기 소프트웨어는 상기 연산 시스템에, 입력 장치 또는 입력 포트를 통해서, 데이터 요소를 변환하는 연산을 나타내는 하나 또는 그 이상의 데이터 변환 노드 및 데이터 요소를 나타내는 하나 또는 그 이상의 데이터 노드를 포함하고, 연산 및 상기 연산을 수행하는 동안 수신되거나 상기 연산에 의해 산출된 데이터 요소와의 각각의 계통 관계를 나타내는 방향성 링크(directed link)을 포함하는 방향성 그래프의 식별자(identification)를 수신하도록 하는 명령; 및 적어도 하나의 프로세서(processor)를 사용하여 상기 방향성 그래프 내의 경로들에 기반한 개요 정보를 연산하고, 상기 개요 정보를 하나 또는 그 이상의 개요 객체 내에 저장하도록 하는 명령을 포함하되, 상기 연산하도록 하는 명령은 상기 방향성 그래프에서 복수의 노드들에 대한 관심 노드 지정을 수신하도록 하는 명령; 및 상기 복수의 관심 노드들에 포함되지 않은 잔여 노드들에 대한 하나 또는 그 이상의 개요 객체를 생성하도록 하는 명령을 포함하고, 상기 하나 또는 그 이상의 개요 객체 중 제1 개요 객체는 제1 관심 노드 및 제2 관심 노드 사이의 제1 경로에 기반한 개요 정보를 포함하고, 상기 하나 또는 그 이상의 개요 객체는 상기 잔여 노드들 중 하나 또는 그 이상을 포함하고 상기 제1 및 제2 관심 노드를 제외한 다른 관심 노드들을 포함하지 않는다.
다른 양태에 따르면, 일반적으로, 계통 정보를 관리하는 연산 시스템에 있어서, 데이터 요소를 변환하는 연산을 나타내는 하나 또는 그 이상의 데이터 변환 노드 및 데이터 요소를 나타내는 하나 또는 그 이상의 데이터 노드를 포함하고, 연산 및 상기 연산을 수행하는 동안 수신되거나 상기 연산에 의해 산출된 데이터 요소와의 각각의 계통 관계를 나타내는 방향성 링크(directed link)을 포함하는 방향성 그래프의 식별자(identification)를 수신하는 입력 장치 또는 입력 포트; 및 상기 방향성 그래프 내의 경로들에 기반한 개요 정보를 연산하고, 상기 개요 정보를 하나 또는 그 이상의 개요 객체 내에 저장하는 적어도 하나의 프로세서(processor)를 포함하되, 상기 연산하는 과정은 상기 방향성 그래프에서 복수의 노드들에 대한 관심 노드 지정을 수신하는 단계; 및 상기 복수의 관심 노드들에 포함되지 않은 잔여 노드들에 대한 하나 또는 그 이상의 개요 객체를 생성하는 단계를 포함하고, 상기 하나 또는 그 이상의 개요 객체 중 제1 개요 객체는 제1 관심 노드 및 제2 관심 노드 사이의 제1 경로에 기반한 개요 정보를 포함하고, 상기 하나 또는 그 이상의 개요 객체는 상기 잔여 노드들 중 하나 또는 그 이상을 포함하고 상기 제1 및 제2 관심 노드를 제외한 다른 관심 노드들을 포함하지 않는다.
다른 양태에 따르면, 일반적으로, 계통 정보를 관리하는 연산 시스템에 있어서, 데이터 요소를 변환하는 연산을 나타내는 하나 또는 그 이상의 데이터 변환 노드 및 데이터 요소를 나타내는 하나 또는 그 이상의 데이터 노드를 포함하고, 연산 및 상기 연산을 수행하는 동안 수신되거나 상기 연산에 의해 산출된 데이터 요소와의 각각의 계통 관계를 나타내는 방향성 링크(directed link)을 포함하는 방향성 그래프의 식별자(identification)를 수신하는 수단; 및 적어도 하나의 프로세서(processor)를 이용하여, 상기 방향성 그래프 내의 경로들에 기반한 개요 정보를 연산하고, 상기 개요 정보를 하나 또는 그 이상의 개요 객체 내에 저장하는 수단을 포함하되, 상기 연산하는 과정은 상기 방향성 그래프에서 복수의 노드들에 대한 관심 노드 지정을 수신하는 단계; 및 상기 복수의 관심 노드들에 포함되지 않은 잔여 노드들에 대한 하나 또는 그 이상의 개요 객체를 생성하는 단계를 포함하고, 상기 하나 또는 그 이상의 개요 객체 중 제1 개요 객체는 제1 관심 노드 및 제2 관심 노드 사이의 제1 경로에 기반한 개요 정보를 포함하고, 상기 하나 또는 그 이상의 개요 객체는 상기 잔여 노드들 중 하나 또는 그 이상을 포함하고 상기 제1 및 제2 관심 노드를 제외한 다른 관심 노드들을 포함하지 않는다.
양태들은 아래의 장점들 중 하나 또는 그 이상을 포함할 수 있다.
데이터 처리 시스템의 복잡성이 증가함에 따라, 데이터 계통 다이어그램 또한 점점 더 복잡해져서, 각각의 아이콘에 의해 표현되는 많은 데이터 계통 노드 (예를 들어, 데이터 노드 및 데이터 변환 노드)를 단일 뷰로 제시한다. 데이터 계통 다이어그램에서 사용자에게 표시되는 데이터 노드 수가 증가하면 데이터 계통 다이어그램을 이해하기 어려워 질 수 있다.
본 명세서에서 설명된 접근에서는, 주어진 데이터 처리 시스템 내에서 특정 데이터 노드가 일반적으로 사용자에게 특히 중요하다는 인식을 이용한다. 예를 들어, 사용자가 특히 관심을 갖는 한 유형의 데이터 노드는 특정 유형의 정보 (예를 들어, 개인적으로 식별 가능한 정보)를 저장하는 것으로 알려진 계통 내의 임의의 데이터 노드일 수 있다.
본 명세서에 설명된 접근에서는, 사용자가 관심이 없고 서로 관련된 위상(topology)을 공유하는 데이터 계통 노드의 세트는 데이터 계통 다이어그램에서 단일 아이콘에 의해 표현되는 요약 노드로 축소된다. 개요 노드에 포함되지 않은 데이터 계통 다이어그램의 나머지 노드는 사용자에게 "관심이 높다"(즉, 관심 대상으로 지정되지 않은 다른 노드와는 대조적으로 "관심있는 노드"로 지정된 노드). 결과는 요약된 데이터 계통 다이어그램에서 요약된 데이터 계통 다이어그램의 개요 노드로 표시된 생략된 세부 사항과 함께 사용자(또는 의도 된 대상)에게 관심 지정된 세부 정보만 표시한다.
일 양태에서, 일반적으로, 데이터 계통 다이어그램 생성 시스템은 그것이 디스플레이하는 데이터 계통 다이어그램의 일부분을 요약하도록 구성된다. 데이터 계통 다이어그램은 특정 위상을 가지며 시스템에서 액세스할 수 있는 하나 이상의 데이터 구조에 저장된 해당하는 "데이터 계통 그래프"의 화면 상 표현이다. 요약 정보를 "요약 개체"의 형태로 저장하기 위해 보강된 "보강 된 데이터 계통 그래프"(아래에서보다 자세히 설명함)는 시스템이 데이터 계통 그래프에서 관심도 높은 노드로 지정된 뒤에 생성된다. 시스템은 디스플레이를 위한 요약된 데이터 계통 다이어그램을 생성하기 위하여 보강된 데이터 계통 그래프를 사용한다. 시스템에 의해 생성된 요약된 데이터 계통 다이어그램은 데이터 계통 다이어그램의 관심이 높은 부분만 표시하고 데이터 계통 다이어그램의 관심이 적은 부분을 요약하여 데이터 계통 다이어그램의 복잡성을 감소시킨다.
다른 장점들 사이에서의 접근은 높은 관심의 데이터 계통 노드는 강조하는 반면, 낮은 관심의 데?어 계통 노드는 억제하여, 보다 이해하기 쉬운 데이터 계통 다이어그램을 제공한다. 예를 들어, 데이터 계통 다이어그램에 잠재적으로 표시될 수 있는 데이터 계통 노드의 수가 너무 많아서(예를 들어, 수천 또는 수백만 개), 비교적 적은 수의 데이터 계통 노드(예를 들어, 수십 또는 수백개)의 위치를 시각적으로 표시할 때, 유용하다. 따라서, 최종 요약된 계통 다이어그램은 인간의 인지력의 물리적인 상태를 고려하고, 인간 사용자에게 관심있는 상대적인 계통 정보의 인지를 향상시키기 위한 정보를 수신하는 방식으로 제시된다.
설명된 접근들은 데이터 계통 다이어그램 내에서 보다 적인 데이터 계통 노드들을 디스플레이하기 때문에, 설명된 접근들에 의해 생성된 데이터 계통 다이어그램은 이전 접근들에 의해 생성된 데이터 계통 다이어그램에 비하여 보다 빠르게 연산되고 디스플레이된다.
본 발명의 다른 특징들 및 장점들은 이하의 명세서 및 청구항들로부터 보다 명백해질 것이다.
도 1은 데이터 계통 모듈을 포함하는 컴퓨팅 시스템의 블록도이다.
도 2는 데이터 계통 모듈이다.
도 3은 개요 링크 연산 방법의 흐름도이다.
도 4는 요약된 데이터 연혁 연산 방법의 흐름도이다.
도 5는 제1의 예시적인 마킹된 데이터 연혁 그래프이다.
도 6은 개요 링크 연산 방법에 의해 생성된 개요 링크들을 포함하는 제1의 예시적인 증강된 데이터 계통 그래프이다.
도 7은 도 4의 방법을 적용한 후의 제1의 예시적인 증강된 데이터 계통 그래프이다.
도 8은 제1의 예시적인 증강 된 데이터 계통 그래프에 대한 개요 노드 생성 방법을 도시한다.
도 9는 제1의 예시적인 마킹된 데이터 계통 그래프에 대한 요약된 데이터 계통도이다.
도 10은 제2의 예시적인 데이터 계통 그래프이다.
도 11은 개요 링크 연산 방법에 의해 생성된 개요 링크들을 포함하는 제2의 예시적인 증강된 데이터 계통 그래프이다.
도 12는 도 4의 방법을 적용한 후의 제2 예시적인 증강된 데이터 계통 그래프이다.
도 13은 제2의 예시적인 증강된 데이터 계통 그래프에 대한 개요 노드 생성 방법을 도시한다.
도 14는 제2의 예시적인 마킹된 데이터 계통 그래프에 대한 요약된 데이터 계통도이다.
도 15는 데이터 계통 요약 이전의 예시적인 데이터 계통 보고이다.
도 16은 도 15의 데이터 계통 보고서의 요약된 버전이다.
도 17은 확장 가능한 구름 아이콘들을 포함하는 요약된 데이터 계통 보고서의 일부이다.
도 18은 구름 아이콘들 중 하나가 확장된 후의 도 17의 요약된 데이터 계통 보고서의 일부를 나타낸다.
도 1은 데이터 계통 요약 기술이 사용될 수 있는 컴퓨팅 시스템(100)의 일례를 도시한다. 시스템(100)은 저장 장치 또는 온라인 데이터 스트림에 대한 접속과 같은 하나 이상의 데이터 소스를 포함 할 수 있는 데이터 소스(102)를 포함하며, 각각은 다양한 포맷(예를 들어, 데이터베이스 테이블, 스프레드 시트 파일, 플랫(flat) 텍스트 파일 또는 메인프레임에서 사용되는 기본 형식)의 데이터를 저장하거나 제공한다. 실행 환경(104)은 데이터 처리 시스템(112)을 포함한다. 실행 환경(104)은 예를 들어, UNIX 운영 체제와 같은 버전의 운영 체제와 같은 적합한 운영 체제의 제어 ㅇ하에 있는 하나 또는 그 이상의 범용 컴퓨터를 포함하는 데이터 처리 시스템(112) 상에서 호스팅된다. 예를 들어, 데이터 처리 시스템(112)은 다수의 중앙 처리 장치(CPU) 또는 프로세서 코어를 사용하는 컴퓨터 시스템의 구성, 둘 중 어느 로컬(예를 들어, SMP(symmetric multi-processing) 컴퓨터와 같은 멀티프로세서 시스템), 또는 로컬 분산(예를 들어, 클러스터로 연결된 멀티 프로세서 또는 MPP(massively parallel processing) 시스템, 또는 원격 분산(예를 들어, LAN(local area network)을 통해 연결된 멀티 프로세서 및/또는 WAN(wide-area network)), 또는 이들의 조합을 포함할 수 있다.
데이터 소스(102)를 제공하는 저장 장치는, 예를 들어 실행 환경을 호스팅하는 컴퓨터에 연결된 저장 매체(예를 들어, 하드 드라이브(108)) 상에 저장되어 실행 환경(104)에 국한될 수 있으며, 또는 예를 들어 원격 연결(예를 들어, 클라우드 컴퓨팅 인프라스트럭쳐에 의해 제공되는)을 통해 실행 환경(104)을 호스팅하는 컴퓨터에 연결되어 원격 시스템(예를 들어, 메인프레임(110)) 상에서 호스팅되는 실행 환경(104)에 원격일 수 있다.
상기 시스템(100)은 개발자가 데이터 처리 컴퓨터 프로그램(예를 들어, 데이터흐름 그래프, 117)을 특정하고 실행 환경(104)에 액세스 가능한 데이터 저장 시스템(116)에 프로그램을 저장할 수 있는 개발 환경(118)을 포함한다. 데이터 처리 시스템(112)은 컴퓨터 프로그램(117)에 따라 데이터 소스로부터의 데이터를 처리하여 출력 데이터(114)를 생성한다. 출력 데이터는 데이터 소스(102) 또는 데이터 저장 시스템(116)에 다시 저장되거나, 그렇지 않으면 사용된다. 일부 실시 예에서, 개발 환경(118)은 (데이터 처리 요소 또는 데이터세트를 나타내는) 꼭지점들 사이의 (작업 요소들, 즉 데이터의 흐름을 나타내는) 직접 링크에 연결된 꼭지점들을 포함하는 데이터흐름 그래프로서 애플리케이션을 개발하는 시스템이다. 예를 들어, 이러한 환경은 본 명세서에 참고로 포함 된 "그래프 기반 애플리케이션을 위한 매개 변수 관리"라는 제목의 미국 공개 번호 제 2007/0011668 호에 보다 상세히 설명되어 있다. 이러한 그래프-기반 계산을 실행하기 위한 시스템은 "그래프로 표현된 컴퓨터 실행"이라는 제목의 미국특허 제5,966,072 호에 기재되어 있으며, 이는 본 명세서에 참조로 포함된다. 이 시스템에 따라 작성된 데이터 흐름 그래프는 그래프 구성 요소로 표시되는 개별 프로세스에 정보를 가져 오거나, 프로세스간에 정보를 이동하거나, 프로세스의 실행 순서를 정의하는 방법을 제공한다. 이 시스템은 이용 가능한 모든 방법(예들 들어, 그래프의 링크에 따른 통신 경로가 TCP / IP 또는 UNIX 도메인 소켓을 사용하거나 프로세스간에 데이터 전달을 위하여 공유 메모리를 사용)으로부터 프로세스간 통신 방법을 선택하는 알고리즘을 포함한다.
상기 시스템(100)은 사용자(121)(예를 들어, 기업 사용자 또는 데이터 설계자)가 데이터 계통 다이어그램을 요청하고 볼 수 있는 엔터프라이즈 환경 (119)을 포함한다. 데이터 계통 다이어그램을 생성하기 위해, 엔터프라이즈 환경(119)은, 데이터 계통 다이어그램을 생성하기 위하여 컴퓨터 프로그램(117)의 상이한 부분들에 해당하는 계산들을 나타내는 데이터 변환 노드들을 특징짓는 메타 데이터(예를 들어, 상이한 데이터흐름 그래프들 또는 데이터흐름 그래프 내의 상이한 요소들) 및 액세스된 데이터 노드들을 특징짓거나 컴퓨터 프로그램(117)에 의해 생성된 메타데이터(예를 들어, 데이터 소스(102)로부터의 데이터셋트(datasets) 또는 출력 데이터(114)에 해당하는 데이터셋트(datasets))를 포함하는 시스템 메타데이터(120)를 분석할 수 있는 데이터 계통 모듈(115)을 포함한다. 일부의 경우, 예를 들어, 메타데이터가 불가능하거나 불완전한 경우, 데이터 계통 모듈(115)는 컴퓨터 프로그램(117) 또는 저장된 데이터를 분석할 수 있다. 일부 구현 예에서, 시스템 100)은 이러한 메타 데이터를 위한 별도의 스토리지 시스템을 포함한다.
도 2를 참조하면, 데이터 계통 모듈(115)은 시스템 메타데이터(120) 및 사용자(121)에 의한 하나 또는 그 이상의 명령(123)을 수신하고, 사용자(121)를 위한 결과물로써 프리젠테이션을 위한 요약된 데이터 계통 다이어그램(122)을 생성한다. 데이터 계통 모듈(115)은 마킹된 데이터 계통 그래프 연산 모듈(124) 및 데이터 계통 요약 모듈(126)을 포함한다. 데이터 계통 요약 모듈(126)은 요약 링크 연산 모듈(128) 및 요약된 데이터 계통 다이어그램 연산 모듈(130)을 포함한다.
동작 중, 데이터 계통 모듈(115)에 의해 수신된 시스템 메타 데이터(120)는 사용자(121)로부터의 명령(123)과 함께 마킹된 데이터 계통 그래프 연산 모듈 (124)에 제공된다. 사용자(121)로부터의 명령(123) 중 적어도 일부는 데이터 계통 분석을 위한 목적 데이터 노드의 지시를 포함하고, 일부 예에서, 하나 또는 그 이상의 관심이 많은(high interest) 데이터 노드의 지시를 포함한다. 매우 일반적으로, 본 명세서의 몇몇 예들에서 사용되는 용어 "데이터 노드"는 데이터 세트(예를 들어, 데이터베이스) 및/또는 데이터 세트의 특정 필드에 관한 것이다. 일부 예에서, 관심이 많은 것으로 표시된 데이터 노드는 일반적으로 엔터프라이즈 시스템(119)의 둘 이상의 사용자에게 관심이 있는 반면, 타겟 데이터 노드로 표시된 데이터 노드는 주어진 시점에서 엔터프라이즈 시스템(119)의 주어진 시간에 주어진 사용자에게 특히 중요하다.
마킹된 데이터 계통 그래프 연산 모듈(124)은 마킹된 데이터 계통 그래프 (125)를 생성하기 위해 사용자(121)로부터의 명령에 따라 시스템 메타 데이터 (120)를 처리한다. 매우 일반적으로, 마킹된 데이터 계통 그래프(125)는, 노드들 간의 의존성 관계를 나타내는 링크로 연결되는, 하나 또는 그 이상의 변환 노드에 의해 연결된 하나 또는 그 이상의 노드를 포함한다. 사용자(121)에 의해 목적 노드 또는 높은 관심의 데이터 노드로 지시된 데이터 노드들은 마킹된 데이터 계통 그래프(125)에서 (예를 들어, 황소눈 심볼)로 마킹된다.
마킹 된 데이터 계통 그래프(125)는 개요 링크 연산 모듈(124)에 처음으로 제공된 데이터 계통 요약 모듈(126)에 제공된다. 이하에서는 개요 링크 연산 모듈(128)이 사용자가 높은 관심의 노드로 마킹한 노드들 사이의 복수의 개요 링크들을 생성하는 것에 관하여 보다 자세히 설명된다. 개요 링크를 특정하는 정보는 개요 객체(object) 내에 저장된다. 각각의 개요 링크는 두 개의 높은 관심의 데이터 노드 간의 데이터 의존도 경로를 나타내지만 상기 경로 상에 존재하는 낮은 의존도의 데이터 변형 노드 또는 데이터 노드들를 생략한다. 요약 링크 계산 모듈(128)은 표시된 데이터 계통 그래프(125)를 저장하는 데이터 구조 (들) 내에 연산된 개요 링크를 특정하는 개요 객체를 출력물로 저장함으로써 보강된 데이터 계통 그래프(127)를 생성한다.
보강된 데이터 계통 그래프(127)는 요약된 데이터 계통 다이어그램 연산 모듈(130)에 제공된다. 이하에서는 요약된 데이터 계통 다이어그램(122)를 생성하기 위하여 요약된 링크 연산 모듈(130)이 보강된 데이터 계통 그래프(127)를 처리하는 것에 관하여 보다 상세히 설명한다. 따라서, 요약된 데이터 계통 다이어그램 연산 모듈(130)은 (요약된 데이터 계통 그래프(127)의 처리 개요 링크에 기반하여) 관심이 적은 것으로 표시된 노드를 "개요 노드"로 그룹화하면서 요약된 데이터에 전체 관심도가 높은 노드를 표시한다. 최종 요약된 계통 그래프(122)는 데이터 계통 모듈(115)로부터 전달되어 사용자(121)에게 제공된다.
도 3을 참조하면, 흐름도(300)는 보강된 데이터 계통 그래프(127)를 생성하기 위한, 도 2의 개요 링크 연산 모듈(128)에 의해 수행되는 단계들을 도시한다. 제1 단계(334)에서, 마킹된 데이터 계통 그래프(125)가 수신된다. 마킹 된 데이터 계통 그래프(125)는 관심이 높은 것으로 표시된 마킹된 데이터 계통 그래프(125)의 각 데이터 노드에서 동작하는 처리 루프(336)에 제공된다.
단계(338)에서, 관심이 높은 것으로 표시된 각각의 데이터 노드(노드 'X'로 지정됨)에 대한 모든 업스트림 이웃(upstream neighbor)(즉, 높은 관심의데이터 노드에 데이터를 제공하는 데이터 노드들)이 데이터 노드들의 최하단에 추가된다. 단계(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)의 각각의 반복은 목적 데이터 노드로부터 보강된 데이터 계통 그래프(127)의 가장자리에서 데이터 노드로의 경로를 가로 지른다(즉, 걷는다). 노드 사이의 경로 이동(또는 "걷기")에는 경로를 따라 각 노드를 검사하여 해당 특성을 가진 노드를 식별한다.
처리 루프(454) 내에서, 목적 데이터 노드가 관심이 높은 것으로 표시되는지 여부를 판단하기 위한 테스트가 단계(456)에서 수행된다. 데이터 노드가 높은 관심 대상으로 표시되면, 알고리즘은 단계(458)에서 목적 데이터 노드에 연결된 개요 링크를 다음 데이터 노드로 걸어 간다. 데이터 노드가 높은 관심 대상으로 표시되지 않으면, 알고리즘은 단계(460)에서 다음 데이터 노드로의 오리지널 링크(즉, 비-요약 링크)를 걸어 간다.
단계 (462)에서, 알고리즘이 목적 데이터 노드에 대한 워크(walk) 말단에 도달했는지를 판단하기 위한 테스트가 수행된다. 그렇다면, 이후에 요약된 데이터 계통 다이어그램 생성 단계(465)에서 사용되기 위하여, 단계(464)에서 목적 데이터 노드에 대한 워크(walk)과 연관된 링크가 저장된다. 알고리즘이 목표 데이터 노드에 대한 워크(walk)의 끝까지 도달하지 않았다면, 알고리즘은 단계(456)로 되돌아 가서 목표 데이터 노드로부터의 현재 워크(walk)을 따라 다음 데이터 노드에 대해 위에 서술된 프로세스를 반복한다. 앞서 서술된 바와 같이, 위에 서술된 프로세스는 목표 데이터 노드로부터 업스트림 및 다운 스트림 방향 모두에서 반복된다.
모든 식별 된 목표 데이터 노드가 처리 루프(454)에 의해 처리 된 후, 처리 루프(454)의 출력은 요약된 데이터 계통 다이어그램 생성 단계(465)에 제공된다. 일반적으로, 요약된 데이터 계통 다이어그램 생성 단계는 처리 루프의 요약 출력을 요약 노드로 축소하여 요약된 데이터 계통 다이어그램(122)을 생성한다. 요약 링크를 요약 노드로 축소하는 프로세스는 이하에 제시된 예에서 보다 상세히 설명된다.
요약된 데이터 계통 다이어그램 생성 단계(465)에 의해 생성된 요약된 데이터 계통 다이어그램(122)은 단계(466)에서 사용자(121)에게 디스플레이된다.
예시 1
도 5를 참조하면, 마킹된 데이터 계통 그래프(500)의 일례는 다수의 데이터 노드(D1-D8) 및 다수의 데이터 변환 노드(T1-T6)를 포함한다. 데이터 노드들 및 데이터 변환 노드들은 노드들 간의 데이터 의존성을 나타내는 링크(568)에 의해 상호 연결된다. 일반적으로, 링크(568)는 데이터가 페이지의 좌측으로부터 페이지의 우측으로 흐르는 방향으로 지향된다. 마킹된 데이터 계통 그래프 (500)에서, 특정 데이터 노드(즉, D2, D3, D4, D6 및 D8)들은 관심도가 높은 것으로 표시되고 데이터 노드 중 2 개(즉, D3 및 D4)는 목적 데이터 노드로 표시된다. 두 개의 목적 데이터 노드 D3 및 D4는 모두 컨테이너(570) 내에 위치한다. 일반적으로, 컨테이너는 컴퓨터 프로그램 내의 시스템 또는 서브 시스템의 경계를 나타내는 구조이다. 주어진 콘테이너 내의 일부 또는 모든 노드는 사용자(121)에게 관심이 있을 수도 있고, 어떠한 노드도 사용자(121)에게 관심이 없을 수도 있다.
도 3 및 도 6을 함께 참조하면, 마킹된 데이터 계통 그래프(500)가 도 2의 개요 링크 연산 모듈(128)에 제공될 때, 개요 링크 SA-SG를 생성하기 위하여 도 3에 도시된 과정이 적용된다. 간결성을 위해, 도 3의 과정의 적용은 마킹된 데이터 계통 그래프(500)에서 하나의 높은 관심의 데이터 노드(즉, D8)에 대해서만 설명된다. 하지만, 상기 절차는 마킹된 데이터 계통 그래프(500) 내의 각각의 높은 관심의 데이터 노드들에 대해 수행된다는 것이 이해되어야 한다.
높은 관심의 데이터 노드 D8에 대하여, 우선 데이터 노드 D8은 'X'로 지정된다. 단계(338)에서, X의 업스트림 이웃인 D7 및 D6는 데이터 노드들의 리스트에 추가된다. 단계(340)에서, D7은 리스트에서 제거되고 'Y'로 지정된다. 단계(342)에서, Y가 관심도가 높은 것으로 표시되었는지를 판단하기 위한 테스트가 수행된다. 테스트는 대답 'NO'를 반환한다. 테스트가 NO를 반환했기 때문에, 절차는 단계(344)로 진행하여 Y의 업스트림 이웃인 D3 및 D4가 데이터 노드들의 리스트의 최하단에 추가된다. 단계 348에서 데이터 노드들의 리스트가 비어 있는지를 판단하기 위한 테스트가 수행된다. 상기 테스트는 대답 NO를 반환한다.
상기 테스트가 NO를 반환하였기 때문에, 절차는 단계(340)으로 되돌아가며, 여기서 D5는 데이터 노드들의 리스트에서 제거되고 'Y'로 지정된다. 단계(342)에서, Y가 관심도가 높은 것으로 표시되었는지 여부를 판단하기 위한 테스트가 수행된다. 상기 테스트는 대답 'NO'를 반환한다. 상기 테스트가 NO를 반환했기 때문에, 절차는 Y의 업스트림 이웃인 D2가 데이터 노드들의 최하단에 추가되는 단계(344)를 진행한다. 단계(348)에서 데이터 노드들의 리스트가 비었는지를 판단하기 위한 테스트가 수행된다. 상기 테스트는 대답 NO를 반환한다.
상기 테스트가 NO를 반환하였기 때문에, 절차는 단계(340)으로 되돌아가며, 여기서 D3는 데이터 노드들의 리스트에서 제거되고 'Y'로 지정된다. 단계(342)에서, Y가 관심도가 높은 것으로 표시되었는지 여부를 판단하기 위한 테스트가 수행된다. 상기 테스트는 대답 'YES'를 반환한다. 테스트가 YES를 반환했기 때문에, Y(D3)와 X(D8) 사이에 개요 링크(SD)를 저장하는 단계(346)을 진행한다. 단계(348)에서, 데이터 노드들의 리스트가 비었는지 여부를 판단하기 위한 테스트가 수행된다. 상기 테스트는 대답 NO를 반환한다.
상기 테스트가 NO를 반환하였기 때문에, 절차는 단계(340)으로 되돌아가며, 여기서 D4는 데이터 노드들의 리스트에서 제거되고 'Y'로 지정된다. 단계(342)에서, Y가 관심도가 높은 것으로 표시되었는지 여부를 판단하기 위한 테스트가 수행된다. 상기 테스트는 대답 'YES'를 반환한다. 테스트가 YES를 반환했기 때문에, Y(D4)와 X(D8) 사이에 개요 링크(SG)를 저장하는 단계(346)를 진행한다. 단계(348)에서, 데이터 노드들의 리스트가 비었는지 여부를 판단하기 위한 테스트가 수행된다. 상기 테스트는 대답 'NO'를 반환한다.
상기 테스트가 No를 반환하였기 때문에, 절차는 단계(340)으로 되돌아가며, 여기서 D2는 데이터 노드들의 리스트에서 제거되고 'Y'로 지정된다. 단계(342)에서, Y가 관심도가 높은 것으로 표시되었는지 여부를 판단하기 위한 테스트가 수행된다. 상기 테스트는 대답 'YES'를 반환한다. 테스트가 YES를 반환했기 때문에, Y(D2)와 X(D8) 사이에 개요 링크(SC)를 저장하는 단계(346)를 진행한다. 단계(348)에서, 데이터 노드들의 리스트가 비었는지 여부를 판단하기 위한 테스트가 수행된다. 상기 테스트는 대답 'YES'를 반환한다.
목록이 비어있는 상태에서 절차는 데이트 노드 D8에 대한 개요 링크 연산을 마쳤으며, 상기 D8에 대한 개요 노드 리스트는: SD=D8→D3, SG=D8→D4 및 SC=D8→D2이다.
개요 링크 연산 모듈(128)은 마킹된 데이터 계통 그래프(500)에서 관심도가 높은 것으로 표시된 모든 데이터 노드에 대해 상기 개요 링크 연산 절차를 수행한다.
도 6을 참조하면, 보강된 데이터 계통 그래프(127)는 개요 링크의 최종 리스트가 SA=D4→D2, SB=D4→D2, SC=D8→D2, SD=D8→D3, SE=D6→D3, SF=D6→D4, 그리고 SG=D8→D4 인 개요 링크를 포함한다.
이제 도 4 및 도 7을 참조하면, 요약된 데이터 계통 다이어그램(122)을 생성하기 위해, 도 2의 요약된 데이터 계통 다이어그램 연산 모듈(130)에 도 4에 도시된 절차들을 적용하는 보강된 데이터 계통 그래프(127)이 제공된다. 먼저, 절차의 단계(452)에서, 보강된 데이터 계통 그래프(127)의 목적 데이터 노드는 데이터 노드 D3 및 D4로 식별된다. D3 및 D4 각각에 대해, 업스트림 및 다운 스트림 방향 모두에서, 도 4의 단계(454)가 수행된다. 간결성을 위해, 도 4의 과정의 적용은 보강된 데이터 계통 그래프(127) 내의 목적 데이터 노드들 중 하나(즉, 도 4)에 대해서만 설명된다. 하지만, 상기 절차는 보강된 데이터 계통 그래프(127) 내의 각각의 목적 데이터 노드들에 대하여 업스트림 및 다운스트림 방향 모두에서 수행된다는 것이 이해되어야 한다.
단계(456)에서, 목적 데이터 노드 D4에 대하여, D4가 관심도가 높은 것으로 표시되어 있는지 여부를 판단하기 위한 테스트가 수행된다. D4가 관심도가 높은 것으로 표시되어 있기 때문에 상기 테스트는 대답 'YES'를 반환한다. 상기 D4가 관심도가 높은 것으로 표시되어 있기 때문에, 절차는 D4에 연결된 각각의 개요 링크(즉, SA, SB, SF, SG)를 '워크(walk)하는' 단계(458)을 수행한다. 특히, 다운 스트림 방향에 두 개의 요약 링크 SF 와 SG 가 있다. 개요 링크 SF는 단계(458)에서 데이터 D6로 워크(walk)한다. 단계(462)에서 D6가 보강된 데이터 계통 그래프(127)의 말단에 있는지 여부(즉, 워크(walk)의 마지막)를 판단하는 테스트가 수행된다. D6이 말단에 있기 때문에, 상기 테스트는 대답 'YES'를 반환한다. 상기 테스트가 대답 YES를 반환하였기 때문에, 단계(464)에서 상기 워크(walk)된 링크는 이후의 요약된 계통 생성 단계(465)에서 사용되기 위하여 저장된다. 마찬가지로, 단계(458)에서 개요 링크 SG가 데이터 노드 D8로 워크(walk)된다. 단계(462)에서 D8이 보강된 데이터 계통 그래프(127)의 말단에 있는지 여부를 판단하는 테스트가 수행된다. 상기 D8이 말단에 있기 때문에 상기 테스트는 대답 'YES'를 반환한다. 상기 테스트가 대답 YES를 반환하였기 때문에, 단계(464)에서 상기 워크(walk)된 링크는 이후의 요약된 계통 생성 단계(465)에서 사용되기 위하여 저장된다.
업스트림 방향에서는, 두 개의 요약 링크 SA와 SB가 있다. 단계(458)에서 요약 링크 SA는 데이터 노드 D2로 워크(walk)한다. 단계(462)에서 D2가 보강된 데이터 계통 그래프(127)의 말단에 있는지(즉, 워크(walk)의 끝)를 판단하기 위한 테스트가 수행된다. D2가 말단에 있으므로 상기 테스트는 대답 'YES'를 반환한다. 상기 테스트가 대답 YES를 반환하였기 때문에, 단계(464)에서 상기 워크(walk)된 링크는 이후의 요약된 계통 생성 단계(465)에서 사용되기 위하여 저장된다. 마찬가지로, 단계(458)에서 개요 링크 SB가 데이터 노드 D2로 워크(walk)된다. 단계(462)에서 D2가 보강된 데이터 계통 그래프(127)의 말단에 있는지 여부를 판단하는 테스트가 수행된다. 상기 D2가 말단에 있기 때문에 상기 테스트는 대답 'YES'를 반환한다. 상기 테스트가 대답 YES를 반환하였기 때문에, 단계(464)에서 상기 워크(walk)된 링크는 이후의 요약된 계통 생성 단계(465)에서 사용되기 위하여 저장된다.
도 4의 절차는 목적 데이터 노드 D3에 대해서도 반복되어, 결과적으로 D3로부터 D6로의 링크 SE에 대하여 워크(walk)되고 D3로부터 D8로의 링크 SD에 대하여 워크(walk)된다. 상기 워크(walk)된 링크들은 이후의 요약된 계통 생성 단계(465)에서 사용되기 위하여 저장된다. 도 8을 참조하면, 보강된 데이터 계통 그래프(127)는 도 4에 나타난 절차들에 의해 워크(walk)되어 굵은 점선으로 표시되었다.
목표 데이터 노드(D3 및 D4)에 대하여 단계(464)에 의해 저장된 워크(walk)된 개요 링크들은 저장된 개요 링크들로부터 개요 노드들을 생성하는 단계(465)에 제공된다. 상기 개요 노드들은 사용자에 요약된 데이터 계통 다이어그램(122)을 표시하는 데이터 계통 디스플레이 단계(466)에 제공된다.
도 8을 참조하면, 요약된 데이터 계통 다이어그램 생성 단계(465)는 도 4의 절차 루프(454)의 출력을 수신한다. 절차 루프(454)의 출력은 마킹된 데이터 계통 그래프로부터의 높은 관심의 데이터 노드들, 목적 데이터 노드 D3 및 D4, 그리고 도 4의 단계(464)에서 저장된 링크들을 포함하고, 이 경우 모든 요약 링크들에 해당한다. 일부 예에서, 각각의 개요 링크에 대해, 요약된 데이터 계통 다이어그램 생성 단계(465)는 링크의 각 단부(즉, 맨 우측 단부 및 맨 좌측 단부)를 동일한 라벨(예를 들어, 요약 링크의 이름)로 라벨링한다. 이 예에서, 개요 링크 SA의 오른쪽 끝은 SA로 라벨링되고 왼쪽 끝은 SA로 라벨링된다 개요 링크 SB, SD, SE, SF 및 SG도 동일한 방식으로 라벨링된다.
각각의 높은 관심의 데이터 노드에 대해, 상기 높은 관심의 데이터 노드에 연결된 맨 우측 단부를 갖는 요약 링크들이 식별된다. 하나 이상의 요약 링크에 대하여 맨 우측 단부가 높은 관심의 데이터 노드에 연결되었다면, 상기 높은 관심의 데?어 노드에 연결된 각각의 개요 링크의 맨 우측 단부는 개요 노드 라벨로 교체된다. 예를 들어, 개요 링크 SA 및 개요 링크 SB의 맨 좌측 단부는 높은 관심의 데이터 노드 D2에 연결된다. (앞서 서술된 대로) SA 및 SB의 우측 단부는 모두 개요 노드 라벨 'X'이 할당된다. 이 상황의 식별에 따라, 요약된 데이터 계통 다이어그램 생성 단계(465)는 개요 링크 SA 및 개요 링크 SB의 맨 좌측 ㄱ단부를 개요 노드 라벨 'X'로 교체한다.
도 8 및 도 9를 같이 참조하면, 각각의 고유한 개요 노드 라벨에 대하여, 요약된 데이터 계통 다이어그램 생성 단계(465)는 라벨에 해당하는 개요 노드를 생성한다. 주어진 개요 노드 라벨을 갖는 맨 우측 단부(rightmost end)를 가지는 모든 개요 링크들에 대해, 개요 링크들의 맨 우측 단부들은 개요 노드로부터 적절한 높은 관심의 데이터 노드로 확장되는 단일 출력 링크로 축소된다.
예를 들어, 개요 링크 SA와 개요 링크 SB 모두 개요 노드 라벨 'X'로 라벨링 된 맨 우측 단부를 갖는다. 도 9에서, 개요 노드 X(972)는 높은 관심의 데이터 노드 D4로 연장되는 단일 출력 링크와 함께 생성된다. 단일 출력 링크는 개요 링크 SA의 맨 우측 단부와 개요 링크 SB의 맨 우측 단부의 조합을 나타낸다. 마찬가지로, 도 9에서, 개요 노드 Y(974)는 높은 관심의 노드 D6으로 연장되는 단일 출력 링크로 생성된다. 요약 노드 Y(974)와 높은 관심의 데이터 노드 D6 사이의 단일 출력 링크는 개요 링크 SE의 맨 우측 단부와 개요 링크 SF의 맨 우측 단부의 조합을 나타낸다. 또한, 도 9에서, 개요 노드 Z(976)는 높은 관심의 데이터 노드 D8로 연장되는 단일 출력 링크로 생성된다. 개요 노드 Z(976)와 높은 관심의 데이터 노드 D8 사이의 단일 출력 링크는 개요 링크 SD의 맨 우측 단부와 개요링크 SG의 맨 우측 단부의 조합을 나타낸다.
주어진 개요 노드 레이블을 갖는 맨 좌측 단부를 갖는 모든 개요 링크의 경우, 개요 링크의 맨 좌측 단부는 해당 높은 관심의 데이터 노드에서 개요 노드로 확장되는 단일 입력 링크로 축소된다. 예를 들어, 도 8에서, 개요 링크 SA의 가장 촤측 단부 및 개요 링크 SB의 맨 좌측 단부는 개요 노드 라벨 'X'로 라벨링된다. 도 9에서, 단일 입력 링크는 높은 관심의 데이터 노드 D2로부터 개요 노드 X(972)로 연장된다. 단일 입력 링크는 개요 링크 SA의 맨 좌측 단부와 개요 링크 SB의 맨 좌측 단부의 조합을 나타낸다.
마지막으로, 맨 좌측 단부가 원래의 개요 링크 레이블을 갖는 각 개요 링크에 대하여, 개요 링크의 맨 좌측 단부에 연결된 데이터 노드와 상기 데이터 노드로부터 다음 요소 다운스트림 사이에, 높은 관심의 데이터 노드인지 또는 개요 노드인지에 대한 링크가 생성된다.
도 9에 도시된 바와 같이, 최종 요약된 데이터 계통 다이어그램(122)는 개요 노드들(972, 974, 976) 내에 낮은 관심의 데이터 노드들과 데이터 변형 노드들을 숨기는 반면, 높은 관심의 데이터 노드와 목적 데이터 노드들에 대한 전체적인 데이터 계통의 요약은 유지한다. 또한, 도 9에서, 컨테이너(570)는 확장된 상태로 도시된다. 일부 예에서, 요약된 데이터 계통 다이어그램(122)이 사용자(121)에게 디스플레이 될 때, 목적 노드를 포함하는 임의의 컨테이너는 확장된 상태로 도시되고, 목적 노드를 포함하지 않는 임의의 컨테이너는 축소된 상태로 도시된다.
예시 2
일부 예에서, 마킹된 데이터 계통 그래프의 목적 데이터 노드가 높은 관심 대상으로 표시되지 않으면, 목적 데이터 노드와 높은 관심의 인접한 데이터 노드 사이의 오리지널 링크와 목적 데이터 노드는 요약에서 제외된다. 예를 들어, 도 10을 참조하면, 제2 예의 마킹된 데이터 계통 그래프(1000)는 도 5의 마킹된 데이터 계통 그래프(500)와 동일한 데이터 노드 D1-D8, 데이터 변환 노드 T1-T6 및 링크들(1168)을 포함한다. 도 10의 마팅된 데이터 계통 그래프(1000)는 데이터 노드 D3이 높은 관심의 데이터 노드로 표시되지 않았다는 점과, 데이터 노드 D7이 데이터 노드 D3 및 D4 대신에 목적 데이터 노드로 표시되었다는 점에서 도 5의 마킹된 데이터 계통 그래프(500)와 상이하다. 데이터 노드 D7은 목적 데이터 노드로 표시된 반면에 높은 관심의 데이터 노드로는 표시되지 않았다는 점에 주의하자. 높은 관심의 데이터 노드 D4는 컨테이너(1070) 내에 위치한다.
도 11을 참조하면, 마킹된 데이터 계통 그래프(100)가 도 2의 개요 링크 연산 모듈(128)에 제공될 때, 개요 링크 SA-SE를 생성하기 위해 상기 마킹된 데이터 계통 그래프에 도 3에 도시된 절차가 적용된다. 간결성을 위해, 제2 예시에서는 마킹된 데이터 계통 그래프(1000)에 대한 개요 링크 생성의 구체적인 설명은 생략된다.
이제 도 4 및 도 12를 참조하면, 요약된 데이터 계통 다이어그램(122)을 생성하기 위해, 보강된 데이터 계통 그래프(1127)가 도 4에 도시된 절차들을 적용하는 도 2의 요약된 데이터 계통 다이어그램 연산 모듈(130)에 제공된다. 먼저, 절차의 단계(452)에서, 보강된 데이터 계통 그래프(1127) 내의 목적 데이터 노드는 D7인 것으로 식별된다. D7로부터 업스트림 방향 및 다운스트림 방향 모두에 대해, 도 5의 단계(454)가 보강된 데이터 계통 그래프(1127) 상에서 수행된다.
우선, 단계(456)에서, D7이 높은 관심을 갖는 것으로 표시되어 있는지를 판단하기 위한 테스트가 수행된다. D7은 관심도가 높은 것으로 표시되어 있지 않으므로, 상기 테스트는 대답 “NO”를 반환한다. 상기 D7이 관심도가 높은 것으로 표시되어 있지 않기 때문에, 절차는 D7에 연결된 각 오리지널 링크가 워크(walk)되는 단계(460)를 수행한다. 특히, 다운스트림 방향으로는 하나의 워크(walk) 링크가 존재한다(즉, 변형 노드 T6를 경우하는 데이터 노드 D7로부터 데이터 노드 D8까지). D7로부터 D8까지의 링크가 워크(walk)되고, 단계(462)에서 D8이 보강된 데이터 계통 그래프(1127)의 말단(즉, 워크(walk)의 끝)에 있는지 여부를 판단하는 테스트가 수행된다. D8이 말단에 있으므로 상기 테스트는 대답 'YES'를 반환한다. 상기 테스트가 대답 YES를 반환하였기 때문에, 단계(464)에서, 변형 노드 T6을 포함하는 워크(walk)된 오리지널 링크는 이후에 요약 계통 생성 단계(465)에서 사용되기 위하여 저장된다.
업스트림 방향에서는, 워크(walk)하기 위한 세 개의 요약 링크(즉, 데이터 노드 D7로부터 데이터 노드 D1으로의 제1 링크, 데이터 노드 D7로부터 변형 노드 T2를 경유하여 데이터 노드 D2로의 제2 링크, 그리고 데이터 노드 D7로부터 변형 노드 T3을 경유하여 데이터 노드 D2로의 제3 링크)가 존재한다. 절차(454)는 우선 제1 링크를 워크(walk)한다. D7이 관심도가 높은 것으로 표시되어 있지 않기 ?문에, 절차는 단계(460)으로 진행되고, 데이터 노드 D3으로의 오리지널 링크를 워크(walk)한다. 단계(462)에서, D3이 현재 워크(walk)의 끝에 있는지 여부를 판단하는 테스트가 수행된다. 상기 테스트는 “NO”를 반환하고, 상기 절차는 데이터 노드 D3이 관심도가 높은 것으로 표시되었는지 여부를 판단하기 위한 단계를 수행하는 단계(456)으로 되돌아간다. 상기 테스트는 대답 “NO”를 반환하고, 절차는 데이터 노드 D3으로부터 변형 노드 T1을 경유하여 데이터 노드 D1으로 워크(walk)하는 단계(460)를 수행한다. 단계(462)에서, D1이 보강된 데이터 계통 그래프(1127)의 말단에 있는지 여부를 판단하는 테스트가 수행된다. D1이 말단에 있기 때문에, 상기 테스트는 대답 'YES'를 반환한다. 상기 테스트가 대답 'YES'를 반환하였기 때문에, 변형 노드 T5 및 T1을 포함하는 상기 워크(walk)된 링크는, 이후의 요약된 계통 생성 단계(465)에서 사용되기 위하여, 단계(464)에서 저장된다.
다음으로 절차(454)는 제2 링크를 워크(walk)한다. D7이 관심도가 높은 것으로 표시되어 있지 않기 때문에, 절차(454)는 단계(460)으로 진행하고, 데이터 변형 노드 T5를 경우하는 데이터 노드 D7로부터 데이터 노드 D4로의 오리지널 링크를 워크(walk)한다. 단계(462)에서, D4가 현재 워크(walk)의 마지막인지를 판단하는 테스트가 수행된다. 상기 테스트는 'NO'를 반환하고, 절차는 데이터 노드 D4가 관심도가 높은 데이터 노드인지 여부를 판단하는 테스트를 수행하는 단계(456)로 되돌아간다. 상기 테스트는 'YES'를 반환하고, 개요 링크 SA가 데이터 링크 D2로 워크(walk)하는 단계(458)을 진행한다. 단계(462)에서, D2가 보강된 데이터 계통 그래프(1127)의 말단에 있는지 여부를 판단하는 테스트를 수행한다. D2가 말단에 있기 때문에 상기 테스트는 'YES'를 반환한다. 상기 테스트가 대답 'YES'를 반환했기 때문에, 이후의 요약된 계통 생성 단계(465)에서 사용되기 위하여, D7로부터 D4로의 오리지널 링크를 포함하는 워크(walk)된 링크 및 개요 링크 SA가 단계(464)에서 저장된다.
마지막으로, 절차(454)는 제3 링크를 워크(walk)한다. D7이 관심 대상으로 표시되지 않았기 때문에, 절차(454)는 단계(460)로 진행하고, 단계(460)에서 데이터 노드 D7로부터 데이터 변형 노드 T5를 경유하여 데이터 노드 D4로 오리지널 링크를 워크(walk)한다. 단계(462)에서 데이터 노드 D4가 현재 워크(walk)의 끝인지를 판단하는 테스트를 수행한다. 상기 테스트는 'NO'를 반환하고, 절차는 데이터 노드 D4가 관심도가 높은 데이터 노드로 표시되었는지 판단하는 테스트를 수행하는 단계(456)으로 되돌아간다. 상기 테스트는 'YES'를 반환하고, 상기 절차는 개요 링크 SB가 데이터 노드 D2로 워크하는 단계(458)를 진행한다. 단계(462)에서, D2가 보강된 데이터 계통 그래프(1127)의 말단에 있는지를 판단하는 테스트가 수행된다. D2가 말단에 있으므로 상기 테스트는 'YES'를 반환한다. 상기 테스트가 대답 'YES'를 반환하였으므로, 이후의 요약된 계통 생성 단계(465)에서 사용되기 위하여, D7로부터 D4로의 오리지널 링크 및 개요 링크 SB를 포함하는 보행된 링크가 단계(464)에서 저장된다.
목적 데이터 노드 D7에 대하여 단계(464)에 의해 저장된 워크 링크는 저장된 개요 링크로부터 개요 노드를 생성하는 단계(465)에 제공된다. 다음으로, 단계 (465)는 생성된 요약 노드를 단계(464)에 의해 저장된 원래의 링크와 통합하여 요약된 데이터 계통 다이어그램(122)을 생성한다. 요약된 데이터 계통 다이어그램 (122)은 사용자에게 요약된 데이터 계통 다이어그램(122)을 디스플레이하는 데이터 계통 디스플레이 단계(466)에 제공된다.
도 13을 참조하면, 요약된 데이터 계통 다이어그램 생성 단계(465)는 도 4의 절차 루프(454)의 출력을 수신한다. 절차 루프(454)의 출력은 마킹된 데이터 계통 그래프로부터의 관심도 높은데이터 노드, 목적 데이터 노드 D7, 및 도 4의 단계(464)에 의해 저장된 링크들(개요 링크 및 오리지널 링크)을 포함한다. 이전의 예에서와 같이, 각 요약 링크에 대해, 요약된 데이터 계통 다이어그램 생성 단계 (465)는 링크의 각 단부(즉, 맨 우측 단부 및 맨 좌측 단부)를 동일한 라벨(예를 들어, 개요 링크의 명칭)로 라벨링한다. 이 예에서, 개요 링크 SA의 맨 우측 단부는 SA로 라벨링되고 맨 좌측 단부는 SA로 라벨링된다. 마찬가지로, 개요 링크 SB는 맨 우측 단부에 SB가 라벨링되고 맨 좌측 단부에 SB가 라벨링된다. D1, T1 및 T3은 단계(464)에 의해 저장된 워크(walk) 링크의 일부분이지만, D1, T1 및 T3 중 어느 하나도 높은 관심도의 데이터 노드들 사이의 경로에 위치하지 않기 때문에, 도 13의 다이어그램에는 포함되지 않는다.
각각의 높은 관심의 데이터 노드에 대해, 상기 높은 관심의 데이터 노드에 연결된 맨 우측 단부를 갖는 개요 링크들이 식별된다. 하나 이상의 요약 링크에 대하여 맨 우측 단부가 높은 관심의 데이터 노드에 연결되었다면, 상기 높은 관심의 데이터 노드에 연결된 각각의 오약 링크의 맨 우측 단부는 개요 노드 라벨로 교체된다. 예를 들어, 개요 링크 SA 및 SB의 맨 우측 단부는 높은 관심의 데이터 노드 D4에 연결된다. 개요 링크 SA와 SB의 맨 우측 단부에 레이블은 모두 요약 노드 레이블 'X'로 교체된다.
각각의 높은 관심의 데이터 노드에 대해, 상기 높은 관심의 데이터 노드에 연결된 맨 좌측 단부를 갖는 개요 링크들이 식별된다. 맨 우측 단부에 동일한 개요 노드 라벨을 갖는 둘 또는 그 이상의 식별된 개요 링크들의 집합에 대해, 상기 개요 링크들의 맨 좌측 단부들에 대한 라벨은 맨 우측 단부의 개요 링크의 개요 노드 라벨로 교체된다. 예를 들어, 개요 링크 SA 및 개요 링크 SB는 맨 좌측 단부가 높은 관심의 데이터 노드 D2에 연결된다. SA 및 SB의 맨 우측 단부의 라벨에는 (위에서 서술된 바와 같이)모두 개요 노드 라벨 'X'가 할당된다. 이러한 상황을 식별하면, 요약된 데이터 계통 다이어그램 생성 단계(465)는 개요 링크 SA 및 개요 링크 SB의 맨 좌측 단부의 라벨을 개요 노드 라벨 'X'로 교체한다.
도 13 및 도 14를 함께 참조하면, 각각의 고유한 개요 노드 라벨에 대해, 요약된 데이터 계통 다이어그램 생성 단계(465)는 라벨에 해당하는 개요 노드를 생성한다. 주어진 개요 노드 라벨을 갖는 맨 우측 단부를 가진 모든 개요 링크의 경우, 개요 링크의 맨 우측 단부는 개요 노드에서 적절한 관심도 높은 데이터 노드로 확장되는 단일 출력 링크로 축소된다.
예를 들어, 개요 링크 SA와 개요 링크 SB 모두 맨 우측 단부가 개요 노드 라벨 'X'로 라벨링된다. 도 14에서, 개요 노드 X(1472)는 개요 노드 X(1472)에서 높은 관심의 데이터 노드 D4로 연장되는 단일 출력 링크로 생성된다. 단일 출력 링크는 개요 링크 SA의 맨 우측 단부와 개요 링크 SB의 맨 우측 단부의 조합을 나타낸다.
주어진 개요 노드 라벨을 갖는 맨 좌측 단부를 가지는 모든 개요 링크에 대하여, 개요 링크의 맨 좌측 단부는 적절한 높은 관심의 데이터 노드로부터 개요 노드로 연장되는 단일 입력 링크로 축소된다. 예를 들어, 도 13에서, 개요 링크 SA의 맨 좌측 단부 및 개요 링크 SB의 맨 좌측 단부는 개요 노드 라벨 'X'로 라벨링된다. 도 14에서, 단일 입력 링크는 높은 관심의 데이터 노드 D2로부터 개요 노드 X(1472)로 연장된다. 단일 입력 링크는 개요 링크 SA의 맨 좌측 단부와 개요 링크 SB의 맨 좌측 단부의 조합을 나타낸다.
데이터 변환 노드 T6를 경유하는 데이터 노드 D7와 데이터 노드 D8 사이의 링크 및 데이터 변환 노드 T5를 경우하는 데이터 노드 D7과 데이터 노드 D4 사이의 링크는 마킹된 데이터 계통 그래프(1000)로부터 원래의 형태로 포함된다.
도 14로부터 알 수 있는 바와 같이, 최종 요약된 데이터 계통 다이어그램(122)은 X 개요 노드(1472) 내에 낮은 괌심의 데이터 노드 및 낮은 관심의 데이터 변형 노드를 숨기고, 반면에 높은 관심의 데이터 노드 및 목적 데이터 노드에 대한 데이터 계통의 전체적인 개요를 유지시킨다. 또한, 도 14에서, 컨테이너(1070)는 확장된 상태로 도시된다. 일부 예에서, 요약된 데이터 계통 다이어그램(122)이 사용자(121)에게 디스플레이 될 때, 어떠한 목적 노드를 포함하지 않기 때문에 축소된 상태로 도시될 수 있다.
예시 3
위에 설명된 예제가 계통 요약 메커니즘을 설명하는 데 유용하지만, 실제 구현에서 계통 요약 방법이 작동하는 데이터 흐름 그래프는 해당 계통 요약 방법에서 설명된 것보다 훨씬 더 크고 복잡하다는 점에 유의해야 한다.
예를 들어, 도 15를 참조하면, 예시적인 데이터 흐름 그래프에 대한 데이터 계통 보고서(1500)는 다수의 컨테이너 객체(1502)를 포함하며, 이들 중 일부는 중첩되어 있다. 각각의 컨테이너 객체는 하나 이상의 데이터 흐름 그래프 컴포넌트(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 구름 아이콘)에 의해 이전에 요약되었음을 지시하는 클라우드 아이콘(1712)의 더 작은 버전을 포함한다.
일부 예에서, 요약된 데이터 계통은 하나 이상의 다른 형태의 계통 분류 메커니즘과 함께 계통 다이어그램 내에 포함될 수 있다. 예를 들어, 계통 다이어그램은 사용자에게 관심 지정이 되지 않은 노드들을 포함하는 렌더링된 계통 다이어그램의 일부를 축소하는 사용자 입력에 대한 동적인 응답으로 대화식 설명 메커니즘을 포함할 수 있다. 다시 도 17을 참조하면, 사용자는 구름 아이콘(1608)에 의해 표현된 요약된 부분을 확장할 수 있고(그리고 축소할 수 있고), “-“ 기호에 의해 표시된 사용자 인터페이스 요소(1714), 및 데이터세트 노드(1716)와 같은 내부에 포함된 데이터세트 노드들을 포함하는 콘테이너 객체(1502)를 축소하고, 축소된 부분을 확대할 수 있다(미국공개번호 제 2010/0138431로 공개되고, “데이터 요소와 데이터 요소 속성에 대한 그래픽 표현 사이의 시각적 관계”로 명명된, 미국특허출원 제 12/ 629,466호 참조). 상기 메커니즘들은 서로 보완적이고, 시너지 효과가 있는 유연성을 제공하기 때문에 최종 계통 다이어그램을 명확화하는 힘이 크게 증가하여 사용자가 데이터 계통 다이어그램의 원하는 부분을 세밀하게 제어하여 렌더링할 수 있다.
서로 다른 명확화 메커니즘은 동시에 사용될 수 있으며, 각 메커니즘을 통해 사용자는 특정 메커니즘이 계통의 특정 부분에 적용되는지 여부를 명시적으로 제어 할 수 있다. 예를 들어, 계통 다이어그램의 왼쪽에서 사용자는 클라우드 개체 내에서는 확장할 수 있거나 확장할 수 없는 컨테이너 개체를 확장할 수 있으며, 오른쪽에서 사용자는 컨테이너 개체 내에서는 확장하거나 확장할 수 없는 클라우드 개체를 확장할 수 있다. 이 세분화된 컨트롤은 시스템이 사용자의 상호 작용을 기반으로 업데이트된 계통 다이어그램을 동적으로 렌더링하여 계통 다이어그램의 다른 부분에서 재귀적으로 적용할 수 있다. 필터링은 계통 다이어그램의 선택된 부분에만 적용되도록 필터링을 제한하여 세부 수준에서 제어할 수도 있다. 또한, 이 세 가지 예 이외의 명확화 메커니즘이 추가 제어를 위해 포함될 수 있다. 예를 들어, 계통 다이어그램의 렌더링은 사용자가 제어할 수 있는 최대 반경(목적 노드의 홉과 관련하여)으로만 선택하거나 한 번에 연속적으로 홉을 렌더링하도록 선택할 수 있다.
4. 메타 데이터 연합(federation of metadata )
일부 예에서, 위에서 설명한 계통 요약 접근 방식을 사용하여 연합된 메타 데이터의 표시를 단순화 할 수 있다. 예를 들어, 특정 조직에는 메타 데이터를 유지 관리하기 위한 여러 개의 개별 저장소가 있다. 중앙 저장소는 개별 저장소에 분산된 메타 데이터 중 적어도 일부를 관리하는데 사용된다. 일부 예에서 개별 저장소 중 하나는 중앙 저장소로 지정된다. 다른 예에서, 별도 개체가 중앙 저장소로 지정된다.
일반적으로, 중앙 저장소는 기업 자산(예를 들어, 기업 용어집 또는 기타 기업 자산)을 관리하고, 필요에 따라 개별 자산 저장소에 회사 자산을 분배한다. 기업 자산을 중앙 저장소에서 관리하게 되면 기업 용어를 비롯한 기업 자산의 일관성이 조직 전체에서 유지된다.
특정 고수준 사용자는 중앙 저장소를 사용하여 높은 수준의 데이터 계통 다이어그램을 얻을 수 있으며, 상기 높은 수준의 데이터 계통 다이어그램은 개별 저장소의 모든 메타데이터 계통을 단일 수준의 데이터 계통 다이어그램으로 결합된 것을 포함한다. 이러한 높은 수준의 데이터 계통 다이어그램을 생성하기 위해, 중앙 저장소는 복수의 개별 저장소로부터 메타데이터를 검색하고, 검색된 메타데이터를 결합한다.
위에서 설명한 데이터 계통 요약 방법을 사용하여 개별 저장소 또는 전체 개별 저장소의 일부를 개요 노드로 그룹화할 수 있고, 이는 그룹화된 부분이 사용자에게 관심도가 낮은 것임을 나타낸다. 일부 예에서, 사용자가 그룹의 요약 노드를 확장하여 개별 저장소의 계통에 대한 관심을 지정할 때까지 그룹화된 부분의 메타 데이터 계통이 개별 저장소에서 검색되지 않는다.
5. 대안
일부 예에서, 마킹된 데이터 계통 그래프의 모든 노드는 처음에는 낮은 관심도로 표시된다. 이어서, 사용자는 선택적으로(예를 들어, 사용자 인터페이스를 통해 또는 프로그래밍 방식으로), 특정 데이터 노드를 높은 관심 대상으로 지정한다. 일부 예에서, 접근법은 데이터 계통 내의 노드를 데이터 계통 내의 노드와 다른 노드 사이의 관계에 기초하여 높은 관심 대상으로 자동으로 표시한다. 예를 들어, 관심도가 높은 노드와 동일한 데이터 세트에 있는 노드는 역시 관심도가 높은 것으로 표시될 수 있다. 일부 예에서, 특정 노드들은 데이터 계통에서 높은 관심을 갖는 노드들에 대한 상대적 위치 때문에 높은 관심도로 표시 될 수 있다. 예를 들어, 관심도가 높은 노드에 인접한 특정 노드는 관심도가 높은 것으로 표시될 수 있다.
일부 예에서 사용자는 각 데이터 노드를 "상세"(즉, 데이터 계통 다이어그램의 상세보기에만 표시되는 관심도가 낮은 노드) 또는 "요약"(즉, 데이터 계통 다이어그램의 상세보기와 요약보기에 모두 표시되는 높은 관심도의 노드)의 두 개의 카테고리로 분류할 수 있다. 일부 예에서, 노드의 관심도가 낮거나 높은지 여부를 결정하는 카테고리는 "시스템 아키텍처" 또는 "규제" 와 같이 노드가 나타내는 항목의 특성을 특성화하는 카테고리를 기반으로 한다.
일부 예들에서, 위상 기하학 내의 관심도 ?F은 데이터 노드들의 집합을 식별하기 위해, 데이터 노드들은 데이터 노드들 사이의 임의의 계층에 관계없이 축소된다. 출력 데이터 세트 당 하나의 관심도 높은 노드가 필요하다는 규칙이 구현된다. 일부 예에서, 세트는 중복 요소를 포함할 수 있다. 일부 예에서, 개요 노드는 단일 출력 데이터 노드와 연관된 물리적/논리적 그룹과 연관된다. 다른 예에서, 개요 노드는 출력 노드의 물리적/논리적 그룹과 관련된 관심도가 낮은 노드가 없는 경우 가장 낮은 관심 대상 데이터 노드를 포함하는 물리적/논리적 그룹과 연관된다.
일부 예에서 개요 노드는 구름 아이콘으로 데이터 계통 다이어그램에 표시된다. 다른 예에서는 다른 유형의 개요 노드 아이콘이 사용된다. 일부 예에서 개요 노드는 내용에 대한 정보를 거의 또는 전혀 표시하지 않는다. 다른 예에서, 개요 노드는 그 내용에 관한 제한된 양의 정보(예를 들어, 거기에 포함 된 노드의 수, 거기에 포함 된 시스템의 수 등)를 디스플레이한다. 일부 예에서 사용자는 개요 노드의 링크를 클릭하여 계통의 요약 섹션에 대한 정보 풍선을 표시 할 수 있다. 사용자는 각 계통의 요약된 섹션을 확장하여 개요 노드에 대한 확장된 세부 사항을 볼 수 있다. 일부 예에서, 사용자가 데이터 계통 다이어그램의 요약 섹션을 확장할 때, 개요 링크에 의해 요약되고 데잉터 계통 다이어그램의 요약된 섹션과 연관된 원본 링크는 데이터 계통 다이어그램의 요약된 섹션에 대한 데이터 계통 다이어그램을 결정하기 위해 워크된다. 다음으로, 요약된 섹션의 데이터 계통 다이어그램이 사용자에게 디스플레이된다. 사용자는 확장된 세부 정보를 클릭하여 요약된 계통으로 되돌릴 수 있다. 즉, 사용자는 세부 정보로 드릴 다운(즉, 개요 노드를 확장)하고 요약 노드별로 다시 축소 할 수 있다. 이 방법으로, 사용자는 특정 세부 정보로 탐색하기를 선택하는 경우 탐색할 수 있다.
6. 구현
전술 한 데이터 계통 요약 방법은, 예를 들어, 적절한 소프트웨어 명령을 실행하는 프로그램 가능한 컴퓨팅 시스템을 사용하여 구현 될 수 있거나, FPGA (field-programmable gate array) 또는 일부 하이브리드 형태와 같은 적절한 하드웨어로 구현될 수 있다. 예를 들어, 프로그래밍된 접근법에서 소프트웨어는 하나 이상의 프로그램된 또는 프로그램 가능한 컴퓨팅 시스템(분산형, 클라이언트 /서버 또는 그리드와 같은 다양한 아키텍처 일 수 있음)상에서 실행되는 하나 이상의 컴퓨터 프로그램 내의 절차를 포함 할 수 있으며, 각각은 적어도 하나의 프로세서, 적어도 하나의 데이터 저장 시스템(휘발성 및/또는 비휘발성 메모리 및/또는 저장 요소를 포함함), 적어도 하나의 사용자 인터페이스(적어도 하나의 입력 장치 또는 포트를 사용하여 입력을 수신하고, 적어도 하나의 출력 장치 또는 포트를 사용하여 출력을 제공함)를 포함한다. 소프트웨어는, 예를 들어, 데이터 흐름 그래프의 설계, 구성 및 실행과 관련된 서비스를 제공하는 하나 또는 그 이상의 대형 프로그램을 포함할 수 있다. 프로그램의 모듈(예를 들어, 데이터 흐름 그래프의 요소)은 데이터 저장소 또는 데이터 저장소에 저장된 데이터 모델을 따르는 다른 조직화 된 데이터로 구현 될 수 있다.
상기 소프트웨어는 CD-ROM 또는 다른 컴퓨터 판독가능한 매체 (예컨대, 범용 또는 특수 목적의 컴퓨팅 시스템 또는 장치에 의해 판독가능한)와 같은, 실체적인(tangible), 비일시적 매체에 제공되거나, 소프트웨어가 실행되는 컴퓨팅 시스템의 실체적인, 비일시적인 매체로 네트워크의 통신 매체를 거쳐 전달될 수 있다 (예컨대, 전파된 신호에 인코딩된다). 처리의 일부 또는 전부는 코프레서들(coprocessors) 또는 FPGAs(field-promrammable gate arrays) 또는 전용의, 응용 주문형 집적 회로(application-specific integrated circuits, ASICs)와 같은, 특수 목적의 하드웨어를 이용하여 수행되나, 특수 목적의 컴퓨터에서 수행될 수 있다. 상기 처리는 소프트웨어에 의해 지정된 컴퓨터의 상이한 부분들이 상이한 컴퓨팅 엘리먼트들(computing elements)에 의해 수행되는 배포된 방식으로 구현될 수 있다. 각각의 이러한 컴퓨터 프로그램은 바람직하게 저장 디바이스 매체가 본 발명에서 설명된 처리를 수행하기 위해 컴퓨터에 의해 판독될 때 상기 컴퓨터를 구성하고 동작하기 위하여, 범용 또는 특수 목적의 프로그램가능한 컴퓨터에 의해 액세스 가능한 저장 디바이스의 컴퓨터-판독가능한 저장 매체 (예컨대, 고체 상태 메모리(solid state memory) 또는 미디어, 또는 자기적 또는 광학적 미디어)에 저장되거나 다운로드될 수 있다. 본 발명의 시스템은 그렇게 구성되는 매체는 컴퓨터가 본 발명에서 설명된 적어도 하나의 처리 단계들을 수행하기 위하여 특정한 그리고 미리 정해진 방식으로 동작하도록하는, 컴퓨터 프로그램으로 구성된, 구체적이고(tangible), 비일시적인 매체로 구현되도록 역시 고려될 수 있다.
본 발명의 다수의 실시 예가 기술되었다. 그럼에도 불구하고, 전술한 설명은 예시를 위한 것이며 이하의 청구범위에 의해 정의되는 본 발명의 범위를 한정하지 않는 것으로 이해되어야 한다. 따라서, 다른 실시예들 또한 이하의 청구범위 내에 있다. 예를 들어, 본 발명의 범위를 벗어나지 않는 다양한 변형이 만들어 질 수 있다. 부가적으로, 상기 기술된 단계들의 일부는 순서 독립적이므로 기술된 것과 다른 순서로 수행될 수 있다.

Claims (22)

  1. 연산 시스템(computing system)에서 계통 정보(lineage information)를 관리하는 방법에 있어서,
    입력 장치 또는 입력 포트를 통해서, 데이터 요소를 변환하는 연산들을 나타내는 하나 또는 그 이상의 데이터 변환 노드 및 데이터 요소를 나타내는 하나 또는 그 이상의 데이터 노드를 포함하고, 연산 및 상기 연산을 수행하는 동안 상기 연산에 의해 수신되거나 산출된 데이터 요소와의 각각의 계통 관계를 나타내는 방향성 링크(directed link)를 포함하는 방향성 그래프의 식별자(identification)를 수신하는 단계; 및
    적어도 하나의 프로세서(processor)를 사용하여 상기 방향성 그래프 내의 경로들에 기반한 개요 정보를 연산하고, 상기 개요 정보를 하나 또는 그 이상의 개요 객체들 내에 저장하는 단계
    를 포함하되, 상기 연산하는 단계는
    상기 방향성 그래프에서 복수의 노드들에 대한 관심의 지정을 수신하는 단계; 및
    관심있는 상기 복수의 노드들에 포함되지 않은 잔여 노드들에 대한 하나 또는 그 이상의 개요 객체를 생성하는 단계, 상기 하나 또는 그 이상의 개요 객체 중 제1 개요 객체는 제1 관심 노드 및 제2 관심 노드 사이의 제1 경로에 기반한 개요 정보를 포함하고, 상기 제1 경로는 상기 잔여 노드들 중 하나 또는 그 이상을 포함하고 상기 제1 및 제2 관심 노드를 제외한 다른 관심 노드들을 포함하지 않음
    를 포함하는 계통 정보 관리 방법.
  2. 제1항에 있어서,
    상기 제1 개요 객체를 생성하는 단계는
    상기 제1 경로를 따라 관심있는 것으로 지정되지 아니한 하나 또는 그 이상의 잔여 노드들을 식별하기 위하여 상기 제1 관심 노드 및 상기 제2 관심 노드 사이의 상기 제1 경로를 통과하는 단계, 및
    상기 식별된 하나 또는 그 이상의 잔여 노드들에 대한 개요 정보를 형성하는 단계를 포함하는 것을 특징으로 하는 계통 정보 관리 방법.
  3. 제1항에 있어서,
    상기 방향성 그래프의 적어도 일부분들에 대한 시각적 표현으로써 데이터 계통 다이어그램을 생성하는 단계를 더 포함하되,
    관심있는 것으로 지정된 각 노드는 자신의 고유 아이콘으로 표현되고, 복수의 잔여 노드들은 하나 또는 그 이상의 상기 개요 객체들 내에 저장된 개요 정보에 따라서 복수의 관심 노드들에 연결된 공통 아이콘으로 표현되는 것을 특징으로 하는 계통 정보 관리 방법.
  4. 제3항에 있어서,
    상기 공통 아이콘에 연관된 세부 사항들을 열람하기 위한 사용자의 요구를 지시하는 사용자 입력을 수신하는 단계,
    상기 사용자 입력에 대한 응답으로, 상기 공통 아이콘으로 표현되는 복수의 잔여 노드들을 통과하는 단계, 그리고
    상기 개요 정보와 연관된 상기 복수의 잔여 노드들을 포함하는 방향성 그래프의 경로들에 대한 통과를 기반으로 상기 데이터 계통 다이어그램 내의 잔여 노드들을 시각적으로 표현하는 단계
    를 더 포함하는 것을 특징으로 하는 계통 정보 관리 방법.
  5. 제3항에 있어서,
    상기 하나 또는 그 이상의 데이터 변환 노드 중 하나의 노드, 또는 상기 하나 또는 그 이상의 데이터 노드 중 하나의 노드를 목적 노드로써 지정함을 수신하는 단계를 더 포함하고,
    상기 데이터 계통 다이어그램을 생성하는 단계는 상기 방향성 그래프를 통하여 하나 또는 그 이상의 경로를 통과하는 단계를 포함하고, 상기 하나 또는 그 이상의 경로들 각각은 두 개 또는 그 이상의 관심 노드 및 상기 목적 노드를 포함하는 것을 특징으로 하는 계통 정보 관리 방법.
  6. 제5항에 있어서, 상기 방향성 그래프를 통하여 하나 또는 그 이상의 경로를 통과하는 단계는,
    상기 목적 노드로부터 업스트림(upstream) 방향으로 상기 경로의 제1 부분을 통과하는 단계, 및 상기 목적 노드로부터 다운스트림(downstream) 방향으로 상기 경로의 제2 부분을 통과하는 단계를 포함하는 것을 특징으로 하는 계통 정보 관리 방법.
  7. 제6항에 있어서, 상기 경로의 제1 부분을 통과 단계는,
    상기 목적 노드가 관심 노드로 마킹되었는지 여부를 판단하는 단계;
    상기 목적 노드가 상기 관심 노드로 판단되는 경우, 상기 목적 노드와 연관된 개요 객체에 해당하는, 상기 목적 노드로부터 제1 관심 업스트림 노드로의 연결을 통과하거나, 그렇지 않으면
    상기 목적 노드가 상기 관심 노드로 판단되지 않는 경우, 관심 지정이 되지 않은 하나 또는 그 이상의 데이터 변환 노드 또는 데이터 노드를 통과하는 것을 포함하는, 방향성 그래프의 상기 목적 노드 및 제1 관심 상향 노드 사이의 최초 경로를 통과하는 단계
    를 포함하는 것을 특징으로 하는 계통 정보 관리 방법.
  8. 제7항에 있어서, 상기 경로의 제1 부분을 통과하는 단계는,
    상기 제1 관심 업스트림 노드와 연관된 개요 객체에 해당하는, 상기 제1 관심 업스트림 노드로부터 제2 관심 업스트림 노드로의 링크를 통과하는 단계
    를 더 포함하는 것을 특징으로 하는 계통 정보 관리 방법.
  9. 제6항에 있어서, 상기 경로의 제2 부분을 통과하는 단계는,
    상기 목적 노드가 관심 노드로 마킹되었는지 여부를 판단하는 단계;
    상기 목적 노드가 상기 관심 노드로 판단되는 경우, 상기 목적 노드와 연관된 개요 객체에 해당하는, 상기 목적 노드로부터 제1 관심 하향 노드로의 링크를 통과하거나, 그렇지 않으면
    상기 목적 노드가 상기 관심 노드로 판단되지 않는 경우, 관심 지정이 되지 않은 하나 또는 그 이상의 데이터 변환 노드 또는 데이터 노드를 통과하는 것을 포함하는, 방향성 그래프의 상기 목적 노드 및 제1 관심 하향 노드 사이의 원본 경로를 통과하는 단계
    를 포함하는 것을 특징으로 하는 계통 정보 관리 방법.
  10. 제9항에 있어서, 상기 경로의 제2 부분을 통과하는 단계는,
    상기 제1 관심 다운스트림 노드와 연관된 개요 객체에 해당하는, 상기 제1 관심 다운스트림 노드로부터 제2 관심 다운스트림 노드로의 링크를 통과하는 단계
    를 더 포함하는 것을 특징으로 하는 계통 정보 관리 방법.
  11. 제3항에 있어서,
    상기 하나 또는 그 이상의 개요 객체는 두 개 또는 그 이상의 개요 객체를 포함하고,
    상기 계통 다이어그램을 생성하는 단계는 상기 두 개 또는 그 이상의 개요 객체의 적어도 일부를 상기 공통 아이콘으로 표현되는 개요 노드에 병합하는 것을 특징으로 하는 계통 정보 관리 방법.
  12. 제11항에 있어서, 상기 두 개 또는 그 이상의 개요 객체의 적어도 일부를 상기 개요 노드에 병합하는 단계는,
    상기 두 개 또는 그 이상의 개요 객체의 적어도 일부를 상기 개요 노드에 병합하는 것이 가능한지 여부를 판단하기 위하여 상기 두 개 또는 그 이상의 개요 객체의 적어도 일부에 의해 연결된 상기 관심 노드들 사이의 관계들을 분석하는 단계를 포함하는 것을 특징으로 하는 계통 정보 관리 방법.
  13. 제12항에 있어서, 상기 관심 노드들 사이의 관계들을 분석하는 단계는,
    상기 두 개 또는 그 이상의 개요 객체의 적어도 일부가 관심의 공통 다운스트림 노드와 연관된 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 계통 정보 관리 방법.
  14. 제1항에 있어서, 적어도 일부 노드들에 대한 관심 지정은 사용자로부터 수신하는 것을 특징으로 하는 계통 정보 관리 방법.
  15. 제1항에 있어서, 적어도 일부 노드들에 대한 관심 지정은 연산 시스템에 의해 생성되는 것을 특징으로 하는 계통 정보 관리 방법.
  16. 제15항에 있어서, 상기 연산 시스템은 관심 지정된 다른 노드들의 위치에 대한 적어도 일부 노드들의 상대적인 위치에 기반하여 상기 적어도 일부 노드들에 대한 관심 지정을 생성하는 것을 특징으로 하는 계통 정보 관리 방법.
  17. 제15항에 있어서, 상기 연산 시스템은 다른 관심 지정된 노드들과 데이터 구조를 공유하는 적어도 일부 노드들에 기반하여 상기 적어도 일부 노드들에 대한 관심 지정을 생성하는 것을 특징으로 하는 계통 정보 관리 방법.
  18. 제3항에 있어서, 상기 연산 시스템은 복수의 분리되고, 서로 연결될 서브 시스템(sub-system)들을 포함하고, 상기 방향성 그래프의 일부분들은 상기 서브 시스템들 중 적어도 일부 사이에 분배되는 것을 특징으로 하는 계통 정보 관리 방법.
  19. 제18항에 있어서, 상기 서브 서브 시스템들 중 적어도 일부분은 공통 아이콘에 의하여 표현되는 것을 특징으로 하는 계통 정보 관리 방법.
  20. 연산 시스템에서 계통 정보를 관리하기 위한 컴퓨터 판독가능한 매체 상에 비일시적 형태로 저장된 소프트웨어에 있어서, 상기 소프트웨어는 상기 연산 시스템에,
    입력 장치 또는 입력 포트를 통해서, 데이터 요소를 변환하는 연산을 나타내는 하나 또는 그 이상의 데이터 변환 노드 및 데이터 요소를 나타내는 하나 또는 그 이상의 데이터 노드를 포함하고, 연산 및 상기 연산을 수행하는 동안 수신되거나 상기 연산에 의해 산출된 데이터 요소와의 각각의 계통 관계를 나타내는 방향성 링크(directed link)을 포함하는 방향성 그래프의 식별자(identification)를 수신하도록 하는 명령; 및
    적어도 하나의 프로세서(processor)를 사용하여 상기 방향성 그래프 내의 경로들에 기반한 개요 정보를 연산하고, 상기 개요 정보를 하나 또는 그 이상의 개요 객체 내에 저장하도록 하는 명령
    를 포함하되, 상기 연산하도록 하는 명령은
    상기 방향성 그래프에서 복수의 노드들에 대한 관심 노드 지정을 수신하도록 하는 명령; 및
    상기 복수의 관심 노드들에 포함되지 않은 잔여 노드들에 대한 하나 또는 그 이상의 개요 객체를 생성하도록 하는 명령, 상기 하나 또는 그 이상의 개요 객체 중 제1 개요 객체는 제1 관심 노드 및 제2 관심 노드 사이의 제1 경로에 기반한 개요 정보를 포함하고, 상기 하나 또는 그 이상의 개요 객체는 상기 잔여 노드들 중 하나 또는 그 이상을 포함하고 상기 제1 및 제2 관심 노드를 제외한 다른 관심 노드들을 포함하지 않음
    을 포함하는 것을 특징으로 하는 소프트웨어.
  21. 계통 정보를 관리하는 연산 시스템에 있어서,
    데이터 요소를 변환하는 연산을 나타내는 하나 또는 그 이상의 데이터 변환 노드 및 데이터 요소를 나타내는 하나 또는 그 이상의 데이터 노드를 포함하고, 연산 및 상기 연산을 수행하는 동안 수신되거나 상기 연산에 의해 산출된 데이터 요소와의 각각의 계통 관계를 나타내는 방향성 링크(directed link)을 포함하는 방향성 그래프의 식별자(identification)를 수신하는 입력 장치 또는 입력 포트; 및
    상기 방향성 그래프 내의 경로들에 기반한 개요 정보를 연산하고, 상기 개요 정보를 하나 또는 그 이상의 개요 객체 내에 저장하는 적어도 하나의 프로세서(processor)
    를 포함하되, 상기 연산하는 과정은
    상기 방향성 그래프에서 복수의 노드들에 대한 관심 노드 지정을 수신하는 단계; 및
    상기 복수의 관심 노드들에 포함되지 않은 잔여 노드들에 대한 하나 또는 그 이상의 개요 객체를 생성하는 단계, 상기 하나 또는 그 이상의 개요 객체 중 제1 개요 객체는 제1 관심 노드 및 제2 관심 노드 사이의 제1 경로에 기반한 개요 정보를 포함하고, 상기 하나 또는 그 이상의 개요 객체는 상기 잔여 노드들 중 하나 또는 그 이상을 포함하고 상기 제1 및 제2 관심 노드를 제외한 다른 관심 노드들을 포함하지 않음
    을 포함하는 것을 특징으로 하는 연산 시스템.
  22. 계통 정보를 관리하는 연산 시스템에 있어서,
    데이터 요소를 변환하는 연산을 나타내는 하나 또는 그 이상의 데이터 변환 노드 및 데이터 요소를 나타내는 하나 또는 그 이상의 데이터 노드를 포함하고, 연산 및 상기 연산을 수행하는 동안 수신되거나 상기 연산에 의해 산출된 데이터 요소와의 각각의 계통 관계를 나타내는 방향성 링크(directed link)을 포함하는 방향성 그래프의 식별자(identification)를 수신하는 수단; 및
    적어도 하나의 프로세서(processor)를 이용하여, 상기 방향성 그래프 내의 경로들에 기반한 개요 정보를 연산하고, 상기 개요 정보를 하나 또는 그 이상의 개요 객체 내에 저장하는 수단
    를 포함하되, 상기 연산하는 과정은
    상기 방향성 그래프에서 복수의 노드들에 대한 관심 노드 지정을 수신하는 단계; 및
    상기 복수의 관심 노드들에 포함되지 않은 잔여 노드들에 대한 하나 또는 그 이상의 개요 객체를 생성하는 단계, 상기 하나 또는 그 이상의 개요 객체 중 제1 개요 객체는 제1 관심 노드 및 제2 관심 노드 사이의 제1 경로에 기반한 개요 정보를 포함하고, 상기 하나 또는 그 이상의 개요 객체는 상기 잔여 노드들 중 하나 또는 그 이상을 포함하고 상기 제1 및 제2 관심 노드를 제외한 다른 관심 노드들을 포함하지 않음
    을 포함하는 것을 특징으로 하는 연산 시스템.
KR1020177004907A 2014-07-24 2015-07-22 데이터 계통 요약 Active KR102410723B1 (ko)

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
PCT/US2015/041452 WO2016014615A1 (en) 2014-07-24 2015-07-22 Data lineage summarization

Publications (2)

Publication Number Publication Date
KR20170037636A true KR20170037636A (ko) 2017-04-04
KR102410723B1 KR102410723B1 (ko) 2022-06-17

Family

ID=55163668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177004907A Active KR102410723B1 (ko) 2014-07-24 2015-07-22 데이터 계통 요약

Country Status (9)

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

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016014615A1 (en) 2014-07-24 2016-01-28 Ab Initio Technology Llc Data lineage summarization
US10860951B2 (en) 2015-10-28 2020-12-08 Qomplx, Inc. System and method for removing biases within a distributable model
US12670445B2 (en) 2014-10-04 2026-06-30 Qomplx Llc Removing biases within a distributed model
WO2016130615A1 (en) 2015-02-11 2016-08-18 Ab Initio Technology Llc Filtering data lineage diagrams
JP6463845B2 (ja) 2015-02-11 2019-02-06 アビニシオ テクノロジー エルエルシー データ系統図のフィルタリング
US11144283B2 (en) 2015-05-20 2021-10-12 Ab Initio Technology Llc Visual program specification and compilation of graph-based computation
US10193824B2 (en) * 2015-09-06 2019-01-29 RISC Networks, LLC Systems and methods for intelligent application grouping
US20170070562A1 (en) 2015-09-06 2017-03-09 Jeremy Lynn Littlejohn Method for denominating move groups of applications
US20220014555A1 (en) 2015-10-28 2022-01-13 Qomplx, Inc. Distributed automated planning and execution platform for designing and running complex processes
US10884999B2 (en) * 2015-10-28 2021-01-05 Qomplx, Inc. Distributable model with biases contained within distributed data
US11570209B2 (en) 2015-10-28 2023-01-31 Qomplx, Inc. Detecting and mitigating attacks using forged authentication objects within a domain
US12499120B2 (en) 2016-03-16 2025-12-16 Rocket Software Technologies, Inc. Methods and systems for tracking data lineage from source to target
US11847040B2 (en) * 2016-03-16 2023-12-19 Asg Technologies Group, Inc. Systems and methods for detecting data alteration from source to target
US10915545B2 (en) * 2016-09-29 2021-02-09 Microsoft Technology Licensing, Llc Systems and methods for dynamically rendering data lineage
EP3913502A1 (en) 2016-11-09 2021-11-24 AB Initio Technology LLC Systems and methods for determining relationships among data elements
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
US10635509B2 (en) * 2016-11-17 2020-04-28 Sung Jin Cho System and method for creating and managing an interactive network of applications
WO2018102691A1 (en) 2016-12-01 2018-06-07 Ab Initio Technology Llc Generating, accessing, and displaying lineage metadata
US10379825B2 (en) 2017-05-22 2019-08-13 Ab Initio Technology Llc Automated dependency analyzer for heterogeneously programmed data processing system
US10474443B2 (en) 2017-07-11 2019-11-12 Bank Of America Corporation Code lineage tool
US10481880B2 (en) 2017-07-11 2019-11-19 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
US11301444B2 (en) * 2020-04-30 2022-04-12 International Business Machines Corporation Methods and systems for data traceability and provenance
US11809447B1 (en) * 2020-04-30 2023-11-07 Splunk Inc. Collapsing nodes within a journey model
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
US20260170070A1 (en) * 2024-12-16 2026-06-18 Sap Se Tracking data lineage of analytical insights
US12626229B1 (en) * 2025-02-28 2026-05-12 John Snow Labs, Inc. Determining repair status information to provide in response to queries with associated source tracking and confidence data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060045780A (ko) * 2004-05-21 2006-05-17 마이크로소프트 코포레이션 그래프 분석 및 동기화를 위한 방법 및 시스템
KR20100124736A (ko) * 2008-02-26 2010-11-29 아브 이니티오 테크놀로지 엘엘시 데이터 관계의 그래픽 표현
KR20110091544A (ko) * 2008-12-02 2011-08-11 아브 이니티오 테크놀로지 엘엘시 데이터 요소 사이의 관계를 시각화하는 방법
US20120259793A1 (en) * 2011-04-08 2012-10-11 Computer Associates Think, Inc. Transaction Model With Structural And Behavioral Description Of Complex Transactions
US20120271867A1 (en) * 2011-04-19 2012-10-25 Tovi Grossman Hierarchical display and navigation of document revision histories

Family Cites Families (40)

* 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
WO2003065179A2 (en) 2002-02-01 2003-08-07 John Fairweather A system and method for mining data
US20040010752A1 (en) 2002-07-09 2004-01-15 Lucent Technologies Inc. System and method for filtering XML documents with XPath expressions
WO2007055734A2 (en) 2005-05-20 2007-05-18 West Virginia University Research Corp. A 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
US7493570B2 (en) * 2005-09-12 2009-02-17 International Business Machines Corporation User interface options of a data lineage tool
US7378969B2 (en) 2005-10-25 2008-05-27 Sap Ag Systems and methods for visualizing auto-id data
WO2008089362A1 (en) * 2007-01-17 2008-07-24 Weidner David P Point of reference directions
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
US9269182B2 (en) 2008-09-05 2016-02-23 Nvidia Corporation System and method for identifying entry points of a hierarchical structure
US8819010B2 (en) 2010-06-28 2014-08-26 International Business Machines Corporation Efficient representation of data lineage information
EP2633398B1 (en) * 2010-10-25 2020-05-27 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
KR101894925B1 (ko) 2011-01-07 2018-09-04 아브 이니티오 테크놀로지 엘엘시 흐름 분석 계측
US8782614B2 (en) 2011-04-08 2014-07-15 Ca, Inc. Visualization of JVM and cross-JVM call stacks
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
US9063998B2 (en) 2012-10-18 2015-06-23 Oracle International Corporation Associated information propagation system
US20150012477A1 (en) 2013-07-02 2015-01-08 Bank Of America Corporation Data lineage notification tools
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
WO2016014615A1 (en) 2014-07-24 2016-01-28 Ab Initio Technology Llc Data lineage summarization
US10025878B1 (en) 2014-11-11 2018-07-17 Google Llc Data lineage analysis
WO2016130615A1 (en) 2015-02-11 2016-08-18 Ab Initio Technology Llc Filtering data lineage diagrams
JP6463845B2 (ja) 2015-02-11 2019-02-06 アビニシオ テクノロジー エルエルシー データ系統図のフィルタリング
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060045780A (ko) * 2004-05-21 2006-05-17 마이크로소프트 코포레이션 그래프 분석 및 동기화를 위한 방법 및 시스템
KR20100124736A (ko) * 2008-02-26 2010-11-29 아브 이니티오 테크놀로지 엘엘시 데이터 관계의 그래픽 표현
KR20110091544A (ko) * 2008-12-02 2011-08-11 아브 이니티오 테크놀로지 엘엘시 데이터 요소 사이의 관계를 시각화하는 방법
US20120259793A1 (en) * 2011-04-08 2012-10-11 Computer Associates Think, Inc. Transaction Model With Structural And Behavioral Description Of Complex Transactions
US20120271867A1 (en) * 2011-04-19 2012-10-25 Tovi Grossman Hierarchical display and navigation of document revision histories

Also Published As

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

Similar Documents

Publication Publication Date Title
AU2020203909B2 (en) Data lineage summarization
AU2019213302B2 (en) Filtering data lineage diagrams
KR102021915B1 (ko) 프로그래밍 속성의 그래픽 표현
US7877737B2 (en) Tree-to-graph folding procedure for systems engineering requirements
Adar GUESS: a language and interface for graph exploration
Pini et al. Process visualization techniques for multi-perspective process comparisons
WO2016130615A1 (en) Filtering data lineage diagrams
US12020352B2 (en) Project visualization system
da Silva et al. GraphEvol: a graph evolution technique for web service composition
Krogstie et al. A semiotic approach to investigate quality issues of open big data ecosystems
Wijesinghe et al. Establishing traceability links among software artefacts
HK1237468B (en) Method and system for managing data lineage information, and storage medium
Ahmad Hosseini et al. A penalty-based scaling algorithm for the multi-period multi-product distribution planning problem
Santos et al. Using workflow medleys to streamline exploratory tasks
HK1237468A1 (en) Method and system for managing data lineage information, and storage medium
Boumahdi et al. Extending the service oriented architecture to include a decisional components
Polhill et al. Lessons learned replicating the analysis of outputs from a social simulation of biodiversity incentivisation
Ranganathan et al. Smart-Grid Optimization Using A Capacitated Transshipment Problem Solver
Kim et al. Research Process Traceability Based the RD
Ciberta i Tirado WebGraphEd, an open source graph drawing editor for the web
Halls An Enterprise Approach to the Next Generation Systems Environment for the Australian Hydrographic Service (AHS)

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

U11 Full renewal or maintenance fee paid

Free format text: ST27 STATUS EVENT CODE: A-4-4-U10-U11-OTH-PR1001 (AS PROVIDED BY THE NATIONAL OFFICE)

Year of fee payment: 4