KR20100124736A - 데이터 관계의 그래픽 표현 - Google Patents

데이터 관계의 그래픽 표현 Download PDF

Info

Publication number
KR20100124736A
KR20100124736A KR1020107019351A KR20107019351A KR20100124736A KR 20100124736 A KR20100124736 A KR 20100124736A KR 1020107019351 A KR1020107019351 A KR 1020107019351A KR 20107019351 A KR20107019351 A KR 20107019351A KR 20100124736 A KR20100124736 A KR 20100124736A
Authority
KR
South Korea
Prior art keywords
data
management system
representing
data item
stored
Prior art date
Application number
KR1020107019351A
Other languages
English (en)
Other versions
KR101510355B1 (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 KR20100124736A publication Critical patent/KR20100124736A/ko
Application granted granted Critical
Publication of KR101510355B1 publication Critical patent/KR101510355B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • 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/904Browsing; Visualisation therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

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

Abstract

다이어그램을 표현하는 방법은, 사용자 인터페이스(300)로부터 데이터 관리 시스템(340)에 저장된 제1 데이터 항목(314)을 확인하는 요청을 수신하는 단계(601); 미리 정해진 유형의 주어진 데이터 항목과 관련된, 데이터 관리 시스템의 데이터 항목을 선택하기 위한 복수의 선택 명세(382, 384)를 포함하는 저장된 구성 정보를 검색하는 단계(602); 상기 제1 데이터 항목의 유형과 연관된 선택 명세에 따라 하나 이상의 데이터 항목의 세트를 확인하기 위해 상기 데이터 관리 시스템에 질의하는 단계; 확인된 세트 내의 복수의 반환된 데이터 각각에 대해, 상기 반환된 데이터 항목의 유형과 연관된 선택 명세에 따라 추가의 데이터 항목이 획인되는지를 결정하기 위해 상기 데이터 관리 시스템에 질의하는 단계; 상기 구성 정보를 사용하여 확인된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 생성하는 단계; 및 상기 생성된 다이어그램을 상기 사용자 인터페이스를 통해 표현하는 단계(604)를 포함한다.

Description

데이터 관계의 그래픽 표현 {GRAPHIC REPRESENTATIONS OF DATA RELATIONSHIPS}
우선권 주장
본 출원은 35 USC §119(e)에 따라 2008년 2월 26일에 출원된 미국 특허출원 제61/031,672호에 대해 우선권을 주장하며, 그 내용 전부는 원용에 의해 본 출원에 포함된다.
본 명세서는 데이터 관계의 그래픽 표현에 관한 것이다.
기업은 데이터를 관리하기 위해, 데이터 웨어하우스(data warehousing), 고객 관계 관리(customer relationship management), 및 데이터 마이닝(data mining)과 같은, 다양하고 복잡한 데이터 처리 시스템을 사용할 수 있다. 많은 데이터 처리 시스템에서, 데이터는 많은 상이한 데이터 소스, 예를 들면 데이터베이스 파일, 운영 시스템(operational system), 플랫 파일(flat file), 인터넷 등에서 중앙 저장소(central repository)로 끌어 모아진다. 보통, 데이터는 시스템에 로드(loading)되기 전에 변환된다. 변환은 정화(cleansing), 통합(integration) 및 추출(extraction)을 포함할 수 있다. 시스템에 저장된 데이터에 일어났던 변환을 추적하기 위해, 메타데이터(metadata)를 사용할 수 있다. 메타데이터는 다른 데이터의 근원(origin), 이력(history), 상호 연관성(inter-relationship) 등을 기술하는 데이터이다. 일부 시스템에서는, 메타데이터를 관리하기 위해 사용자 인터페이스를 제공한다. 메타데이터를 포함하거나 그렇지 않으면 시스템에 의해 내부에 저장 또는 처리되었을(될 것일) 데이터를 나타내거나 가리키는 저장된 데이터 항목은 저장된 데이터를 관리하는 객체 지향형(object-oriented), 관계형(relational), 또는 기타 기법 및 구조를 사용하여 액세스될 수 있다. 예를 들면, 메타데이터를 포함하는 데이터 항목은 테이블, 파일, 또는 다른 데이터세트(dataset), 또는 데이터세트를 생성하는 애플리케이션이나 데이터 처리 요소(data processing element)에 관한 정보를 포함할 수 있다.
일 측면에서, 일반적으로, 데이터 관리 시스템에 저장된 데이터 항목들 사이의 관계를 나타내는 다이어그램(diagram)을 표현하는 방법은, 사용자 인터페이스로부터 데이터 관리 시스템에 저장된 제1 데이터 항목을 확인하는 요청을 수신하는 단계; 미리 정해진 유형의 주어진 데이터 항목과 관련된, 데이터 관리 시스템의 데이터 항목을 선택하기 위한, 각각이 상이한 각각의 미리 정해진 유형과 연관되어 있는 복수의 선택 명세(selection specification)를 포함하는 저장된 구성 정보(configuration information)를 검색하는 단계; 상기 제1 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 하나 이상의 데이터 항목의 세트를 확인하기 위해 상기 데이터 관리 시스템에 질의하는 단계; 확인된 세트 내의 복수의 반환된 데이터(returned data) 각각에 대해, 상기 반환된 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 추가의 데이터 항목이 획인되는지를 결정하기 위해 상기 데이터 관리 시스템에 질의하는 단계; 상기 구성 정보를 사용하여 확인된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 생성하는 단계; 및 상기 생성된 다이어그램을 상기 사용자 인터페이스를 통해 표현하는 단계를 포함한다.
여러 측면들은 다음의 특징 중 하나 이상을 포함할 수 있다.
상기 선택 명세에 따라 하나 이상의 데이터 항목의 세트를 확인하기 위해 상기 데이터 관리 시스템에 질의하는 단계는, 상기 요청에 따라 상기 선택 명세를 사용하여 질의를 동적으로 만들어 내는 단계; 상기 데이터 관리 시스템에 의해 상기 질의를 처리하는 단계; 및 상기 하나 이상의 데이터 항목을 확인하는 상기 데이터 관리 시스템으로부터 질의 결과를 수신하는 단계를 포함한다.
상기 질의는 상기 제1 데이터 항목의 속성(attribute)에 의해 참조되는 데이 항목을 검색하기 위해 상기 데이터 관리 시스템을 항해하는 하나 이상의 네비게이션 동작(navigation action)을 포함한다.
상기 질의는 상기 제1 데이터 항목을 참조하는 속성을 갖는 데이터 항목을 검색하기 위해 상기 데이터 관리 시스템을 향해하는 하나 이상의 네비게이션 동작을 포함한다.
상기 데이터 관리 시스템에 의해 상기 질의를 처리하는 단계는, 상기 데이터 관리 시스템을 재귀적으로(recursively) 항해하여, 복수의 재귀 단계(step of recursion) 각각에서 발견된 적어도 일부 데이터 항목을 반환하는 단계를 포함한다.
상기 추가의 데이터 항목이 획인되는지를 결정하기 위해 상기 데이터 관리 시스템에 질의하는 단계는, 질의의 반복(iteration)을 복수회 수행하는 단계를 포함하고, 각각의 반복은 이전의 반복으로부터의 이전의 하나 이상의 데이터 항목의 세트 중 하나 이상의 데이터 항목에 각각 관련된, 다른 하나 이상의 데이터 항목의 세트를 결정하는 단계를 포함한다.
질의의 반복은 상기 이전의 하나 이상의 데이터 항목의 세트들 중 어느 것과 관련된 데이터가 더 이상 발견되지 않을 때까지 수행된다.
상기 방법은 복수의 저장된 구성 파일에서의 구성 정보를 포함하는 구성 파일의 선택(selection)을 상기 사용자 인터페이스로부터 수신하는 단계를 더 포함한다.
상기 구성 정보는 상기 제1 데이터 항목을 표현하는 상기 생성된 다이어그램의 노드(node)에 대한 라벨을 구성하는 상기 제1 데이터 항목의 유형과 연관된 라벨 명세(label specification)를 포함한다.
상기 구성 정보는 상기 제1 데이터 항목과 다른 데이터 항목 사이의 관계를 표현하는 상기 생성된 다이어그램의 에지(edge)에 대한 라벨을 구성하는 상기 제1 데이터 항목의 유형과 연관된 라벨 명세를 포함한다.
각각의 미리 정해진 유형은 데이터흐름 그래프 처리 시스템(dataflow graph processing system)의 상이한 부분에 대응한다.
하나 이상의 미리 정해진 유형이, 처리 구성요소(processing component)를 나타낸 노드와 상기 처리 구성요소들 사이의 데이터 흐름을 나타내는 링크(link)를 포함하는 데이터흐름 그래프의 부분을 표현하는 데이터 항목에 대응한다.
하나 이상의 미리 정해진 유형이 데이터세트 내의 필드(field)를 표현하는 데이터 항목에 대응한다.
상기 제1 데이터 항목은 데이터세트 또는 실행가능한 프로그램의 적어도 일부에 해당하는 저장된 데이터를 기술하는 메타데이터를 포함한다.
상기 저장된 데이터는 상기 데이터 관리 시스템과는 상이한 제1 데이터 소스에 저장되어 있고, 상기 생성된 다이어그램은 상기 저장된 데이터를 표현하는 노드와, 상기 제1 데이터 소스 및 상기 데이터 관리 시스템과는 상이한 제2 데이터 소스에 저장된 데이터세트 또는 실행가능한 프로그램의 적어도 일부에 해당하는 데이터를 나타내는 노드 사이의 데이터 계보 관계(data lineage relationship)를 나타내는 에지를 포함한다.
상기 생성된 다이어그램은 상기 저장된 데이터를 표현하는 노드와, 상기 저장된 데이터에 의해 영향을 받는 엔티티(entity)를 표현하는 노드 사이의 다운스트림(downstream) 데이터 계보 관계를 표현하는 에지를 포함한다.
상기 생성된 다이어그램은 상기 저장된 데이터를 나타내는 노드와, 상기 저장된 노드가 유래된 소스(derived source)를 표현하는 노드 사이의 업스트림 데이터 계보 관계를 포함한다.
다른 측면에서, 보통, 데이터 관리 시스템에 저장된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 표현하기 위한 시스템은, 데이터 항목을 저장하는 데이터 관리 시스템; 상기 데이터 관리 시스템에 저장된 제1 데이터 항목을 확인하는 요청을 수신하도록 구성된 입력 인터페이스를 포함하는 사용자 인터페이스; 미리 정해진 유형의 주어진 데이터 항목과 관련된, 상기 데이터 관리 시스템의 데이터 항목을 선택하기 위한, 각각이 상이한 각각의 미리 정해진 유형과 연관되어 있는 복수의 선택 명세를 포함하는 구성 정보를 저장하는 스토리지 시스템(storage system); 상기 제1 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 하나 이상의 데이터 항목의 세트를 확인하기 위해 상기 데이터 관리 시스템에 질의하고, 확인된 세트 내의 복수의 반환된 데이터 각각에 대해, 상기 반환된 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 추가의 데이터 항목이 획인되는지를 결정하기 위해 상기 데이터 관리 시스템에 질의하도록 구성된 데이터 관리 시스템 인터페이스; 및 상기 구성 정보를 사용하여 확인된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 생성하는 다이어그램 생성기를 실행하도록 구성된 하나 이상의 프로세서를 포함한다.
상기 사용자 인터페이스는 상기 생성된 다이어그램을 표현하도록 구성된 출력 인터페이스를 포함한다.
다른 측면에서, 보통, 데이터 관리 시스템에 저장된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 표현하기 위한 시스템은, 사용자 인터페이스로부터 상기 데이터 관리 시스템에 저장된 제1 데이터 항목을 확인하는 요청을 수신하는 수단; 미리 정해진 유형의 주어진 데이터 항목과 관련된, 상기 데이터 관리 시스템의 데이터 항목을 선택하기 위한, 각각이 상이한 각각의 미리 정해진 유형과 연관되어 있는 복수의 선택 명세를 포함하는 저장된 구성 정보를 검색하는 수단; 상기 제1 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 하나 이상의 데이터 항목의 세트를 확인하기 위해 상기 데이터 관리 시스템에 질의하고, 확인된 세트 내의 복수의 반환된 데이터 각각에 대해, 상기 반환된 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 추가의 데이터 항목이 획인되는지를 결정하기 위해 상기 데이터 관리 시스템에 질의하는 수단; 상기 구성 정보를 사용하여 확인된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 생성하는 수단; 및 상기 생성된 다이어그램을 상기 사용자 인터페이스를 통해 표현하는 수단을 포함한다.
다른 측면에서, 보통, 컴퓨터로 판독가능한 매체는 데이터 관리 시스템에 저장된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 표현하는 컴퓨터 프로그램을 저장한다. 상기 컴퓨터 프로그램은 컴퓨터로 하여금, 사용자 인터페이스로부터 상기 데이터 관리 시스템에 저장된 제1 데이터 항목을 확인하는 요청을 수신하게 하고; 미리 정해진 유형의 주어진 데이터 항목과 관련된, 상기 데이터 관리 시스템의 데이터 항목을 선택하기 위한, 각각이 상이한 각각의 미리 정해진 유형과 연관되어 있는 복수의 선택 명세를 포함하는 저장된 구성 정보를 검색하게 하고; 상기 제1 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 하나 이상의 데이터 항목의 세트를 확인하기 위해 상기 데이터 관리 시스템에 질의하게 하고; 확인된 세트 내의 복수의 반환된 데이터 각각에 대해, 상기 반환된 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 추가의 데이터 항목이 획인되는지를 결정하기 위해 상기 데이터 관리 시스템에 질의하게 하고; 상기 구성 정보를 사용하여 확인된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 생성하게 하고; 상기 생성된 다이어그램을 상기 사용자 인터페이스를 통해 표현하게 하는, 명령어를 포함한다.
측면들은 다음의 이점들 중 하나 이상을 포함할 수 있다.
때로 데이터베이스 사용자는, 어떻게 어떤 특정한 데이터가 상이한 데이터 소스로부터 유래되었는지를 조사하고 싶어할 수 있다. 예를 들면, 데이터베이스 사용자는 어떤 소스로부터 데이터세트 또는 데이터 객체(data object)를 불러오는지를 알고 싶어할 수 있다. 데이터세트가 유래된 소스로 거슬러 데이터세트를 추적하는 것을 업스트림 데이터 계보 추적이라고 부른다. 때로 데이베이스 사용자는, 어떻게 어떤 특정한 데이터세트가 사용되었는지, 예를 들면, 어떤 애플리케이션이 주어진 데이터세트를 읽었는지를 조사하고 싶어 할 수 있다(다운스트림 데이터 계보 추적). 데이베이스 사용자는 또한 데이터세트가 다른 세이터와 어떻계 관련되어 있는지를 아는 데 관심이 있을 수 있다. 예를 들면, 데이터세트가 수정된 경우, 어느 테이블이 영향을 받을 것인지를 사용자는 알고 싶어할 수 있다. 여기에 기재된 기술은, 관련 데이터가 복수의 분산된, 이종 소스(heterogeneous source)에 걸쳐 있는 질의를 포함하는 다양한 데이터 관계 질의에 대한 답을 구하는 사용자를 돕는데 사용할 수 있다.
본 발명의 다른 특징들 및 이점들은 이하의 설명과 특허청구범위로부터 명백해질 것이다.
도 1은 예시적인 데이터 관리 시스템의 다이어그램이다.
도 2는 데이터 브라우징을 위한 웹 사용자 인터페이스의 예이다.
도 3은 데이터 관계 다이어그램을 생성하는 프로세스를 나타낸 개략도이다.
도 4a는 예시적인 데이터 관계 다이어그램를 나타낸다.
도 4b는 데이터 항목을 검색하는 프로세스의 흐름도이다.
도 5는 예시적인 데이터 관계 다이어그램를 나타낸다.
도 6은 데이터 관계 다이어그램을 생성하는 프로세스의 흐름도이다.
도 7a 및 도 7b는 구성 파일의 예이다.
도 8은 데이터 관계 다이어그램의 노드에 대한 상세 정보를 표시하는 예시적인 인터페이스를 나타낸다.
사용자는 사용자 인터페이스를 사용하는 데이터 처리 시스템에서 새로운 데이터 항목을 브라우징, 수정 또는 생성할 수 있다. 어떤 데이터 항목은 프로그램 또는 프로그램 모듈(예컨대, 소스 코드 또는 실행가능한 코드)에 해당하고, 어떤 데이터 항목은 프로그램, 데이터세트, 데이터 소스, 또는 기타 데이터 항목의 모음(collection)에 해당한다. 여러 유형의 사용자 인터페이스가 여러 유형의 사용자에게 제공될 수 있다. 예를 들면, 시스템용 애플리케이션을 개발하는 사용자(개발자)는 한 종류의 인터페이스를 사용할 수 있고, 애플리케이션을 실행하거나 애플케이션의 결과를 보는 사용자는 다른 종류의 인터페이스 사용할 수 있다.
도 1은, 사용자가 데이터흐름 그래프(dataflow graph)를 사용하는 애플리케이션을 작성할 수 있도록 해주는 사용자 인터페이스인 그래픽 개발 환경(Graphical Development Environment, GDE)(102)을 포함하는 예시적인 데이터 처리 시스템(100)을 나타낸다. 데이터흐름 그래프는 하나의 구성요소로 다른 구성요소로의 데이터 이동을 표현하기 위해 구성요소라고 불리는 기능 모듈(functional module)과 흐름이라고 불리는 데이터 도관(data conduit)을 사용한다. 따라서, 그래프 기반 애플리케이션은 구성요소들(데이터 저장 구성요소 또는 실행가능한 계산 구성요소)을 표현하는 그래프 내에 정점들을 갖는, 유향 그래프(directed graph)와, 구성요소들 사이의 데이터의 흐름을 표현하는 그래프 내의 정점들을 연결하는 유향 링크 또는 "에지"로 표현될 수 있다. 데이터흐름 그래프(간단히 "그래프"라고도 함)은 모듈형의 엔티티(modular entity). 각 그래프는 하나 이상의 다른 그래프로 구성될 수 있으며, 특정한 그래프는 더 큰 그래프 내의 구성요소일 있다. GDE(102)는 개발자로 하여금 주어진 사용자 특정 환경(user-specific environment)에 맞춤된 실행가능한 그래프로서 애플리케이션을 개발, 시험 및 배포(deploy)할 수 있게 한다. GDE(102)를 사용하여 구성되는 도 1에 나타낸 예시적인 데이터흐름 그래프는, 데이터를 생성하는 구성요소(12), 흐름(116)을 통해 데이터를 수신하고 흐름(120)을 통해 출력 데이터세트(118)에 데이터를 제공하는 구성요소(114)를 포함한다.
GDE(102)는 저장소(104) 및 병력 운영 환경(106)과 통신한다. 저장소(104)는, 예를 들면, 그래프 기반 애플리케이션을 개발 및 실행과, 그래프 기반 애플리케이션와 다른 시스템(예컨대, 다른 운영 체제) 사이에 메타데이터의 교환을 지원하도록 설계된, 확대 또는 축소가 가능한 스케일러블 객체 지향 데이터베이스 시스템(scalable object-oriented database system)이다. 저장소(104)는, 예를 들면, 문서, 레코드 포맷(예컨대, 테이블 내의 레코드의 필드 및 데이터 유형), 변환 함수(transform function), 그래프, 작업(job) 및 정보 모니터링을 포함하는, 모든 종류의 메터데이터를 위한 스토리지 시스템이다. 병렬 운영 환경(104)은 사용자가 GDE(102)에서 구성한 데이터흐름 그래프로 표현된 프로그램을 해석(interpret)하고, 그래프에 정의된 처리 로직 및 자원에 기초하여 컴퓨터 명령어를 생성하며, 그 명령어들을 하나 이상의 프로세서 및/또는 컴퓨터 시스템(동일할 필요는 없음)에서 실행한다.
실행부(110)는 선택적인 저장소 기반 작업 스케줄링 시스템(repository-based job scheduling system)이다.
메타데이터 인터페이스(108)(예컨대, 웹브라우저 기반 인터페이스)는 메타데이터를 구성하거나 포함하거나 참조하는, 저장소(104)에 저장된 데이터 항목을 위한 사용자 인터페이스를 제공한다. 메타데이터 인터페이스(108)를 통해, 사용자는 저장소(104)를 액세스하여 기존의 데이터 항목을 브라우징할 수 있고, 기존의 데이터 항목을 변경할 수 있으며, 새로운 데이터 항목을 생성할 수 있고, 애플리케이션 파라미터를 지정(specify)할 수 있다. 데이터 항목의 일부는, 예를 들면 데이터흐름 그래프나 다른 실행가능한 프로그램, 그래프의 소스를 제공하거나 그래프의 결과를 저장하는 데이터세트, 또는 그래프의 개발자에 관한 정보를 표현한다. 메타데이터 인터페이스(108)는 또한 실행부(110)의 작업 및 작업큐(job queue)를 보고 조작하기 위한 인터페이스를 사용자에게 제공한다. 메타데이터 인터페이스(108)를 통해, 사용자는, 실행부(110)가 데이터흐름 그래프로부터 생성된 작업을 실행할 수 있도록 해주는 데이터흐름 그래프의 실행시간 파라미터(runtime parameter)의 값을 지정할 수 있다.
참조에 의해 본 출원에 포함되는, 발명 명칭 "Managing Related Data Objects"인 미국 특허출원 제10/979,742호는 관련 데이터 항목에 대한 인터페이스를 관리하고 제공하는 기술을 개시한다. 이 특허문헌에 개시된 기술은 사용자에게 웹브라워저 상에서 표현될 뷰(view)를 정의하는 능력을 부여한다. 이러한 뷰는, 사용자가 데이터 항목에 포함 및/또는 데이터 항목과 연관된 원하는 정보를 액세스할 수 있도록 한다. 각 뷰는 데이터 항목의 유형과 연관되어 있고, 표현될 데이터를 정의하는 하나 이상의 "뷰 구성요소"를 포함한다. 각각의 뷰 구성요소는 뷰와 연관된 카테고리 내의 데이터 항목의 검색을 가능하게 하는 구성요소 설명자(element-descriptor)를 포함한다.
도 2는 웹브라우저 내에 표현된 뷰의 예를 나타낸다. 이 뷰는 네비에이션 바(202), 컨텐츠 섹션(204), 및 꼬리말(206)를 포함한다. 컨텐츠 섹션(204)은 사용자에 의해 정의된 뷰에 따라 표시된다. 이 경우에, 뷰는 네 개의 뷰 구성요소: 카테고리 명칭(208)(예컨대, Personnel), 카테고리 멤버의 명칭(210)(예컨대, Jim Anchower), 이 직원이 책임지고 있는 애플리케이션을 나타내는 뷰 구성요소(212), 및 이 직원이 책임지고 있는 데이터 파일을 나타내는 뷰 구성요소(214)를 포함한다.
사용자가 저장소(104) 내의 데이터 항목의 이력과 다른 항목들과의 관계를 아는 데 관심이 있는 경우, 사용자는 수동 프로세스(manual process)를 통해 원하는 정보를 찾을 수 있다. 사용자는 메타데이터 인터페이스(108)를 사용하여 링크된 데이터 항목을 순차로 브라우징할 수 있다. 또는, 사용자는 데이터베이스에 질의하기 위해 프로그래밍 언어를 사용할 수도 있다. 이 방법들 모두에서, 이력 정보를 추출하기 위해서는, 사용자가 첫 번째(제1) 질의를 전송하고, 질의 결과를 기다리고, 질의 결과 내의 필드 정보를 추출하고, 추출된 필드 정보에 기초한 두 번째(제2) 질의를 전송할 필요가 있다. 사용자가 긴 데이터 계보를 갖는 데이터 항목의 이력에 관심이 있거나 깊게 임베딩된(embedded) 데이터 객체의 관계에 관심이 있는 경우, 이 단계적인 수동 프로세스는 지루해질 수 있다.
예를 들면, 사용자가 데이터 계보, 또는 다른 유형의 데이터 관계와 관련된 애드혹 질의(ad-hoc querie)를 제기할 수 있도록 하고, 사용자가 동적으로 또한 사용자 구성가능한 방식으로 데이터 관계 정보를 검색할 수 있도록 하는 것이 유리하다. 또한 질의 결과를 다이어그램으로 표현하는 것이 유리하다.
도 3을 참조하면, 원한 정보를 추출하는 다른 방법의 예시적인 실시예에서, 사용자는 사용자 인터페이스(300)(예컨대, GDE(102) 또는 메타데이터 인터페이스(108))에 표현된 데이 항목(302)을 선택함으로써 데이터 관계 다이어그램을 생성하는 프로세스를 개시한다. 다이어그램 생성기(320)(예컨대 병렬 운영 체제(106) 상에서 실행된 애플리케이션)는 데이터 관리 시스템 인터페이스(예컨대, 질의를 전송하고 응답을 수신하는 통신 포트)를 사용하여 데이터 관리 시스템(340)(예컨대, 저장소(104) 내에 구현된 데이터베이스)과 상호작용하여 선택된 데이터 항목(302)과 관련된 데이터 항목을 검색하고 사용자 인터페이스(300) 상에 사용자에게 보여주기 위한 데이터 관계 다이어그램을 자동을 생성한다. 선택된 데이터 항목(302)은 도 3에서 D1로서 라벨이 붙어 있다. 사용자는 입력 인터페이스(예컨대, 버튼, 메뉴 등)을 사용하여, 관심이 있는 데이터 관계 다이어그램의 유형, 예를 들면 데이터 계보를 선택하고, 선택적으로 데이터 관계 다이어그램이 선택된 시작 데이터 항목으로부터, 데이터 항목의 업스트림, 다운스트림, 또는 둘다의 관계를 나타내는 것인지를 나타내는, 업스트림(예컨대, 이 데이터 항목이 소스로부터 어떻게 유래된 것인지, 또는 소스로부터의 입력 데이터를 수신하기 위해 어떻게 사용되는지) 및/또는 다운 스트림(예컨대, 이 데이터 항목이 영향을 받는 엔티티에 의해 어떻게 수신되는지, 또는 영향을 받는 엔티티의 출력 데이터를 생성하기 위해 어떻게 사용되는지)과 같은, 임의의 연관된 정보를 선택한다. 요청(314)은 인수(argument)로서 전달되는 선택된 데이터 항목 D1의 표시(indication)와 함께 다이어그램 생성기(320)에 대해 이루어진다. 데이터 항목 D1은 출력 인터페이스(예컨대, 화면 상의 창)를 사용하여 사용자에게 표현될 다이어그램을 생성하기 위한 시작점으로 사용된다.
다이어그램 생성기(320)은 요청(314)을 수신하고 구성 파일 스토리지(360)에서 요청(314)에 상응하는 구성 파일을 검색한다. 일반적인 구성 파일(380)은 하나 이상의 선택 명세(382, 384) 등을 포함하고, 그 각각은 대응하는 미리 정해진 데이터 항목 유형과 연관되어 있다. 예를 들면, 각 데이터 항목 유형은 데이터흐름 그래프 처리 환경의다른 부분에 대응할 수 있다. 일부 데이터 항목 유형은 그래프를 표현하는 데이터 항목에 대응할 수 있다. 일부 데이터 항목 유형은 그래프 내의 구성요소를 표현하는 데이터 항목에 대응할 수 있다. 일부 데이터 항목 유형은 데이터세트 내의 필드를 표현하는 데이터 항목에 대응할 수 있다.
선택 명세는 데이터 관리 시스템(340)에 저장된 데이터 항목들 사이를 항해하고 이들을 선택하기 위한 선택 동작(selection action) 또는 일련의 선택 동작을 명시한다. 선택 동작은, 예를 들면, 하나의 데이터 항목에 다음 데이터 항목으로 항해하는 방법을 나타내는 네비게이션 동작, 또는 필터링과 같은 하무를 수행함으로써 어느 데이터 항목을 반환할 것인가를 결정하는 다른 유형의 동작을 포함할 수 있다. 구성 파일(380)에서, 각 유형의 데이터 항목이 선택 명세와 연관된어 있다. 예를 들면, 선택 명세(382)는 유형 A와 연관되어 있고, 선택 명세(384)는 유형 B와 연관되어 있다. 데이터 항목의 유형은, 예를 들면, 속성(또는 "필드" 또는 "컬럼(columnn))과 그러한 속성들 사이의 관계(예컨대, 엔티티 관계 다이어그램으로 표현됨)를 정의하는 데이터 스키마(database schema)에 따라, 지정될 수 있다.
다이어그램 생성기(320)는 구성 파일 스토리지(360)에서 요청(314)에 상응하는 구성 파일(380)을 검색하고, 그 구성 파일을 사용하여 데이터 관리 시스템(340)에 대해 질의(330)를 발행한다.
다이어그램 생성기(320)와 데이터 관리 시스템(340) 사이에는 일련의 다수의 질의 상호작용이 일어날 수 있다. 다이어그램 생성기(320)는 D1의 유형과 연관된 선택 명세에 기초하여 데이터 관리 시스템(340)을 항해하기 위한 제1 질의의 개시점으로서 D1을 사용하고, 하나 이상의 추가 데이터 항목을 포함할 수 있는 질의 결과를 수신한다. 예를 들면, D1의 유형이 유형 B인 경우, 다이어그램 생성기(320)는 선택 명세(384)를 선택하고 선택 명세(384)에 포함된 일련의 선택 동작을 포함하는 질의를 만들어 낸다. 이 질의는, 예를 들면, 데이터 관리 시스템(340)이 해석할 수 있는 질의 언어로 만들어진다. 각 질의에 의해, 하나 이상의 데이터 항목의 세트가 검색될 수 있다. 어떤 경우에, 질의는 아무런 데이터 항목도 반환하지 않을 수 있다.
도 3에 예로서 나타낸 바와 같이, 데이터 관리 시스템(340)은, D1을 시작점으로 하여, 선택 명세(384)를 사용하여 하나 이상의 데이터 항목의 세트를 검색한다. 선택 명세는 데이터 항목의 세트를 검색하기 위해 데이터 관리 시스템(340)에서 항해될 관계의 종류(예컨대, 기본키/왜래키(primary key/foreign key) 관계)를 지정한다. 이 예에서, 검색된 데이터 항목의 세트는 D2, D3, 및 P1을 포함하고 이는 다이어그램 생성기(320)에게 반환된다. 데이터 항목 D2 및 D3은 D1의 유형과 같은, 유형 B이다. 데이터 항목 P1은 상이한 유형, 유형 A이다.
검색된 데이터 항목의 세트 내의 데이터 항목 각각에 대해, 다이어그램 생성기(320)는 그 데이터 항목의 유형과 연관된 선택 명세를 조회(lookup)하고, 그 유형과 연관된 선택 명세 내의 선택 동작에 따름으로써 다른 데이터 항목의 세트를 검색하기 위해 데이터 관리 시스템(340)에 질의를 전송한다. D2와 D3은 D1과 동일한 유형이기 때문에, D2 및 D3의 선택 명세는 선택 명세(384)이다. P1은 유형 A이고 선택 명세(382)가 이와 연관되어 있기 때문에, P1의 선택 명세서는 선택 명세(382)이다. 데이터 관리 시스템(340)은 검색된 세트 내의 데이터 항목 각각에 대하여, 따라서 D2, D3, 및 P1에 대하여, D2 및 D2의 선택 명세(384)와 P1의 선택 명세(382)를 사용하여 새로운 하나 이상의 데이터 항목의 세트의 검색을 시도하고, 데이터 관리 시스템(340)은 어쩌면 세 개의 새로운 하나 이상의 데이터 항목의 세트를 검색할 수 있다. 어떤 경우에, 새로운 데이터 항목의 세트를 검색하는 시도는 아무런 데이터 항목도 발견되지 않는 결과를 낳는다. 다이어그램 생성기(320)에 반환된, D2, D3 또는 P1에 대해 검색된 각각의 새로운 하나 이상의 데이터 항목의 세트에 포함된 데이터 항목 각각에 대하여, 다이어그램 생성기(320)는 해당 데이터 항목의 유형에 대한 선택 명세를 찾고, 새로운 질의 데이터 관리 시스템(340)에 전송한다. 그러면 데이터 관리 시스템(340)은 선택 명세 내의 선택 동작을 수행하여 다른 하나 이상의 데이터 항목의 세트의 검색을 시도하고 결과를 다이어그램 생성기(320)에 전송한다.
도 4a 및 도 4b는 이 루핑 프로세스(looping process)를 더욱 자세하게 나타낸 것이다. 도 4a는 이 프로세스를 반복할 때마다 검색된 데이터 항목의 세트와,그 데이터 항목들에 도달하기 위해 횡단하였던 관계 링크를 나타낸다. D1은 시작 데이터 항목(반복 i0)이다. D1으로부터, 검색된 데이터 항목의 세트는 D2, D3, 및 P1을 포함한다(반복 i1). D2로부터, 검색된 하나 이상의 데이터 항목의 세트는 단 하나의 데이터 항목 D4를 포함한다. D3으로부터, 검색된 데이터 항목이 없다. P1로부터, 검색된 하나 이상의 데이터 항목의 세트는 두 개의 데이터 항목, P2 및 D5를 포함한다. 그래서 그 다음의 반복(i2)에서는, 3개의 데이터 항목이 검색되었다. D4로부터, 검색된 하나 이상의 데이터 항목의 세트는 P3을 포함한다(반복 i3). P3으로부터, 검색된 데이터 항목의 세트는 P5을 포함한다(반복 i4). P2, D5, 및 P5로부터는 검색된 데이터 항목이 없다.
도 4b는 데이터 항목을 검색하는 예시적인 프로세스의 흐름도를 나타낸다. 데이터 항목 Ds로 시작하여, 단계 410에서, Ds의 유형을 확인한다. 단계 412에서, Ds의 유형과 연관된 선택 명세를 결정한다. 단계 414에서, 선택 명세에 정의된 선택 동작을 수행하여, 잠재적으로 검색되는 하나 이상의 데이터 항목의 세트를 얻는다(단계 416). 데이터 항목이 더 이상 발견되지 않아 선택 동작을 더이상 할 필요가 없을 때, 프로세스가 종결된다.
도 4a의 예에서, 질의 결과로서 다이어그램 생성기(320)에 반환된 데이터 항목들은 데이터 관리 시스템(340) 내에서 그들이 어떻게 관련되는지에 상당하는, 에지에 의해 연결된 노드로서 표현된다. 예를 들면, 에지는 대응하는 데이터 항목들 사이의 기본 키/외래 키 관계를 표현할 수 있다. 에지는, 예를 들면, 앞서 언급한 미국 특허출원 제10/979,742호에 기재된 바와 같은, 여러 관계 중 어느 것이든 표현할 수 있다.
도 5는 사용자 인터페이스(300)의 창(500)에 제시된 검색된 데이터 항목에 기초하여 다이어그램 생성기(320)에 의해 생성된 데이터 관계 다이어그램의 예이다. 도 5에서 직사각형과 가장자리가 둥근 직사각형은 데이터 항목을 나타내는 노드이다. 노드들 사이의 연결은 노드들 사이의 관계를 표현하는 에지를 향한다. 화살표의 방향은, 업스트림 데이터 항목으로 표현된 엔티티에 의해 영향을 받는 엔티티를 표현하는 다운 스트림 데이터 항목을 가리킨다. 예를 들면, 도 5에 나타낸 다이어그램에서, 노드는 여러 데이터세트 내의 필드 및 그러한 데이터세트 내의 데이터를 처리하는 그래프를 표현하는 메타데이터에 대응한다. 직사각형은 바로 왼쪽에 배치된 데이터 항목과 연관된 입력에 작용하고 바로 왼쪽에 배치된 데이터 항목과 연관된 출력을 제공하는 애플리케이션인 유형 "그래프"의 데이터 항목을 표현한다. 예를 들면, 그래프 내의 구성요소는 제1 필드의 데이터(그 메타데이터는 제1 데이터 항목에 저장되어 있음)를 액세스할 수 있고, 제2 필드의 데이터(그 메타데이터는 제2 데이터 항목에 저장되어 있음)를 출력할 수 있다.
제1 데이터 항목(510), 즉 필드 cust_id는 데이터 관계 다이어그램 생성을 위해 사용자에 의해 선택된 시작 데이터 항목이다. 도 5의 다이어그램은, 필드 cust_id(510)가 어떻게 사용되었는지를 그림으로, 즉 다운스트림 데이터 계보 다이어그램으로 보여준다. 애플리케이션 db_unload.mp는 필드 cust_id로부터 데이터를 판독하여 처리한 다음, 두 개의 필드 custid로 데이터를 출력한다. 그후, 애플리케이션 Example #4가 이 두 개의 필드 중 하나로부터 데이터를 판독하여 처리하고, 필드 id에 데이터를 출력한다. 그후 필드 id는 네 개의 필드에 데이터를 출력하는 애플리케이션 reporting.mp에 의해 판독된다. 마지막으로, 애플리케이션 db_load.mp가 애플리케이션 reporting.mp의 결과로서 얻은 네 개의 필드 중 두 개에서 데이터를 읽고 네 개의 필드에 더 기록한다.
도 5의 데이터 관계 다이어그램은, 사용자가 메타데이터 브라우저(그 예는 도 2에 도시되어 있다)에 표시된 데이터 항목 cust_id를 클릭한 경우에 사용자에게 제시되는 것다. 사용자가 데이터 관계 정보는 찾는 것에 관심이 있는 데이터 항목을 클릭한 때로부터 다이어그램이 제시될 때까지의 예시적인 처리는, 도 6에 나타낸 흐름도에 설명되어 있다.
도 6은 데이터 관계 다이어그램을 생성하기 위한 동적이고 사용자가 구성가능한 프로세스를 나타낸다. 사용자가 관심있는 데이터 항목을 선택(예컨대, 클릭)함으로써 프로세스를 개시하고, 예를 들면, 대응하는 라디오 버튼(radio button)(FIG. 3에 도시됨)을 클릭함으로써, 사용될 구성 파일을 지정한다. 그러면 사용자를 대신하여 사용자 요청이 전송된다. 단계 601에서 다이어그램 생성기(320)가 사용자 요청을 수신한다. 사용자 요청은 시작 데이터 항목, 및 사용자가 원하는 데이터 관계 다이어그램을 생성하기 위해 사용될 적절한 구성 파일을 나타내는 데 필요할 수 있는 다른 어떤 정보를 알아 볼 수 있게 해준다. 단계 602에서, 다이어그램 생성기(320)는 구성 파일 스토리지(360)로부터 구성 파일을 검색한다. 단계 603은 루핑 프로세스이다. 이 루핑 프로세스는 제1 데이터 항목, 즉 시작 데이터 항목으로 시작한다. 이전 반복에서 반환된 각각의 데이터 항목에 대해(또는 제1 반복에서는 시작 데이터 항목에 대해) 반복 루프 각각은 다음의 단계들을 포함한다: 단계 652 - 데이터 항목의 유형을 확인, 단계 654 - 유형과 연관된 선택 명세를 결정, 단계 656 - 선택 명세에 포함된 선택 동작을 수행, 단계 658 - 단계 656의 결과로서 하나 이상의 데이터 항목의 세트를 검색, 그리고 단계 660 - 아직 처리되어야 할 검색된 데이터 항목이 있는지를 확임함으로써 루핑 프로세스를 종결하여야 하는지를 결정한다.
위의 예에서, 루핑은 검색된 개별 데이터 항목에 기초한다. 또는, 제1 데이터 항목에서 멀어지는 단계들(예컨대, 엔티티 관계 다이어그램에서의 에지들)에 기초한 제1 레벨 루핑과, 각각의 제1 레벨 루핑의 반복에서 검색된 하나 이상의 데이터 항목의 세트에 포함된 데이터 항목에 기초한 제2 루핑 레벨을 갖는, 중첩(nested) 루핑 프로세스가 구성될 수 있다.
(구성 파일에 의해 정의된 선택 명세 내의 선택 동작에 따라) 검색될 더 이상의 데이터 항목이 존재하지 않는 경우, 루핑 프로세스는 종결되고 단계 604에서 데이터 항목의 모음 및 루핑 프로세스 동안에 취득된 그들의 상호 연관성이 처리되어 반환된 질의 결과의 처리에 기초하여 데이터 관계 다이어그램이 생성된다. 루핑 프로세스에서 검색된 모든 데이터 항목이 반환되어 데이터 관계 다이어그램에 표현된다. 또는 다이어그램 생성기(320)는, 루핑 프로세스가 수행되고 있을 때 데이터 관계 다이어그램을 표현하여, 단계 604에서 수행되는 프로세스의 일부 또는 전부에 대한 필요성을 없앨 수 있다.
선택 동작을 만들어 낼 수 있는 질의 언어의 일례는, 데이터 시스템에 저장된 데이터를 관리하고 분석하는 방법을 개시하고 있는, 미국 특허출원 제10/979,742호에 기재되어 있다. 그 애플리케이션에서, 데이터 스토리지로부터 원하는 데이터를 검색하기 위한, 네비게이션 동작과 표현 동작(표현 동작)을 포함하는, 선택 동작이 기재되어 있다. 네비게이션 동작 중에, 다음의 네 가지 유형, walk, inv_walk, gather_all, find_ultimate 이 정의되어 있다.
동작 walk 는 두 개의 파라미터, 주석 규칙(annotation rule) 및 카테고리를 이용한다. 동작 walk는 지정된 주석 규칙에 의해 참조되는 지정된 카테고리 내의 데이터 항목을 반환한다. 일부 구현예에서, 데이터 항목은 정의된 스키마(defined schema)에 따라 관련된 객체에 대응하고, 데이터 항목의 유형은 정의된 스키마 내의 그 카테고리에 의해 결정된다.
동작 inv_walk도 마찬가지로 두 개의 파라미터, 주석 규칙과 카테고리를 이용한다. 동작 inv_walk는, 동작 inv_walk가 인보크(invoke)될 때 데이터 항목을 참조하는 주석 규칙을 갖는 지정된 카테고리 캣(specified category cat) 내의 데이터 항목을 반환한다.
동작 gather_all은 파라미터로서 하나 이상의 내비게이션 동작 시리즈를 이용한다. 이것은 내비게이션 동작(들)을 재귀적으로 수행하고 각 재귀 단계에서 발견된 모든 데이터 객체를 반환한다.
동작 find_ultimate도 또한 파라미터로서 하나 이상의 내비게이션 동작 시리즈를 이용한다. 이것은 내비게이션 동작(들)을 재귀적으로 수행하고 재귀의 끝에서 발견된 모든 "리프 노드(leaf node)" 데이터 객체를 반환한다.
위의 네 가지 동작을 사용함으로써, 사용자는 데이터베이스에 저장된 데이터 객체를 항해하기 위한 일련의 네비게이션 동작을 구성할 수 있다. 내비게이션 동작의 구성은 구성 파일에 선택 명세로서 저장될 수있다.
사용자는 또한 표현 동작을 선택 명세에 포함시킬 수 있다. 표현 동작은 하나 이상의 데이터 항목의 세트에 대해 동작한다. 예를 들면, , 표현 동작 sort(expr)는 expr에 의해 하나 이상의 데이터 항목의 세트를 분류(sort)한다. 표현 동작 filter(expr)expr에 의해 하나 이상의 데이터 항목의 세트를 필터링한다. 표현 동작 eval(expr) 는 하나 이상의 데이터 항목의 세트에 대해 expr 을 평가한다.
주어진 유형의 시작 데이터 항목에 대해, 구성 파일은 하나 이상의 선택 동작(전술한 내비게이션 동작 및 표현 동작)을 구비한 선택 명세를 사용하여 그 시작 데이터 항목과 관련된 하나 이상의 객체의 세트를 확인한다. 구성 파일은 또한 주어진 유형의 데이터 항목에 대한 선택 명세와 함께 라벨 명세를 포함할 수 있다. 이 라벨 명세는 시작 항목을 표현하는 데이터 관계 다이어그램 내의 노드에 대한 라벨을 구성하는 데 사용된다.
도 7a 및 도 7b는 선택 동작인 내비게이션 동작과 표현 동작으로 구성된 선택 명세를 갖는 구성 파일의 세 가지 예를 나타낸다.
도 7a는 세 개의 유형의 데이터 항목, 'Subject Area', 'Logical Entity', 및 'Entity Relationship'에 대해 정의된 세 개의 선택 명세를 갖는 구성 파일의 예이다. 유형이 'Subject Area'인 데이터 항목의 경우, sel_spec으로 지정된, 대응하는 선택 명세는 내비게이션 동작, inv_walk("SubjectAreaOID", "Logical Entity")를 포함하는데, 이것은 카테고리 Logical Entity 에 속하고 이 선택 명세가 부과되어 있는 하나 이상의 데이터 항목의 세트를 참조하는 주석 규칙 SubjectAreaOID를 갖는 하나 이상의 데이터 항목의 세트를 반환한다. 유형이 'Logical Entity'인 데이터 항목의 경우, sel_spec으로 지정된, 선택 명세는 네 개의 동작, 내비게이션 동작 inv_walk, 이어서 표현 동작 filter, 이어서 두 개의 내비게이션 동작 walk로 이루어진 구성(composition)을 포함한다. 유형이 'Entity Relationship,인 데이터 항목은, sel_spec으로 지정된, 대응하는 선택 명세는 내비게이션 동작 walk을 포함한다. label_spec으로 지정된, 라벨 명세는 표현 동작 eval을 포함한다. 이 표현 동작의 반환된 값은 생성되는 데이터 관게 다이어그램에서 데이터 항목을 표현하는 노드에 라벨을 붙이는 데 사용된다. 이 예에서, 표현 동작 eval로부터 취득된 값은 유형이 'Entity Relationship'인 데이터 항목을 노드 라벨로서 사용된다.
도 7b는 데이터 항목의 'system' 유형에 대해 정의된 선택 명세를 갖는 구성 파일의 일부를 나타낸다. 이 예에서, 동일한 데이터 항목에 대해 정의된 두 개의 상이한 선택 명세가 존재하는데, 이것은 다이어그램 생성기(320)가 데이터 관계 다이어그램의 업스트림 방향과 다운스트림 방향에 대해 상이한 선택 동작을 사용할 수 있도록 해준다. 그러므로, 최종 데이터 관계 다이어그램에서, 시작 데이터 항목은 양쪽 끝이 대신에, 중간에 어딘가 배치될 것이다. 다운스트림 섹션에서, # Downstream으로 지정된, 데이터 항목 유형 'system'은 두 개의 inv_walk 내비게이션 동작과 두 개의 walk 내비게이션 동작으로 이루어진 구성을 갖는 선택 명세에 대응한다. 업스트림 섹션에서, # Upstream으로 지정된, 데이터 항목 유형 'system'도 또한 두 개의 inv_walk 내비게이션 동작과 두 개의 walk 내비게이션 동작으로 이루어진 구성을 갖는 선택 명세에 대응하지만, 주어진 데이터세트가 판독 또는 기록되고 있는지를 나타내는 주석 규칙은, 다운스트림 방향과 비교할 때 바꿔져(swaped) 있다.
구성 파일은 또한 노드 라벨을 정의하기 위한 라벨 명세와, 내비게이션 동작이 비롯된 노드로부터의 에지에 대한 라벨을 규정하기 위한 라벨 명세를 포함할 수 있다. 에지의 양쪽 끝의 노드의 유형에 기초한 라벨은 에지에 라벨을 붙이는 에지 라벨링에 사용될 수 있다. 또는 에지 라벨은 구성 파일의 변수에 할당된 값을 통해 사용자에 의해 커스터마이즈즈될 수 있다.
어떤 구현예에서, 선택 명세는 다수의 선택 동작의 세트를 포함하여, 다이어그램 생성기(320)가 한번에 하나의 질의가 아니라 한 번에 다수의 질의를 실행할 수 있게 하고, 하나의 노드의 세트가 아니라 일련의 노드의 세트가 반환될 수 있도록 한다. 이 특징은 노드들 사이에 일종의 의존성(dependency)이 존재하는 경우에 다이어그램을 정확하게 표현하는 데 도움이 될 수 있다.
전술한 예시적인 선택 명세는 하나의 특정한 언어로 쓰여지지만, 여기에 개시된 방법론이 데이터 스토리지에 저장된 데이터를 항해하거나 추적하는 데 사용되는 다른 언어에도 마찬가지로 적용할 수 있음은 물론이다.
지금까지, 앞서 설명한 데이터 관계 다이어그램 생성 프로세스는, 사용자가 수행될 어떤 특정한 선택 동작을 어떻게 원하는지를 구성 파일의 선택 명세를 정의함으로써 사용자가 구성할 수 있다는 의미에서, 사용자가 구성가능한 것이다.
사용자는 또한 도 6에서 설명한 루핑 프로세스를 제어함으로써 데이터 관계 다이어그램 생성 프로세스를 구성할 수있다. 루핑 프로세스는, 어떤 질의 결과에 추가의 데이터 항목이 반환되지 않을 때까지, 그 만큼의 반복을 필요함에 따라 계속할 수 있다. 또는, 사용자는 n ≤ n_max와 같은 탈출 조건을 부과함으로써 루핑 프로세스의 반복 횟수를 제한할 수 있는데, n을 앞서 언급한 중첩 루핑 방식에서 실행된 제1 레벨 반복의 횟수로 하면, n_max는 선택된 시작 데이터 항목을 표현하는 노드로부터 멀어지는 경로를 따른 에지의 최대 개수이다. 사용자 또는 다이어그램 표현 프로세스에서 최종 다이어그램에 표시할 노드와 에지의 개수를 직접 제어할 수도 있다.
일부 구현예에서, 사용자는 데이터 브라우징을 위해 데이터 관계 다이어그램과 사용자 인터페이스 사이를 전후로 이동할 수 있다. 예를 들면, 데이터 브라우징 인터페이스에서, 사용자는 제1 데이터 항목을 선택하여 그 데이터 항목에 대한 데이터 관계 다이어그램을 요청할 수 있다. 데이터 관계 다이어그램에서, 사용자는 대응하는 데이터 항목에 대해 제1 데이터 항목과 연관된 노드와는 상이한 노드를 선택하고, 사용자 인터페이스를 그 데이터의 브라우징 인터페이스로 리디렉트(redirect)할 수 있다.
일부 구현예에서, 사용자는 상세 정보를 얻기 위해 데이터 관계 그래프에서 노드를 선택할 수 있으며, 상세 정보는, 예를 들면, 도 8에 나타낸 창(800)과 같은, 팝업창으로 표시될 수 있다.
이상에서 설명한 기술은 컴퓨터에서 실행되는 소프트웨어를 사용하여 구현도리 수 있다. 예를 들면, 소프트웨어는 하나 이상의 프로그램되거나 프로그램가능한 컴퓨터 시스템(분산형, 클라이언트/서버, 또는 그리드와 같은 각종 아키텍처일 수 있음) 상에서 실행되는 하나 이상의 컴퓨터 프로그램에서 절차를 구성하며, 상기 컴퓨터 시스템은 각각 적어도 하나의 프로세서, 적어도 하나의 데이터 스토리지 시스템(휘발성 및 비휘발성 메모리 및/또는 스토리지 요소를 포함), 적어도 하나의 입력 디바이스나 포트, 및 적어도 하나의 출력 디바이스나 포트를 포함한다. 상기 소프트웨어는, 예를 들면, 데이터흐름 그래프의 설계 및 구성과 관련된 다른 서비스를 제공하는, 더 큰 프로그램의 하나 이상의 모듈을 구성할 수 있다. 그래프의 노드 및 구성요소는 컴퓨터로 판독가능한 매체에 저장된 데이터 구조 또는 데이터 저장소에 저장된 데이터 모델을 따르는 다른 체계화된 데이터(organized data)로서 구현될 수 있다.
소프트웨어는 범용 또는 특수용의 프로그램가능한 컴퓨터에 의해 판독 가능한, 예를 들면 CD-ROM과 같은 저장 매체에 제공되거나, 또는 네트워크의 통신 매체를 통해 실행될 컴퓨터로 전달(전파 신호로 인코딩됨)될 수 있다. 모든 기능은 특수용의 컴퓨터에서 수행되거나, 또는 코프로세서와 같은 특수용의 하드웨어를 사용하여 수행될 수 있다. 소프트웨어는 소프트웨어에 의해 지정된 계산의 상이한 부분들이 상이한 컴퓨터들에 의해 수행되는 분산 방식으로 구현될 수 있다. 이러한 컴퓨터 프로그램 각각은, 스토리지 매체 또는 디바이이스가 여기에 기재된 절차를 수행하기 위해 컴퓨터 시스템에 의해 판독될 때, 컴퓨터를 구성 및 동작시키기 위해, 범용 또는 특수용의 프로그램가능한 컴퓨터에 의해 판독가능한 스토리지 매체 또는 디바이스(예컨대, 고체 메모리나 매체, 또는 자기나 광학 매체)에 저장되어 있거나 다운로드되는 것이 바람직하다. 본 발명의 시스템은 또한 컴퓨터 프로그램으로 구성된, 컴퓨터로 판독가능한 스토리지 매체로 구현되는 것도 고려될 수 있으며, 스토리지 매체는 컴퓨터 시스템으로 하여금 특정한 미리 정해진 방식으로 동작하여 여기에 기재된 기능들을 수행하도록 구성된다.
본 발명에 대해 다수의 실시예를 설명하였다. 그럼에도불구하고, 본 발명의 사상과 범위를 벗어나지 않으면서 다양하게 변경할 수 있다는 것을 알 것이다. 예를 들면, 전술한 단계 중 일부는 순서에 독립적일 수 있으며, 따라서 설명한 것과는 다른 순서로 수행될 수있다.
이상의 설명은 본 발명을 설명하기 위한 것이고, 첨부된 청구항들의 범위에 의해 정해지는, 본 발명의 범위 제한하기 위한 것이 아님을 알아야 한다. 예를 들면, 전술한 다수의 기능 단계는 전체 프로세스의 실질적으로 영향을 미치지 않고 상이한 순서로 실행될 수 있다. 다른 실시예들은 다음 청구항의 범위 내에 있다.

Claims (23)

  1. 데이터 관리 시스템에 저장된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 표현하는 방법으로서,
    사용자 인터페이스(300)로부터 데이터 관리 시스템(340)에 저장된 제1 데이터 항목(314)을 확인하는 요청을 수신하는 단계(601);
    미리 정해진 유형의 주어진 데이터 항목과 관련된, 데이터 관리 시스템의 데이터 항목을 선택하기 위한, 각각이 상이한 각각의 미리 정해진 유형과 연관되어 있는 복수의 선택 명세(selection specification)(382, 384)를 포함하는 저장된 구성 정보(configuration information)를 검색하는 단계(602);
    상기 제1 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 하나 이상의 데이터 항목의 세트를 확인하기 위해 상기 데이터 관리 시스템에 질의하는 단계;
    확인된 세트 내의 복수의 반환된 데이터(returned data) 각각에 대해, 상기 반환된 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 추가의 데이터 항목이 획인되는지를 결정하기 위해 상기 데이터 관리 시스템에 질의하는 단계;
    상기 구성 정보를 사용하여 확인된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 생성하는 단계; 및
    상기 생성된 다이어그램을 상기 사용자 인터페이스를 통해 표현하는 단계(604)
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 선택 명세에 따라 하나 이상의 데이터 항목의 세트를 확인하기 위해 상기 데이터 관리 시스템에 질의하는 단계는, 상기 요청에 따라 상기 선택 명세를 사용하여 질의를 동적으로 만들어 내는 단계, 상기 데이터 관리 시스템에 의해 상기 질의를 처리하는 단계, 및 상기 하나 이상의 데이터 항목을 확인하는 상기 데이터 관리 시스템으로부터 질의 결과를 수신하는 단계를 포함하는, 방법.
  3. 제2항에 있어서,
    상기 질의는 상기 제1 데이터 항목의 속성(attribute)에 의해 참조되는 데이 항목을 검색하기 위해 상기 데이터 관리 시스템을 항해하는 하나 이상의 네비게이션 동작(navigation action)을 포함하는, 방법.
  4. 제2항에 있어서,
    상기 질의는 상기 제1 데이터 항목을 참조하는 속성을 갖는 데이터 항목을 검색하기 위해 상기 데이터 관리 시스템을 향해하는 하나 이상의 네비게이션 동작을 포함하는, 방법.
  5. 제2항에 있어서,
    상기 데이터 관리 시스템에 의해 상기 질의를 처리하는 단계는, 상기 데이터 관리 시스템을 재귀적으로(recursively) 항해하여, 복수의 재귀 단계(step of recursion) 각각에서 발견된 적어도 일부 데이터 항목을 반환하는 단계를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 추가의 데이터 항목이 획인되는지를 결정하기 위해 상기 데이터 관리 시스템에 질의하는 단계는, 질의의 반복(iteration)을 복수회 수행하는 단계를 포함하고, 각각의 반복은 이전의 반복으로부터의 이전의 하나 이상의 데이터 항목의 세트 중 하나 이상의 데이터 항목에 각각 관련된, 다른 하나 이상의 데이터 항목의 세트를 결정하는 단계를 포함하는, 방법.
  7. 제6항에 있어서,
    상기 질의의 반복은 상기 이전의 하나 이상의 데이터 항목의 세트들 중 어느 것과 관련된 데이터가 더 이상 발견되지 않을 때까지 수행되는, 방법.
  8. 제1항에 있어서,
    복수의 저장된 구성 파일로부터의 구성 정보를 포함하는 구성 파일의 선택(selection)을 상기 사용자 인터페이스로부터 수신하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서,
    상기 구성 정보는 상기 제1 데이터 항목을 표현하는 상기 생성된 다이어그램의 노드(node)에 대한 라벨을 구성하는 상기 제1 데이터 항목의 유형과 연관된 라벨 명세(label specification)를 포함하는, 방법.
  10. 제1항에 있어서,
    상기 구성 정보는 상기 제1 데이터 항목과 다른 데이터 항목 사이의 관계를 표현하는 상기 생성된 다이어그램의 에지(edge)에 대한 라벨을 구성하는 상기 제1 데이터 항목의 유형과 연관된 라벨 명세를 포함하는, 방법.
  11. 제1항에 있어서,
    각각의 미리 정해진 유형은 데이터흐름 그래프 처리 시스템(dataflow graph processing system)의 상이한 부분에 대응하는, 방법.
  12. 제11항에 있어서,
    하나 이상의 미리 정해진 유형이, 처리 구성요소(processing component)를 나타낸 노드와 상기 처리 구성요소들 사이의 데이터 흐름을 나타내는 링크(link)를 포함하는 데이터흐름 그래프의 부분을 표현하는 데이터 항목에 대응하는, 방법.
  13. 제11항에 있어서,
    하나 이상의 미리 정해진 유형이 데이터세트 내의 필드(field)를 표현하는 데이터 항목에 대응하는, 방법.
  14. 제1항에 있어서,
    상기 제1 데이터 항목은 데이터세트 또는 실행가능한 프로그램의 적어도 일부에 해당하는 저장된 데이터를 기술하는 메타데이터(metadata)를 포함하는, 방법.
  15. 제14항에 있어서,
    상기 저장된 데이터는 상기 데이터 관리 시스템과는 상이한 제1 데이터 소스에 저장되어 있고, 상기 생성된 다이어그램은 상기 저장된 데이터를 표현하는 노드와, 상기 제1 데이터 소스 및 상기 데이터 관리 시스템과는 상이한 제2 데이터 소스에 저장된 데이터세트 또는 실행가능한 프로그램의 적어도 일부에 해당하는 데이터를 나타내는 노드 사이의 데이터 계보 관계(data lineage relationship)를 나타내는 에지를 포함하는, 방법.
  16. 제14항에 있어서,
    상기 생성된 다이어그램은 상기 저장된 데이터를 표현하는 노드와, 상기 저장된 데이터에 의해 영향을 받는 엔티티(entity)를 표현하는 노드 사이의 다운스트림(downstream) 데이터 계보 관계를 표현하는 에지를 포함하는, 방법.
  17. 제14항에 있어서,
    상기 생성된 다이어그램은 상기 저장된 데이터를 나타내는 노드와, 상기 저장된 노드가 유래된 소소(derived source)를 표현하는 노드 사이의 업스트림 데이터 계보 관계를 포함하는, 방법.
  18. 데이터 관리 시스템에 저장된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 표현하는 시스템으로서,
    데이터 항목을 저장하는 데이터 관리 시스템;
    상기 데이터 관리 시스템에 저장된 제1 데이터 항목을 확인하는 요청을 수신하도록 구성된 입력 인터페이스를 포함하는 사용자 인터페이스;
    미리 정해진 유형의 주어진 데이터 항목과 관련된, 상기 데이터 관리 시스템의 데이터 항목을 선택하기 위한, 각각이 상이한 각각의 미리 정해진 유형과 연관되어 있는 복수의 선택 명세를 포함하는 구성 정보를 저장하는 스토리지 시스템(storage system);
    상기 제1 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 하나 이상의 데이터 항목의 세트를 확인하기 위해 상기 데이터 관리 시스템에 질의하고, 확인된 세트 내의 복수의 반환된 데이터 각각에 대해, 상기 반환된 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 추가의 데이터 항목이 획인되는지를 결정하기 위해 상기 데이터 관리 시스템에 질의하도록 구성된, 데이터 관리 시스템 인터페이스; 및
    상기 구성 정보를 사용하여 확인된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 생성하는 다이어그램 생성기를 실행하도록 구성된 하나 이상의 프로세서
    를 포함하고,
    상기 사용자 인터페이스는 상기 생성된 다이어그램을 표현하도록 구성된 출력 인터페이스를 포함하는, 시스템.
  19. 데이터 관리 시스템에 저장된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 표현하는 시스템으로서,
    사용자 인터페이스로부터 상기 데이터 관리 시스템에 저장된 제1 데이터 항목을 확인하는 요청을 수신하는 수단;
    미리 정해진 유형의 주어진 데이터 항목과 관련된, 상기 데이터 관리 시스템의 데이터 항목을 선택하기 위한, 각각이 상이한 각각의 미리 정해진 유형과 연관되어 있는 복수의 선택 명세를 포함하는 저장된 구성 정보를 검색하는 수단;
    상기 제1 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 하나 이상의 데이터 항목의 세트를 확인하기 위해 상기 데이터 관리 시스템에 질의하고, 확인된 세트 내의 복수의 반환된 데이터 각각에 대해, 상기 반환된 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 추가의 데이터 항목이 획인되는지를 결정하기 위해 상기 데이터 관리 시스템에 질의하는 수단;
    상기 구성 정보를 사용하여 확인된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 생성하는 수단; 및
    상기 생성된 다이어그램을 상기 사용자 인터페이스를 통해 표현하는 수단
    을 포함하는, 시스템.
  20. 데이터 관리 시스템에 저장된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 표현하는 컴퓨터 프로그램을 저장하는 컴퓨터로 판독가능한 매체로서,
    상기 컴퓨터 프로그램은 컴퓨터로 하여금,
    사용자 인터페이스로부터 상기 데이터 관리 시스템에 저장된 제1 데이터 항목을 확인하는 요청을 수신하게 하고;
    미리 정해진 유형의 주어진 데이터 항목과 관련된, 상기 데이터 관리 시스템의 데이터 항목을 선택하기 위한, 각각이 상이한 각각의 미리 정해진 유형과 연관되어 있는 복수의 선택 명세를 포함하는 저장된 구성 정보를 검색하게 하고;
    상기 제1 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 하나 이상의 데이터 항목의 세트를 확인하기 위해 상기 데이터 관리 시스템에 질의하게 하고;
    확인된 세트 내의 복수의 반환된 데이터 각각에 대해, 상기 반환된 데이터 항목의 유형과 연관된 구성 정보로부터의 선택 명세에 따라 추가의 데이터 항목이 획인되는지를 결정하기 위해 상기 데이터 관리 시스템에 질의하게 하고;
    상기 구성 정보를 사용하여 확인된 데이터 항목들 사이의 관계를 나타내는 다이어그램을 생성하게 하고;
    상기 생성된 다이어그램을 상기 사용자 인터페이스를 통해 표현하게 하는,
    명령어를 포함하는 컴퓨터로 판독가능한 매체.
  21. 제11항에 있어서,
    하나 이상의 미리 정해진 유형이 데이터세트를 표현하는 데이터 항목에 대응하는, 방법.
  22. 제12항에 있어서,
    하나 이상의 미리 정해진 유형이 데이터흐름 그래프를 표현하는 데이터 항목에 대응하는, 방법.
  23. 제22항에 있어서,
    하나 이상의 미리 정해진 유형이 데이터흐름 그래프 내의 구성요소를 표현하는 데이터 항목에 대응하는, 방법.
KR1020107019351A 2008-02-26 2009-02-26 데이터 관계의 그래픽 표현 KR101510355B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US3167208P 2008-02-26 2008-02-26
US61/031,672 2008-02-26
PCT/US2009/035293 WO2009108782A1 (en) 2008-02-26 2009-02-26 Graphic representations of data relationships

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020147036465A Division KR101517460B1 (ko) 2008-02-26 2009-02-26 데이터 관계의 그래픽 표현

Publications (2)

Publication Number Publication Date
KR20100124736A true KR20100124736A (ko) 2010-11-29
KR101510355B1 KR101510355B1 (ko) 2015-04-14

Family

ID=40999288

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147036465A KR101517460B1 (ko) 2008-02-26 2009-02-26 데이터 관계의 그래픽 표현
KR1020107019351A KR101510355B1 (ko) 2008-02-26 2009-02-26 데이터 관계의 그래픽 표현

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147036465A KR101517460B1 (ko) 2008-02-26 2009-02-26 데이터 관계의 그래픽 표현

Country Status (8)

Country Link
US (3) US9760612B2 (ko)
EP (1) EP2260404A4 (ko)
JP (1) JP5643654B2 (ko)
KR (2) KR101517460B1 (ko)
CN (1) CN101971165B (ko)
AU (2) AU2009219299B2 (ko)
CA (1) CA2716114C (ko)
WO (1) WO2009108782A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160004334A (ko) * 2013-04-23 2016-01-12 아브 이니티오 테크놀로지 엘엘시 컴퓨팅 시스템에 의해 수행되는 태스크 제어
KR20160036944A (ko) * 2014-09-26 2016-04-05 삼성에스디에스 주식회사 데이터베이스 마이그레이션 방법 및 그 장치
KR20170037636A (ko) * 2014-07-24 2017-04-04 아브 이니티오 테크놀로지 엘엘시 데이터 계통 요약
KR20170117155A (ko) * 2015-02-11 2017-10-20 아브 이니티오 테크놀로지 엘엘시 필터링 데이터 계통 다이어그램
US10671661B2 (en) 2012-08-31 2020-06-02 Facebook, Inc. Graph query logic

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2370887A4 (en) 2008-12-02 2012-06-13 Ab Initio Technology Llc Visual representation of the relationship between data elements and graphical representations of data element properties
JP2011095874A (ja) * 2009-10-28 2011-05-12 Hitachi Ltd フローチャート表示装置、フローチャート表示方法およびプログラム
JP6084037B2 (ja) * 2009-12-14 2017-02-22 アビニシオ テクノロジー エルエルシー ユーザ・インターフェース要素の指定
US9665620B2 (en) 2010-01-15 2017-05-30 Ab Initio Technology Llc Managing data queries
CA2718360A1 (en) * 2010-10-25 2011-01-05 Ibm Canada Limited - Ibm Canada Limitee Communicating secondary selection feedback
US9519476B2 (en) 2011-03-29 2016-12-13 Hewlett Packard Enterprise Development Lp Methods, apparatus and articles of manufacture to autocomplete application lifecycle management entities
US8924385B2 (en) * 2011-04-12 2014-12-30 Microsoft Corporation Query-based diagrammatic presentation of data
US9116955B2 (en) * 2011-05-02 2015-08-25 Ab Initio Technology Llc Managing data queries
US8849824B2 (en) 2011-10-07 2014-09-30 Kabushiki Kaisha Square Enix Database visualization system
JP5645897B2 (ja) * 2011-10-07 2014-12-24 株式会社スクウェア・エニックス データベース可視化システム
WO2013123097A1 (en) 2012-02-13 2013-08-22 SkyKick, Inc. Migration project automation, e.g., automated selling, planning, migration and configuration of email systems
US9852153B2 (en) * 2012-09-28 2017-12-26 Ab Initio Technology Llc Graphically representing programming attributes
US9075860B2 (en) * 2012-10-18 2015-07-07 Oracle International Corporation Data lineage system
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US9477786B2 (en) 2013-03-15 2016-10-25 Ab Initio Technology Llc System for metadata management
US9348879B2 (en) * 2013-07-02 2016-05-24 Bank Of America Corporation Data lineage transformation analysis
US9984482B2 (en) * 2013-08-23 2018-05-29 Ab Initio Technology Llc Graphical user interface having enhanced tool for connecting components
KR102279859B1 (ko) 2014-07-18 2021-07-20 아브 이니티오 테크놀로지 엘엘시 파라미터 세트의 관리
KR102054568B1 (ko) 2015-02-11 2020-01-22 아브 이니티오 테크놀로지 엘엘시 필터링 데이터 계통 다이어그램
US10417281B2 (en) 2015-02-18 2019-09-17 Ab Initio Technology Llc Querying a data source on a network
US10409802B2 (en) * 2015-06-12 2019-09-10 Ab Initio Technology Llc Data quality analysis
KR102315126B1 (ko) 2015-09-04 2021-10-19 삼성에스디에스 주식회사 정규형 위배 속성 식별 방법 및 그 장치
US10649989B2 (en) * 2015-10-30 2020-05-12 International Business Machines Corporation Building complex hierarchical queries
US9959154B2 (en) * 2016-02-16 2018-05-01 International Business Machines Corporation Identifying defunct nodes in data processing systems
EP3475888A1 (en) * 2016-08-22 2019-05-01 Oracle International Corporation System and method for ontology induction through statistical profiling and reference schema matching
CN106227892B (zh) * 2016-08-24 2020-06-16 深圳市卓讯信息技术有限公司 一种智能分析数据库表关系生成e-r图的方法及装置
US11657056B2 (en) 2016-09-15 2023-05-23 Oracle International Corporation Data serialization in a distributed event processing system
EP3584715B1 (en) 2016-09-15 2023-08-16 Oracle International Corporation Managing snapshots and state with micro-batching
US11093564B1 (en) 2016-09-26 2021-08-17 Splunk Inc. Identifying configuration parameters for a query using a metadata catalog
US11960498B2 (en) * 2016-09-29 2024-04-16 Microsoft Technology Licensing, Llc Systems and methods for dynamically rendering data lineage
US10545945B2 (en) * 2016-10-28 2020-01-28 Microsoft Technology Licensing, Llc Change monitoring spanning graph queries
AU2017367772B2 (en) * 2016-12-01 2020-05-14 Ab Initio Technology Llc Generating, accessing, and displaying lineage metadata
US10242223B2 (en) 2017-02-27 2019-03-26 Microsoft Technology Licensing, Llc Access controlled graph query spanning
WO2018169430A1 (en) 2017-03-17 2018-09-20 Oracle International Corporation Integrating logic in micro batch based event processing systems
WO2018169429A1 (en) 2017-03-17 2018-09-20 Oracle International Corporation Framework for the deployment of event-based applications
US10379825B2 (en) 2017-05-22 2019-08-13 Ab Initio Technology Llc Automated dependency analyzer for heterogeneously programmed data processing system
US10409832B2 (en) * 2017-06-12 2019-09-10 Sap Se Probing linear and non-linear relationships between entities in a network
US11068496B2 (en) * 2017-10-20 2021-07-20 Jpmorgan Chase Bank, N.A. System and method for data management
US11423083B2 (en) 2017-10-27 2022-08-23 Ab Initio Technology Llc Transforming a specification into a persistent computer program
US11238049B1 (en) * 2018-04-30 2022-02-01 Splunk Inc. Revising catalog metadata based on parsing queries
US11573955B1 (en) 2018-04-30 2023-02-07 Splunk Inc. Data-determinant query terms
US11392578B1 (en) 2018-04-30 2022-07-19 Splunk Inc. Automatically generating metadata for a metadata catalog based on detected changes to the metadata catalog
CN109213747B (zh) * 2018-08-08 2021-11-16 麒麟合盛网络技术股份有限公司 一种数据管理方法及装置
US11120062B2 (en) 2019-01-07 2021-09-14 International Business Machines Corporation Framework for analyzing graphical data by question answering systems
US11093483B2 (en) 2019-03-22 2021-08-17 Microsoft Technology Licensing, Llc Multilevel data lineage view
US11715051B1 (en) 2019-04-30 2023-08-01 Splunk Inc. Service provider instance recommendations using machine-learned classifications and reconciliation
US11093223B2 (en) 2019-07-18 2021-08-17 Ab Initio Technology Llc Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods
CN110851663B (zh) * 2019-11-05 2023-07-25 北京明略软件系统有限公司 管理元数据的方法和装置
US11475253B2 (en) 2019-11-15 2022-10-18 International Business Machines Corporation Data graph focus mode
CN111949662A (zh) * 2020-08-13 2020-11-17 北京字节跳动网络技术有限公司 数据展示方法和装置、存储介质和电子设备
DE102021202334A1 (de) * 2021-03-10 2022-09-15 Robert Bosch Gesellschaft mit beschränkter Haftung Filterung von betriebsszenarien im betrieb eines fahrzeugs
US11451448B1 (en) 2021-06-09 2022-09-20 Bank Of America Corporation System for cognitive technical architecture integration
CN115061982B (zh) * 2022-08-15 2022-10-25 四川科瑞软件有限责任公司 基于案件自定义的关系图构建方法、系统、终端及介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03294926A (ja) * 1990-04-12 1991-12-26 Nissan Motor Co Ltd プログラム開発支援装置
US5596746A (en) 1991-10-21 1997-01-21 General Electric Company Method for transforming relational data base schemas into object models using ideal table meta models
US5701453A (en) 1993-07-01 1997-12-23 Informix Software, Inc. Logical schema to allow access to a relational database without using knowledge of the database structure
US5734886A (en) 1994-11-16 1998-03-31 Lucent Technologies Inc. Database dependency resolution method and system for identifying related data files
US5809296A (en) 1994-11-29 1998-09-15 St Computer Systems & Services Ltd. Method and structure for clustering database tables into classes and presenting each class as an E-R model
US6718319B1 (en) * 1996-12-03 2004-04-06 Strategic Analysis, Incorporated Method and apparatus for formatting smart cards and card readers
US6346945B1 (en) 1998-12-28 2002-02-12 Klocwork Solutions Method and apparatus for pattern-based flowcharting of source code
US6609132B1 (en) 2000-04-11 2003-08-19 Revelink, Inc. Object data model for a framework for creation, update and view navigation of data objects and textual annotations of relations between data objects
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
JP4791660B2 (ja) * 2001-08-23 2011-10-12 日立公共システムエンジニアリング株式会社 データフロー自動生成装置とデータフロー自動生成方法およびコンピュータ読み取り可能な記録媒体
US7467125B2 (en) * 2002-12-12 2008-12-16 International Business Machines Corporation Methods to manage the display of data entities and relational database structures
US20050257193A1 (en) 2004-05-13 2005-11-17 Alexander Falk Method and system for visual data mapping and code generation to support data integration
US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
US7734619B2 (en) 2005-05-27 2010-06-08 International Business Machines Corporation Method of presenting lineage diagrams representing query plans
US20070214179A1 (en) * 2006-03-10 2007-09-13 Khanh Hoang Searching, filtering, creating, displaying, and managing entity relationships across multiple data hierarchies through a user interface
US7599947B1 (en) 2007-04-26 2009-10-06 Unisys Corporation Method and system for converting hierarchical database schemas into relational database schemas
US8407262B2 (en) 2007-08-30 2013-03-26 Industrial Technology Research Institute Systems and methods for generating an entity diagram

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671661B2 (en) 2012-08-31 2020-06-02 Facebook, Inc. Graph query logic
KR20160004334A (ko) * 2013-04-23 2016-01-12 아브 이니티오 테크놀로지 엘엘시 컴퓨팅 시스템에 의해 수행되는 태스크 제어
KR20170037636A (ko) * 2014-07-24 2017-04-04 아브 이니티오 테크놀로지 엘엘시 데이터 계통 요약
US10917283B2 (en) 2014-07-24 2021-02-09 Ab Initio Technology Llc Data lineage summarization
KR20160036944A (ko) * 2014-09-26 2016-04-05 삼성에스디에스 주식회사 데이터베이스 마이그레이션 방법 및 그 장치
KR20170117155A (ko) * 2015-02-11 2017-10-20 아브 이니티오 테크놀로지 엘엘시 필터링 데이터 계통 다이어그램

Also Published As

Publication number Publication date
CN101971165B (zh) 2013-07-17
KR101517460B1 (ko) 2015-05-15
AU2015207828A1 (en) 2015-08-20
CN101971165A (zh) 2011-02-09
AU2015207828B2 (en) 2017-06-15
WO2009108782A1 (en) 2009-09-03
CA2716114C (en) 2019-05-14
JP5643654B2 (ja) 2014-12-17
EP2260404A1 (en) 2010-12-15
US9910901B2 (en) 2018-03-06
US20170091345A1 (en) 2017-03-30
KR101510355B1 (ko) 2015-04-14
US20090216728A1 (en) 2009-08-27
AU2009219299A1 (en) 2009-09-03
US9760612B2 (en) 2017-09-12
AU2009219299B2 (en) 2015-05-07
US20180189361A1 (en) 2018-07-05
CA2716114A1 (en) 2009-09-03
KR20150005725A (ko) 2015-01-14
US10685030B2 (en) 2020-06-16
JP2011517352A (ja) 2011-06-02
EP2260404A4 (en) 2016-03-30

Similar Documents

Publication Publication Date Title
US10685030B2 (en) Graphic representations of data relationships
AU2018236912B2 (en) Managing and automatically linking data objects
US11698900B2 (en) Leveraging search query history in a search interface
KR102330547B1 (ko) 보고 생성 방법
US10845962B2 (en) Specifying user interface elements
JP5297802B2 (ja) グラフ型計算のためのメタデータ管理
US8489474B2 (en) Systems and/or methods for managing transformations in enterprise application integration and/or business processing management environments
JP4879908B2 (ja) 関係データオブジェクトの管理
US10503781B2 (en) Extending graph traversals with application logic
US7953767B2 (en) Developing applications using configurable patterns
Ravat et al. Algebraic and graphic languages for OLAP manipulations
US9171272B2 (en) Automated generation of analytic and visual behavior
US20110252049A1 (en) Function execution using sql
US20130218893A1 (en) Executing in-database data mining processes
Kurilov Developing a Reporting Web Application for Factory Production Efficiency Analysis
Zhu et al. Generic query toolkit: A query interface generator integrating data mining
Srinivas et al. An application synopsis tool for database applications developed using oracle application express

Legal Events

Date Code Title Description
A201 Request for examination
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180327

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190322

Year of fee payment: 5