KR101688555B1 - 데이터세트 요소의 매핑 - Google Patents

데이터세트 요소의 매핑 Download PDF

Info

Publication number
KR101688555B1
KR101688555B1 KR1020127006862A KR20127006862A KR101688555B1 KR 101688555 B1 KR101688555 B1 KR 101688555B1 KR 1020127006862 A KR1020127006862 A KR 1020127006862A KR 20127006862 A KR20127006862 A KR 20127006862A KR 101688555 B1 KR101688555 B1 KR 101688555B1
Authority
KR
South Korea
Prior art keywords
output
data set
data
input
validity
Prior art date
Application number
KR1020127006862A
Other languages
English (en)
Other versions
KR20120080572A (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 KR20120080572A publication Critical patent/KR20120080572A/ko
Application granted granted Critical
Publication of KR101688555B1 publication Critical patent/KR101688555B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/88Mark-up to mark-up conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/226Validation

Abstract

입력 데이터세트의 하나 이상의 요소를 출력 데이터세트의 하나 이상의 요소에 매핑하는 것은, 소정의 출력과 입력 변수로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 인터페이스에서 수신하는 과정으로서, 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식을 포함하며, 변환식이 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서 매핑된 관계의 출력을 정의하는 수신하는 과정, 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 인터페이스에서 수신하는 과정, 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 과정, 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 과정, 및 판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 과정을 포함한다.

Description

데이터세트 요소의 매핑{MAPPING DATASET ELEMENTS}
본 개시는 데이터세트 요소의 매핑에 관한 것이다.
일부 데이터베이스 또는 데이터 웨어하우스 시스템에서는, 하나의 데이터세트("소스" 또는 "입력" 데이터세트)의 요소가 다른 데이터세트("출력" 또는 "타겟" 데이터세트)의 요소에 매핑된다. 이들 요소는, 예를 들어 데이터베이스 테이블의 필드 또는 데이터 오브젝트의 속성을 포함할 수 있다. 입력 데이터세트의 레코드(예를 들어, 테이블의 열)는 적절한 출력 필드에 매핑되는 적절한 입력 필드를 가진 출력 데이터세트에 들여올 수 있다. 출력 포맷을 만족시키기 위해 변환될 데이터 값을 요구하는 출력 데이터세트의 포맷과 입력 데이터세트의 포맷 간에는 차이가 있을 수 있다. 일부의 경우에, 예를 들어, 데이터 품질을 보장하거나 출력 데이터세트의 원하는 특성을 만족시키기 위해, 추가의 데이터 변환이 적용된다. 매핑 프로세스는 여러 스킬 레벨(예를 들어, 초보자 또는 전문가) 또는 여러 관심 영역(예를 들어, 사업 또는 기술)을 갖는 여러 사용자 사이에서의 상호작용을 포함할 수 있다.
본 개시의 하나의 관점으로서, 일반적으로, 입력 데이터 처리 시스템에 기억된 입력 데이터세트(input dataset)의 하나 이상의 요소를 입력 데이터 처리 시스템에 기억된 출력 데이터세트의 하나 이상의 요소에 매핑하는 방법이 개시된다. 본 방법은, 소정의 출력과 입력 변수(input variable)로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 인터페이스에서 수신하는 수신 단계로서, 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식(transformational expression)을 포함하며, 변환식은 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 수신 단계; 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 인터페이스에서 수신하는 단계; 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 단계; 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준(validation criteria)에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 단계; 및 판정된 유효성 정보에 기초해서, 시각적 피드백(visual feedback)을 인터페이스에서 제시하는 단계를 포함한다.
본 개시의 관점은 이하의 특징 중의 하나 이상을 포함할 수 있다.
본 방법은 매핑된 관계에 따라, 입력 데이터를 입력 데이터세트로부터 출력 데이터세트로 불러오는(import) 단계를 더 포함한다.
입력 데이터를 불러오는 단계는, 입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하는 단계와, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 단계를 더 포함하며, 입력 레코드의 적어도 몇몇 필드는 입력 변수에 매핑된 입력 데이터세트의 요소에 대응하며, 출력 레코드의 적어도 몇몇 필드는 각각의 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소에 대응한다.
입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하는 단계와, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 단계는, 데이터 처리 성분을 나타내는 노드(node), 데이터 처리 성분들 사이에서의 데이터 흐름을 나타내는 링크(link), 입력 레코드의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 레코드의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함하는 데이터 흐름 그래프를 실행하는 단계를 포함한다.
본 방법은 매핑 관계를 특정하는 매핑(mapping)을 기억하는 단계를 더 포함한다.
유효성 정보를 판정하는 단계는, 유효성 기준의 기억된 사양을 검색(retrieve)하는 단계를 포함한다.
인터페이스는 데이터 처리 시스템에 의해 제공되며 제1 사용자에게 제시되고, 유효성 기준의 사양은 제2 사용자로부터 수신된다.
본 방법은 생성된 출력 데이터를 나타내는 값을 상기 인터페이스에서 제시하는 단계를 더 포함한다.
유효성 정보를 판정하는 단계는, 변환식을 포함하는 매핑된 관계를 각각 변환하기 위해 생성된 출력 데이터를, 변환하는 매핑된 관계의 출력에 매핑된 출력 데이터세트의 식별된 요소와 연관된 유효성 기준에 기초하여 평가하는 단계를 포함한다.
매핑된 관계는 변환식을 포함하는 다수의 변환하는 매핑된 관계를 포함한다.
유효성 기준은, 식별된 제1 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제1 요소와 연관된 제1 유효성 기준과, 식별된 제2 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 식별된 제2 요소와 연관된 제2 유효성 기준을 포함한다.
유효성 정보는 식별된 제1 요소에 대응하는 제1 필드와 식별된 제2 요소에 대응하는 제2 필드를 포함하는, 생성된 출력 레코드에 따라 판정된다.
제1 유효성 기준은 출력 레코드의 제2 필드 내의 값에 의해 정해진다.
유효성 정보는 출력 레코드의 제1 필드 내의 값과 출력 레코드의 제2 필드 내의 값에 의해 정해진다.
본 방법은 변환식을 위한 유효 구조를 나타내는 구문 정보(syntax information)를 판정하는 단계를 더 포함한다.
본 방법은 판정된 구문 정보에 기초하여, 시각적 피드백을 인터페이스에서 제시하는 단계를 더 포함한다.
본 방법은 변환식에 대한 수신된 사용자 변경에 기초하여 변경된 변환식을 허용하는 단계를 더 포함한다.
본 방법은 입력 데이터세트로부터의 입력 데이터에 기초하여, 변경된 변환식에 따라 데이터 처리 시스템으로부터 변경된 출력 데이터를 생성하는 단계를 더 포함한다.
본 방법은, 생성된 변경된 출력 데이터에 따라 변경된 유효성 정보를 판정하는 단계와, 변경된 유효성 정보에 기초하여 인터페이스에서 시각적 피드백을 제시하는 단계를 더 포함한다.
변경된 출력 데이터를 생성하는 단계와 변경된 유효성 정보에 기초하여 시각적 피드백을 제시하는 단계는 변환식이 변경되는 동안에 수행된다.
변경된 출력 데이터를 생성하는 단계와 변경된 유효성 정보에 기초하여 시각적 피드백을 제시하는 단계는 변환식이 변경된 이후에 사용자의 요청에 따라 수행된다.
입력 데이터세트로부터의 입력 데이터는 변환식을 적용하는 데이터 흐름 그래프의 성분에 대한 데이터 흐름을 나타내는 링크에 따라 수신되며, 데이터 흐름 그래프는 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 데이터의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함한다.
출력 데이터세트에 기억된 생성된 출력 데이터는 변환식을 적용하는 데이터 흐름 그래프의 성분으로부터 데이터의 흐름을 나타내는 링크에 따라 출력 데이터세트에 제공되며, 데이터 흐름 그래프는, 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 데이터의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함한다.
적어도 제1 매핑된 관계는 제1 매핑된 관계를 적용하는 데이터 흐름 그래프의 성분의 선택에 따라 수신되며, 데이터 흐름 그래프는 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 레코드의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함한다.
시각적 피드백은 인터페이스에 표시된 계통도(lineage diagram)의 다수의 노드 중의 하나에 대한 유효성 정보를 나타내는 지시자(indicator)를 포함하며, 노드는 출력 데이터세트의 하나 이상의 식별된 요소와 연관된 하나 이상의 변환된 값을 포함하는 변환된 값을 나타낸다.
시각적 피드백은 인터페이스에 표시된 계통도의 다수의 노드 중의 노드와 각각 연관된 다수의 지시자를 포함한다.
지시자와 연관된 노드 중의 적어도 일부는 노드에 의해 표현되는 변환된 값들 사이의 의존성(dependency)을 나타내는 링크에 의해 연결된다.
시각적 피드백은 출력 데이터세트의 하나 이상의 식별된 요소를 나타내는 하나 이상의 출력 요소를 포함하는 인터페이스에 표시된 다수의 출력 요소 중에서 출력 요소와 각각 연관된 다수의 지시자를 포함한다.
인터페이스에 표시된 다수의 출력 요소는 변환식의 입력 데이터의 레코드에의 적용의 결과를 나타내는 필드에 대응한다.
하나 이상의 지시자는 필드에 대한 값의 열(row)에 대한 유효성 정보를 지시하며, 열은 변환식을 입력 데이터의 단일 레코드에 적용한 출력 값을 나타낸다.
하나 이상의 지시자는 필드에 대한 값의 컬럼(column)에 대한 유효성 정보를 지시하며, 컬럼은 입력 데이터의 각각의 레코드에 단일의 변환식을 여러 번 적용한 결과를 나타낸다.
시각적 피드백은 유효성 정보에 기초하여 계산된 통계치(statistics)를 포함하며, 통계치는 입력 데이터의 다수의 레코드에 유효성 기준을 적용한 결과를 나타내는 데이터를 포함한다.
통계치는 규칙적인 기간마다 계산된다.
시각적 피드백은 유효성 기준과 연관된 고객 에러 메시지를 포함하며, 고객 에러 메시지는 입력 데이터의 레코드에 유효성 기준을 적용한 특정 경우의 결과에 대한 정보를 나타낸다.
본 방법은, 입력 변수에 독립적인 하나 이상의 상수로서 정의된 출력을 인터페이스에서 수신하는 단계를 더 포함한다.
본 방법은, 변환식의 결과를 나타내는 예측 값을 수신하는 단계를 더 포함하며, 유효성 정보를 판정하는 단계는, 변환식을 포함하는 각각의 변환하는 매핑된 관계에 대해 생성된 출력 데이터를 예측 값과 비교하는 단계를 포함한다.
다른 관점으로서, 일반적으로, 입력 데이터세트의 하나 이상의 요소를 출력 데이터세트의 하나 이상의 요소에 매핑하기 위한 시스템을 개시한다. 본 시스템은, 입력 데이터세트를 기억하는 입력 데이터 기억 시스템; 출력 데이터세트를 기억하는 출력 데이터 기억 시스템; 및 사용자 입력을 수신하고 데이터의 처리 결과를 제시하기 위한 인터페이스를 제공하도록 구성된 데이터 처리 시스템을 포함하며, 상기 사용자 입력을 수신하고 데이터의 처리 결과를 제시하는 과정은, 소정의 출력과 입력 변수로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 인터페이스에서 수신하는 수신 단계로서, 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식을 포함하며, 변환식은 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 수신 단계; 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 인터페이스에서 수신하는 단계; 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 단계; 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 단계; 및 판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 단계를 포함한다.
다른 관점으로서, 일반적으로, 입력 데이터세트의 하나 이상의 요소를 출력 데이터세트의 하나 이상의 요소에 매핑하기 위한 시스템이 개시된다. 본 시스템은, 입력 데이터세트를 기억하기 위한 수단; 출력 데이터세트를 기억하기 위한 수단; 및 사용자 입력을 수신하고 데이터의 처리 결과를 제시하기 위한 인터페이스를 제공하기 위한 수단을 포함하며, 상기 사용자 입력을 수신하고 데이터의 처리 결과를 제시하는 과정은, 소정의 출력과 입력 변수로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 인터페이스에서 수신하는 수신 단계로서, 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식을 포함하며, 변환식은 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 수신 단계; 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 인터페이스에서 수신하는 단계; 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 단계; 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 단계; 및 판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 단계를 포함한다.
다른 관점으로서, 일반적으로, 컴퓨터로 판독가능한 매체는 입력 데이터세트의 하나 이상의 요소를 출력 데이터세트의 하나 이상의 요소에 매핑하기 위한 컴퓨터 프로그램을 기억한다. 컴퓨터 프로그램은, 컴퓨터로 하여금, 소정의 출력과 입력 변수로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 인터페이스에서 수신하도록 하는데, 매핑된 관계 중의 적어도 하나가 데이터 처리 시스템에서 실행가능한 변환식을 포함하고, 변환식이 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 매핑된 관계를 인터페이스에서 수신하도록 하며; 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 인터페이스에서 수신하도록 하며; 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하도록 하며; 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하도록 하고; 및 판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하도록 하는 명령어를 포함한다.
본 개시의 관점은 이하의 장점 중의 하나 이상을 포함할 수 있다.
일부의 경우에, 입력 데이터세트가 입력 데이터세트에 매핑되는 경우에(예를 들어, 데이터 피드를 데이터 웨어하우스에 로딩할 때에), 입력 데이터세트는 다수의 필드(예를 들어, 수천 개의 필드)를 가질 수 있으며, 출력 데이터세트는 이보다 적은 수의 필드(예를 들어, 백 개 이하의 필드)를 가질 수 있다. 데이터 관리 시스템은 하나 이상의 입력 필드로부터 소정의 출력 필드로 정보를 어떻게 매핑하는지에 대한 사양을 제공하는 매핑을 사용한다. 데이터 관리 시스템에 대한 사용자 인터페이스는 사용자로 하여금 매핑을 설정("매핑 프로세스" 동안)할 수 있도록 한다.
사용자 인터페이스는 비교적 경험이 적은 사용자가 테스트 값과 유효성 정보를 볼 수 있도록 해서 사용자가 매핑 결과가 의도한 것과 매칭되는지를 검증해서 에러를 줄일 수 있도록 하는 테스트 및 검증 특징을 포함한다. 검증 특징에 의하면, 더 경험이 많은 사용자가 유효성 규칙을, 추후에 매핑 프로세스 동안 적용될 수 있는 출력 데이터세트의 요소와 미리 연관시킬 수 있다. 예를 들어, 한 명 이상의 숙련 사용자는 출력 데이터 기억 시스템 내에 기억된 출력 데이터세트가 여러 다양한 입력 데이터 기억 시스템에 기억된 다수의 입력 데이터 세트로부터 데이터용의 레포지토리로서 기능하게 되는 요건에 관한 지식을 가질 수 있다. 숙련 사용자가 입력 데이터 세트의 모든 필드를 출력 데이터세트의 적절한 필드에 매핑할 수 없을 수 있다. 사용자 인터페이스에 의하면, 여러 초보 사용자가 입력 데이터세트의 각각에 대한 매핑을 제공할 수 있으며, 숙련된 사용자가 하지 않은 초보 사용자에 의해 만들어질 수 있는 에러를 처리하기 위해 또는 초보 사용자가 알지 못하는 출력 데이터세트와 연관된 소정의 협약을 만족시키기 위해 숙련된 사용자가 유효 기준을 행할 수 있는 방법을 제공한다.
더 숙련되거나 더 기술적인 사용자에 의해 제공되는 규칙에 기초한 테스트 및 유효성을 사용자 인터페이스에 통합함으로써, 덜 숙련되거나 덜 기술적인 사용자에 의해 생길 수 있는 에러 또는 불일치를 나중에 하는 것(시스템 통합 프로세스 동안)보다 더 빨리(매핑 프로세스 동안) 처리할수 있다. 크기 정도의 비용 절감은 이들 에러 또는 불일치를 더 신속하게 처리함으로써 이루어질 수 있다. 여러 사용자 그룹이 문제점을 쟁점화하고 식별하는데에 필요한 시간을 감소시키는 것뿐만 아니라 이들이 식별되는 때의 문제점을 더 용이하게 보정할 수 있다.
본 발명의 다른 특성과 장점은 이하의 상세한 설명과 청구범위로부터 명백할 것이다.
도 1은 데이터세트 요소를 매핑하기 위한 시스템의 예를 나타낸다.
도 2는 데이터 관리 시스템의 예를 나타낸다.
도 3a는 데이터 처리 그래프의 예를 나타낸다.
도 3b는 변환의 예를 나타낸다.
도 4는 규칙 엔트리 인터페이스의 예를 나타낸다.
도 5는 변환 뷰 인터페이스 및 관련 요소의 예를 나타낸다.
도 6은 변환 뷰 인터페이스의 동작 과정을 나타내는 플로차트이다.
도 7a-7h는 변환 뷰 인터페이스의 동작 예를 나타낸다.
도 8은 변환 뷰 인터페이스의 예를 나타낸다.
도 9는 계통도의 예를 나타낸다.
도 10은 변환 뷰 인터페이스의 예를 나타낸다.
도 11은 유효성 규칙 인터페이스의 예를 나타낸다.
도 1을 참조하면, 데이터세트 요소를 매핑하고 매핑된 데이터세트 요소에 따라 데이터를 처리하기 위한 시스템(10)은, 기억 장치 또는 온라인 데이터 스트림과 같은 하나 이상의 데이터의 소스를 포함할 수 있는 데이터 소스(12)를 포함한다. 이들 소스는 데이터를 다양한 기억 포맷(예를 들어, 데이터베이스 테이블, 스프레드시트 파일, 플랫 텍스트 파일, 또는 메인프레임에 의해 사용되는 네이티브 포맷) 중의 임의의 형태로 기억할 수 있다. 실행 환경(14)은 데이터세트 매핑 모듈(16)과 데이터세트 처리 모듈(22)을 포함한다. 실행 환경(14)은 UNIX 운영 체제 등의 적절한 운영 체제의 제어에 따라 하나 이상의 범용 컴퓨터에서 호스트될 수 있다. 예를 들어, 실행 환경(14)은 다수의 중앙 처리 장치(CPU), 로컬(예를 들어, SMP 컴퓨터 등의 마이크로프로세서 시스템), 또는 로컬로 분산(예를 들어, 클러스터 또는 MPP로서 결합된 다중 프로세서)되거나 원격으로, 또는 원격으로 분산(예를 들어, LAN 또는 WAN 네트워크를 통해 연결된 다중 프로세서), 또는 이들의 조합을 사용하여 컴퓨터 시스템의 설정을 포함하는 다중 노드 병렬 컴퓨팅 환경을 포함할 수 있다.
데이터세트 매핑 모듈(16)은, 이하 더 상세하게 설명되는 바와 같이, 입력 데이터세트와 출력 데이터세트 사이에서 데이터를 매핑하기 위한 매핑 정보를 기억한다. 데이터세트 처리 모듈(22)은 데이터 소스(12)에 기억된 입력 데이터세트로부터 데이터를 판독하고, 예를 들어 데이터에 사용될 변환식(transformational expression)을 포함하는 데이터 기억 시스템(26)에 기억된 매핑 정보(24)에 기초하여, 기억된 매핑 정보에 따라 데이터를 처리한다. 데이터 소스(12)를 제공하는 기억 장치는 실행 환경(14)에 대해 로컬이 되어, 실행 환경(14)을 구동시키는 컴퓨터에 연결된 기억 매체(예를 들어, 하드 디스크(18))에 기억되거나, 실행 환경(14)에 대해 원격이 되어, 예를 들어, 로컬 또는 광역 데이터 네트워크를 통해 실행 환경(14)을 구동시키는 컴퓨터와 통신이 가능한 원격 시스템(예를 들어, 메인프레임(20))에서 호스트된다.
데이터세트 매핑 모듈(16)은 매핑되는 데이터에 기초하여 시각적 표현을 사용자에게(예를 들어, 디스플레이에 표시된 사용자간 인터페이스를 통해) 표시한다. 데이터 기억 시스템(26)은 개발자(30)가 데이터 기억 시스템(26)에 기억되어 데이터를 처리 및 표시하기 위해 데이터 처리 모듈(22)에 의해 사용되는 프로그램을 개발할 수 있는 개발 환경(28)에 액세스할 수 있다. 개발 환경(28)은 일부 구현 예에서는, 애플리케이션을 정점(컴포넌트 또는 데이터세트)과 정점 사이를 연결하는 방향성 링크(작업 요소의 흐름을 나타냄)를 포함하는 데이터 흐름 그래프로서 개발하기 위한 시스템이다. 예를 들어, 이러한 환경은 "Managing Parameters for Graph-Based Applications"라는 명칭의 미국 공개번호 제2007/0011668호에 구체적으로 개시되어 있으며, 이 문헌의 내용을 본원에 참조에 의해 원용한다.
데이터세트 처리 모듈(22)은 데이터베이스 시스템의 여러 형식을 포함하는 다양한 유형의 시스템으로부터 데이터를 처리할 수 있다. 데이터는 각각의 필드("속성" 또는 "컬럼"이라고도 함)에 대한 값을 갖는, 어떤 경우에는 널 값(null value)을 갖는 레코드로서 구성될 수 있다. 먼저, 데이터 소스로부터 데이터를 판독하는 경우, 데이터세트 처리 모듈(22)은 해당 데이터 소스 내의 레코드에 관한 일부 초기 포맷 정보에 의해 개시하는 것이 전형적이다(어떤 경우에는, 데이터 소스의 레코드 구조를 처음에는 알지 못할 수 있고 대신에 데이터 소스의 분석 이후에 정해질 수도 있다). 레코드에 관한 초기 정보로는, 개별 값을 나타내는 비트의 수, 레코드 내의 필드의 순서, 및 비트에 의해 표현되는 값의 타입(예를 들어, 문자열, 부호있는/부호없는 정수) 등이 있다. 데이터세트 처리 모듈(22)이 데이터 소스로부터 레코드를 판독함에 따라, 데이터세트 처리 모듈은 변환식을 사용하여 중간 데이터 및 출력 데이터를 생성한다. 데이터세트 매핑 모듈(16)은 이러한 데이터에 액세스할 수 있으며 데이터 표현을 데이터세트 매핑 모듈(16)의 사용자 인터페이스 내의 사용자에게 표시할 수 있다.
도 2는 시스템(10)을 사용하여 구현될 수 있는, 하나의 데이터세트의 요소를 다른 데이터세트의 요소로 매핑하기 위한 데이터 관리 시스템(300)의 예를 나타낸다. 본 예에서, 시스템(300)은 입력 데이터 기억 시스템에 기억된 하나 이상의 입력 데이터세트(310a, 310b)를 포함하고, 개별의 입력 데이터세트(예를 들어, 데이터베이스 테이블)는 시스템(300)에 대한 입력으로 기능할 수 있는 다수의 개별 요소를 가질 수 있다. 입력 데이터세트(310a)는 입력(312a, 312b, 312c, 312d)(예를 들어, 데이터베이스 테이블의 필드 또는 컬럼). 또한, 데이터 관리 시스템(300)은 출력 데이터 기억 시스템(입력 데이터 기억 시스템과 동일할 수 있음)에 기억된 하나 이상의 출력 데이터세트(320a, 320b)를 포함하며, 개별의 출력 데이터세트(예를 들어, 데이터베이스 테이블)는 시스템(300)에 대한 출력으로 기능할 수 있는 다수의 개별 요소를 가질 수 있다. 출력 데이터세트(320a)는 출력(322a, 322b, 322c, 322d)(예를 들어, 데이터베이스 테이블의 필드 또는 컬럼)을 갖는다. 데이터 관리 시스템(300)은 입력(312)과 출력(322) 사이의 매핑 관계를 나타내는 매핑(340)을 가지며, 입력에서 출력으로 매핑되는 요소와 관련된 특정 값 또는 특성을 임의 선택적으로 변환한다. 데이터 관리 시스템(300)은 매핑에 의해 정의된 변환식을 실행하고 사용자 인터페이스를 통해 사용자와 상호작용하기 위한 데이터 처리 시스템(예를 들어, 데이터세트 처리 모듈(22)에 의해 실행되는 데이터 흐름 그래프)을 포함하며, 데이터베이스 서버(350) 또는 다른 컴퓨팅 시스템과 관련하여 동작할 수 있다. 일례로, 데이터 관리 시스템(300)의 데이터 처리 시스템은 입력 데이터세트(310a)로부터 출력 데이터세트(320a)로 데이터를 불러오고, 입력 데이터세트(310a)로부터 출력 데이터세트(320a)로 불러오는 데이터(예를 들어, 개별 레코드)에 대해 변환을 적용하기 위해 매핑(340)을 사용한다. 일례로, 데이터 관리 시스템(300)의 데이터 처리 시스템은 매핑(340)을 사용하여 추후에 데이터에 적용될 변환식을 사용자가 설계하거나 및/또는 데이터를 불러오기 위한 다른 데이터 처리 시스템을 사용하는 데에 도움을 준다.
이들 도면에서, 굵은 선으로 된 닫힌 화살표는 데이터의 흐름을 나타내며, 점선으로 된 열린 화살표는 도면의 설명에서 명시하는 바와 같이 다른 종류의 연관을 나타낸다.
일부 입력은 일부 출력에 직접 매핑될 수 있다. 예를 들어, 데이터 관리 시스템(300)은 변환을 수행하지 않고 입력(312a)을 출력(322a)에 직접 전달한다. 입력(312a)은 "Last Name"이라고 부르는 필드에 대응하고, 출력(322a)은 "LName"이라고 부르는 필드에 대응할 수 있다. 이들 필드는 동일한 데이터 논리 값을 동일한 포맷으로 기억하도록 되어 있기 때문에, 입력 데이터세트(310a)의 레코드가 출력 데이터세트(320a)로 불러올 때에 데이터 값의 변환은 필요하지 않을 것이다. 일부 입력은 출력에 매핑될 수 있으며, 데이터 관리 시스템(300)은 입력과 연관된 데이터를 변환할 수 있다. 예를 들어, 입력(312c)에 의해 데이터 관리 시스템(300)에 의해 매핑되는 요소는 계산을 수행함으로써 또는 해당 요소에 연관된 데이터 값이나 해당 요소와 연관된 특성값을 변화시키는 식을 적용함으로써 변환될 수 있다(예를 들어, 입력 데이터세트(310a)의 레코드의 소정의 필드 내의 데이터 값은 이들 레코드가 출력 데이터세트(320a)로 불러올 때에 변환된다). 변환은 데이터 값을 동일하게 유지하면서 데이터 타입을 변환하는 것을 포함할 수 있으며, 아니면 예를 들어 측정 단위 또는 캐피털라이제이션(capitalization) 등의 특성값을 변화시키기 위해 데이터 값을 변환하는 것을 포함할 수 있다. 일부 입력은 출력에 매핑될 수 있으며, 데이터 관리 시스템(300)은 미리정해진 기준에 따르는 변수 형태로 입력을 변환할 수 있다. 예를 들어, 입력(312d)에 의해 데이터 관리 시스템(300)에 의해 매핑되는 요소와 연관된 데이터 중의 일부는 소정의 기준에 따라 적용되는 하나의 변환식을 가질 수 있으며, 동일한 입력(312d)에 의해 데이터 관리 시스템(300)에 의해 매핑되는 요소와 연관된 다른 데이터는 소정의 기준에 따라 적용되는 다른 변환식을 가질 수 있다. 어떤 변환식을 데이터에 적용할지를 판정하기 위한 기준은, 예를 들어 데이터 관리 시스템(300)의 계산 로직(302)에 의해 정해질 수 있다. 계산 로직(302)은, 이하 더 상세하게 설명하는 바와 같이, 사용자 인터페이스 내에 규칙을 정하거나 사용자가 식을 입력함으로써 제공될 수 있다. 또한, 이들 예에서, 입력(312b, 312c)으로부터의 데이터를 출력(322b)에 매핑되는 데이터를 생성하는 데에 사용하는 것과 같이, 변환은 단일의 출력에 매핑되는 데이터를 생성하기 위해 하나 이상의 입력으로부터 데이터에 대해 작용할 수 있다. 예를 들어, 출력(322b)은 값이 입력(312b, 312c)에 대응하는 필드의 값의 함수인 필드에 대응할 수 있다. 따라서, 소정의 출력과 하나 이상의 입력 사이의 매핑된 관련성은 단일 입력의 식별 또는 하나 이상의 식별된 입력에 적용되는 변환식의 사양을 포함할 수 있다. 하나 이상의 입력을 출력에 매핑하는 데에 사용되는 변환식은 적용될 식이나 수행될 계산을 정의하는 데이터 구조의 형태를 취할 수 있으며, 이하 상세하게 설명하는 바와 같이, 다양한 데이터 처리 문맥에 사용될 수 있는 변환식을 말한다. 데이터 관리 시스템(300)에서의 매핑(340)은 일련의 변환식(130a, 130b, 130c, 130d)을 사용하여 구현된다.
변환은 하나 이상의 가능한 출력을 생성하기 위해 하나 이상의 입력에서 수행되는 동작을 정의한다. 일례로, 변환식은 처음에는 미리 정해진 포맷을 가진 데이터 구조로서 저장되고, 나중에 실행가능한 형태로 컴파일된다. 변환식은 데이터 흐름을 나타내는 링크 요소에 의해 연결된 데이터 처리 성분을 갖는 데이터 흐름 그래프 등의 그래프 기반의 계산의 문맥에 사용될 수 있다. 예를 들어, 도 3a의 단순한 데이터 흐름 그래프(130)는 입력으로서 2개의 데이터세트(132, 134)(예를 들어, 항공사의 단골 고객 데이터 및 비행 예약 데이터)을 가지며, 데이터를 별개의 포맷 성분(136, 138) 내의 각각의 세트로 포맷함으로써, 이들이 함께 사용될 수 있고, 이들을 결합 성분(140)에서 결합하여, 출력 데이터세트(142)를 생성할 수 있다. 변환식은 그래프(130)에서와 같이, 그래프 기반의 계산에 의해 자체적으로 구현되거나, 그래프(130)가 구성되는 개별 성분(136, 138, 140) 등의 그래프의 성분 내에서 구현될 수 있다.
변환식은 "비지니스 규칙"(business rule)이라고 부르는 데이터 처리 구성을 사용하여 구현될 수도 있다. 비지니스 규칙은, 예를 들어, 데이터를 하나의 포맷에서 다른 포맷으로 전환하고, 데이터에 관한 판정을 행하고, 입력 데이터세트에 기초하여 새로운 데이터를 생성하기 위해 사용될 수 있는 일련의 기준으로서 표현될 수 있다. 예를 들어, 도 3b에서, 비행 예약 시스템의 레코드(102)는 승객의 이름(104), 승객이 금년 마일리지(106), 승객의 티켓의 클래스(108), 승객이 앉는 좌석 열(110)을 나타낸다. 비지니스 규칙은 이러한 승객이 보딩 그룹 1에 들어가야 한다는 것을 나타낸다. 비지니스 규칙은 "제1 클래스의 승객은 그룹 1에"와 같이 일반적으로 이해하기가 쉽지만, 데이터를 조작하기 위해 사용하기 전에 컴퓨터가 이해할 수 있는 것으로 번역하여야 한다. 비지니스 규칙은 입력 데이터세트(100) 등의 하나 이상의 데이터 소스로부터 레코드(102) 등의 입력 레코드를 수신하고, 승객의 이름(104)과 승객이 어느 그룹인지(118)를 나타내는 레코드(114) 등의 출력 레코드를 출력 데이터세트(120)에 삽입하는 변환식(112)을 사용하여 구현될 수 있다. 입력 및 출력 데이터세트는 데이터 스트림이라고도 한다.
비전문가 사용자를 위한 비지니스 규칙을 구현하는 변환식의 생성 및 조작을 단순하게 하기 위해, 이러한 사용자가 규칙 세트라고 부르는 하나 이상의 비지니스 규칙의 세트를 사용자가 친숙한 형태로 취급할 수 있도록 하는 도구가 제공된다. 이러한 규칙 세트는 컴퓨터 시스템에게 이들이 변환식을 실행하길 원하는 것을 알려준다. 규칙 세트는 단일의 변환식을 생성하는 규칙 세트이다. 규칙은 입력에 따라 규칙의 출력에 대한 여러 상이한 값들을 계산하는 하나 이상의 규칙 케이스로 이루어질 수 있다. 규칙은 다른 규칙을 포함할 수도 있다. 규칙 세트 내의 일부 규칙은 추가의 또는 대체가능한 출력에 대한 값을 생성할 수 있다. 규칙 세트는 "내포된" 규칙 세트라고 하는 다른 규칙 세트를 포함할 수 있다.
도 4는 비지니스 규칙의 특성을 특정하기 위한 사용자 인터페이스의 예인 비지니스 규칙 에디터(200)를 나타낸다. 비지니스 규칙 에디터(200)는 입력 데이터세트의 요소를 출력 데이터세트의 요소에 매핑하고 데이터 관리 시스템(300)에 사용되는 대응하는 매핑(340)을 생성하기 위한 사용자 인터페이스의 성분이 될 수 있다. 비지니스 규칙의 출력은 왼쪽에 표시되고 비지니스 규칙의 출력은 오른쪽에 표시된다. 비지니스 규칙 에디터(200) 내의 트리거 컬럼(202, 204, 206, 208)은 이용가능한 데이터 값에 대응하며, 열(210a-h)은 규칙 케이스, 즉 이용가능한 데이터 값에 관련된 기준 세트에 대응한다. 규칙 케이스는 규칙 케이스가 기준을 갖는 각각의 트리거 컬럼에 대해 해당 레코드의 데이터 값이 트리거링 기준을 만족하는 경우에 소정의 레코드(예를 들어, 도 1a의 102)에 적용한다. 규칙 케이스가 적용되면, 하나 이상의 출력 컬럼(212)에 기초하여 출력이 생성된다. 모든 입력 관련성이 만족되는 규칙 케이스를 "트리거된" 것이라고 할 수 있다. 각각의 출력 컬럼(212)은 잠재 출력 변수에 대응하고, 적용가능한 열(210a-h)의 대응하는 셀 내의 값은, 해당 변수에 대한 출력을 결정한다. 셀은 변수에 할당되는 값을 포함할 수 있거나, 출력 값을 생성하기 위해 평가되어야 하는 식을 포함할 수 있다. 이에 대해서는 나중에 설명한다. 출력 컬럼은 도 4에서는 하나만 도시되어 있지만, 하나 이상도 가능하다.
비지니스 규칙의 편집과 관련해서, 출력 변수는 입력 변수의 단순히 이름인 식을 포함하는 식인 "디폴트 값"을 갖는다. 출력 변수는 더 복잡한 로직을 나타내는 규칙에 의해 계산될 수 있다. 사용자가 비지니스 규칙을 편집하는 경우에, 사용자는 출력 변수를 볼 수 있으며, 사이드 바(sidebar)로부터 입력 변수를 출력 변수에 대응하는 디폴트 값 셀으로 드래그함으로써 매핑을 설정한다. 사용자는 출력 변수에 대한 디폴트 값 식을 직접 편집할 수 있다. 또한, 특정의 출력을 계산하기 위해 더 진보된 로직이 필요한 경우, 사용자는 해당 출력을 계산하기 위해 하나 이상의 규칙을 생성할 수 있다.
비지니스 규칙을 편집할 때에, 사용자는 출력 변수에 관한 기술적 정보를 포함하는 출력 변수 그리드(output variable grid) 내에 디폴트 값을 할당할 수 있다. 예를 들어, 사용자는 규칙 세트를 나타내는 주요 형식으로부터 출력을 위한 규칙을 생성할 수 있다. 매핑(340)을 생성하기 위한 사용자 인터페이스의 일례로서, 사용자가 규칙을 생성하는 경우, 사용자는 디폴트 값을 보게 될 것이며, 사용자가 디폴트 값을 할당하는 경우, 대응하는 규칙을 이용할 수 있게 된다.
비지니스 규칙은 비전문가인 사용자에 의해 생성되고 조작될 수 있기 때문에, 사용자 그룹은 의도하는 기능을 수행하는 규칙을 생성 및 조작하기 위한 능력을 바꿀 수 있다. 일부 사용자는 비지니스 규칙의 생성 및 조작 방법을 제대로 이해하지 못할 수 있지만, 다른 사용자는 비지니스 규칙을 생성 및 조작하기 위한 모든 특성을 잘 이해할 수 있을 것이다. 또한, 일부 사용자는 비지니스 규칙의 기초적인 의미, 예를 들어 실세계에서의 응용을 충분히 이해하여야 하지만, 다른 사용자는 비지니스 규칙을 사용 중에 적용하는 방법을 알지 못할 수 있다. 예를 들어, 소득세에 대해 잘 알지 못하는 사용자는 소득세 신고를 하기 위해 사용되는 비지니스 규칙의 목적을 충분히 이해하지 않아도 된다. 비지니스 규칙의 실제 적용에 대한 사용자의 지식은 비지니스 규칙에 관한 사용자의 기술적 지식과는 무관할 수 있다. 예를 들어, 기술적 지식은 많지만 응용 지식이 부족한 사용자는 비지니스 규칙을 생성할 수는 있지만, 응용 숙련된 사용자는 비지니스 규칙을 검토해서 비지니스 규칙을 사용하는 경우에 그 의도된 목적을 달성할 수 있을 것이다. 이 경우, 기술적 숙련된 사용자는 비지니스 규칙의 응용에 대해서는 초보 사용자로서 취급될 수 있지만, 높은 응용 지식을 가진 사용자는 비지니스 규칙의 적용에 대해서는 전문적 사용자로서 취급될 수 있다. 다른 예로서, 기술적으로 전문 지식을 가진 사용자는 기술적 지식이 부족한 사용자가 만든 비지니스 규칙을 검토해서 이러한 비지니스 규칙이 기술적 요건을 만족하는지를 판단할 수 있다. 이들 예에서, 기술적으로 전문 지식을 가진 사용자는 전문가 사용자로서 취급될 수 있으며, 기술적 지식이 부족한 사용자는 초보 사용자로서 취급될 수 있다. 또한, 일부 시스템은 다수의 사용자가 생성한 많은 비지니스 규칙을 가질 수 있는데, 사용자들은 전체 규칙 중의 작은 부분만을 생성하게 된다. 각각의 규칙의 기능성은 각각의 생성자-조작자의 기술적 숙달도를 반영할 것이다.
사용자 인터페이스에 의하면, 입력 레코드로부터의 필드와 출력 레코드 내의 필드 사이에서의 매핑과 같은, 입력 데이터세트의 요소와 출력 데이터세트의 요소 사이에서의 매핑(340)을 생성할 수 있게 해준다. 예를 들어, 데이터의 피드(feed)를 데이터 웨어하우스에 로딩할 때에, 피드(입력)는 백 개의 필드를 가질 수 있다. 피드 내의 데이터는 50개의 필드를 데이터 웨어하우스(출력)로 이동시키는 데에 사용될 것이다. 본 예에서의 매핑(340)은 입력 필드가 출력 필드에 매핑되는 방법의 사용을 제공한다.
일부의 경우에, 개별적인 입력 필드는 출력 필드에 직접 개별적으로 매핑될 것이다. 따라서, 많은 출력은 이들을 사용자 인터페이스 내의 특정 입력 필드의 값에 할당하는 것으로 계산될 것이다. 다른 출력은 식, 상수, 입력 필드의 단순 조합(예를 들어, 문자열의 연결), 또는 if/then/else 로직이나 함수 호출을 포함하는 더 복잡한 로직으로 계산될 수 있다. 일부 출력은 비지니스 규칙을 사용하여 계산될 수 있다. 사용자 인터페이스는 비지니스 규칙 에디터(200) 등의 적절한 에디터를 제공할 수 있다.
일례로, 데이터 관리 시스템(300)은 더 복잡한 작업과 관련된 사용자 인터페이스 내에 직접 피드백을 수신하면서, 사용자로 하여금 작업을 더 단순하게 할 수 있도록 할 수 있는 사용자 인터페이스를 포함한다. 예를 들어, 이하 더 상세하게 설명하는 유효성 판단 작업은 전문 지식을 가진 사용자에 의해 미리 준비된 유효성 사양(validation specification)에 의해 사용될 수 있다. 다수의 관련 작업을 사용할 수 있게 하는 단일 사용자 인터페이스에 의하여, 사용자는 변환식을 조작 또는 변경함으로써 입력 데이터세트의 요소를 출력 데이터세트의 요소에 매핑할 수 있게 되어, 원하는 매핑을 제공할 수 있다. 또한, 사용자는 변환식을 조작하는 것이 입력과 출력 사이의 매핑에 어떻게 영향을 미치는지에 대한 하나의 위치를 찾을 수 있다. 예를 들어, 사용자 인터페이스를 사용하여, 사용자는 에러를 찾아서 고침으로써, 변환식이 의도된 대로 작용할 수 있다.
테스트 데이터는 변환식 또는 변환식의 세트가 의도된 대로 작용할 수 있는지를 평가하는 데에 도움을 줄 수 있다. 테스트 데이터는, 예를 들어 원형의 입력(prototypical input)과 출력 기대치(expected output)의 세트를 사용하여 제공될 수 있다.
일례로, 사용자는 테스트 데이터를 생성하기 위해 사용될 수 있는 실제 데이터를 가지고 있다. 사용자가 테스트하기 위한 실제 데이터를 가지고 있지 않은 경우를 취급하기 위해, 시스템은, 예를 들어 한번에 하나의 레코드의 테스트 데이터를 입력하기 위한 데이터 엔트리 형식(data entry form)을 제공할 수 있다. 사용자는 입력 데이터세트 내의 필드의 각각에 대한 값을 입력할 수 있으며, 이들 레코드는 테스트 데이터세트에 추가될 것이다.
데이터 관리 시스템(300)은 변환식에 대한 구문 규칙(syntax rule)을 제공할 수 있다. 구문 규칙은 컴파일 및/또는 실행이 적절하게 수행되는 변환식의 구조를 나타낸다. 데이터 관리 시스템을 운용하는 사용자가 임의의 변환식을 변경하면, 사용자의 변경은 구문 규칙에 부합하여야 한다. 또한, 데이터 관리 시스템(300)은 변환식의 출력에 대한 유효성 규칙(validation rule)을 제공할 수 있다. 유효성 규칙은 출력 데이터세트의 원하는 포맷이나 다른 특성에 따라 유효한 것으로 용인되는 출력의 타입을 나타낸다. 사용자가 임의의 변환식을 실제 데이터 또는 테스트 데이터에 적용하면, 변환식의 출력은 유효성 규칙에 부합해야 한다. 유효성 규칙과 구문 규칙은 상기 설명한 바와 같이 규칙 세트로서 제공되거나, 변환식의 출력에 적용될 수 있는 실행가능한 로직의 형태로 제공될 수 있다.
일례로, 사용자는 단일의 사용자 인터페이스에서 하나 이상의 변환식을 액세스할 수 있다. 이 사용자 인터페이스는 매핑(340)과 연관된 변환식 중의 일부 또는 모두를 사용자에게 제공한다. 또한, 단일의 인터페이스는 구문 규칙과 유효성 규칙을 자동으로 적용하여, 변환식이 변경되거나 실행됨에 따라 테스트 데이터를 변환할 수 있다.
따라서, 인터페이스로부터, 사용자는 이들 입력이 평가되고 변환되는 것을 포함하여, 매핑이 출력의 수집에 대한 입력의 수집이 어떻게 관련되어 있는지를 볼 수 있다.
도 5는 중요한 기술적 경험을 가지지 않아도 되는 초보 사용자(402)에 의해 조작될 수 있는 매핑 뷰 인터페이스(mapping view interface)(500)의 예를 나타낸다. 매핑 뷰 인터페이스(500)는 하나 이상의 입력과 소정의 출력 사이의 매핑 관련성을 각각 특정하는 열(row)을 제공한다. 이 인터페이스(500)는 입력, 뷰 및 편집이 가능한 변환식의 형태로 표시되는 변환식(502)을 위한 컬럼(column)을 포함한다. 변환식은 입력 데이터세트의 필드에 매핑되는 입력 변수를 의미한다. 입력이 변환 없이 출력에 직접 매핑되는 경우에, 변환 컬럼(transform column)은 임의의 변환식을 포함하지 않고도 입력을 식별할 수 있다. 일례로, 변환식(502)은 일정한 값을 출력에 직접 매핑할 수 있으며, 그 결과로서의 출력은 임의의 입력 변수에 기초하여 변화하지 않는 값을 가질 것이다.
변환식(502)은 변경(modification)을 사용하여 변경 및 재실행될 뿐만 아니라 인터페이스로부터 자동으로 실행될 수 있다. 초보 사용자(402)는 생성 또는 변경되는 변환식(502)의 출력의 유효성을 보장하기 위해 전문 지식을 가질 필요는 없지만, 매핑 뷰 인터페이스(500)는 더 숙련된 사용자의 전문 지식을 사용하는 초보 사용자(402)에게 추가의 정보를 제공하며, 초보 사용자(402)에 의해 가능한 에러로부터 보호하기 위한 추가의 안전 조치를 제공한다.
변환식은 하나 이상의 성분(component)을 포함하는 데이터 흐름 그래프(130)에 의해 구현될 수 있다. 데이터 흐름 그래프(130)는 변환식의 기능을 실행하는 실행 코드(executable code)를 갖는다. 매핑 뷰 인터페이스(500)는 이 실행 코드를 추출해서 직접 실행시킬 수 있다.
초보 사용자(402)가 변환식(502)을 변경함에 따라, 매핑 뷰 인터페이스(500)는 변경이 허용가능한 것인지를 평가하기 위해 구문 규칙(510)을 변경된 변환식에 적용할 수 있다. 구문 규칙(510)은 변환식에 대한 유효한 구조를 특정한다. 적절하지 않게 구조화된 변환식은 적절하게 실행될 수 없을 것이다. 초보 사용자(402)가 무효 구조(invalid structure)를 제공하는 방식으로 변환식을 변경하는 경우, 변환식 뷰 인터페이스(transform view interface)는 구문 규칙을 사용하여 무효를 식별하고 문제가 있다는 것을 사용자에게 알린다. 구문 규칙(510)은 변환식 구조와 실행에 관한 전문 지식을 가진 전물 사용자(404b)에 의해 정의될 수 있어서, 초보 사용자(402)는 숙련된 사용자로부터 변환식에 대한 이해를 높일 수 있다.
사용 중에, 숙련된 사용자(404a, 404b, 404c)가 적고 초보 사용자(402)가 많을 수 있는데, 이들 모두는 유사한 데이터세트에 작용하는 변환식을 조작하기 위해 매핑 뷰 인터페이스(500)의 인스턴스(intance)를 사용하고 있다. 숙련된 사용자(404a, 404b, 404c) 많은 가능한 동작 시나리오 중에서 초보 사용자에 의해 사용될 구문 규칙 및 유효성 규칙을 정의할 수 있다. 이에 의하면, 초보 사용자들은 숙련된 사용자의 전문 지식을 얻을 수 있다.
도 5를 다시 참조하면, 각각의 변환식(502)은 출력 이름(output name)(508)과 연관된다. 출력 이름(508)은 변환된 출력의 "실세계"(real-world) 함수를 나타내도록 선택될 수 있으며, 데이터 관리 시스템 자체에 의해 사용되는 다른 식별자 또는 변수 이름과는 다르다. 출력 이름(508)은 변환식(502)이 데이터를 제공하는 출력 데이터세트(320) 내의 필드에 대응한다. 예를 들어, 변환식(502)이 항공기 여행자의 데이터베이스용으로 정해진 데이터를 처리하면, 출력 이름(508)은 항공사, 항공편, 승객 식별정보, 또는 다른 실세계 개념과 관련된 데이터베이스 내의 필드를 나타낼 수 있다.
각각의 변환식(502)은 테스트 값(504)과 연관될 수 있다. 사용자는 변환식이 실행되는 테스트 데이터(512)를 선택함으로써, 테스트 데이터가 변환식(502)을 위한 입력 데이터세트(310)로서 사용하기 위해 포맷될 수 있다. 테스트 데이터(512)내의 소정의 레코드(예를 들어, 개시 레코드)에 대해 실행되는 변환의 결과는 테스트 값(504)으로 나타낸다. 테스트 데이터(512)는 다양한 테스트 시나리오를 정의하기 위해 전문 지식을 갖는 숙련된 사용자(404a, 404b, 404c) 또는 초보 사용자(402)에 의해 생성될 수 있어서, 초보 사용자(402)는 변환식(502)을 간단히 편집해서 볼 수 있다.
각각의 변환식은 유효성(506)과 연관될 수 있다. 초보 사용자(402)가 테스트 데이터(512)를 사용하여 변환식을 실행하면, 매핑 뷰 인터페이스(500)는 테스트 값(504)의 결과가 유효한지를 판정하기 위해 유효성 규칙(514)을 적용할 수 있다. 변환식(502)의 출력은 포맷 또는 콘텐츠에 관련된 제한을 가질 수 있으며(예를 들어, 출력 데이터세트(320)의 특성에 기초해서), 유효성 규칙(514)은 출력에 대한 포맷 또는 콘텐츠가 유효한 것을 특정한다. 예를 들어, 변환식은
소정 범위 내에 있어야 하는 수의 형태로 출력을 제공할 수 있거나, 또는 변환식은 사전에 따라 정확하게 쓰여진, 소정의 길이가 되어야 하는 또는 다른 특성을 갖는 워드의 형태로 출력을 제공할 수 있다. 유효성 규칙(514)은 출력이 미리 정해진 가능한 값의 세트 중의 하나가 되어야 한다는 것을 특정할 수 있다. 유효성 규칙(514)은 출력이 블랭크 값 또는 널 값에 대응하지 않아야 한다는 것을 특정할 수 있는데, 이러한 블랭크 값 또는 널 값은 변환식에 의해 블랭크 값 또는 널 값을 생성하는 출력에 입력을 연결될 수 있거나, 출력이 임의의 입력에 매핑되지 않게 될 수 있다. 유효성 규칙(514)은 여러 출력 사이에서의 제한이 만족되는 것을 보장하기 위해 매핑된 출력을 전체적으로 적용될 수 있다. 예를 들어, 2개의 출력은 유효 값을 개별적으로 가질 수 있지만, 이들의 합은 소정의 제한을 만족시키지 않을 수 있거나, 하나의 출력 값이 유효한지 여부에 대한 판정이 다른 출력의 값에 의존할 수 있다(예를 들어, "육아 휴직" 필드의 유효 값은 "성별" 필드가 남성 또는 여성 값을 갖는지 여부에 의존할 수 있다). 일례로, 유효성 규칙(514)은 정보의 2차적 또는 외부 소스와 관련해서 작용할 수 있다. 예를 들어, 변환식(502)은 제1 포맷에서 제2 포맷으로 데이터를 전환하는 데에 사용될 수 있다. 유효성 규칙은 제1 포맷으로 나타낸 데이터에 대한 유효 값을 나타내고 제2 포맷으로 나타낸 데이터의 대한 유효 값을 나타내는 테이블 등의 데이터 구조를 참조할 수 있다.
테스트 값(504)이 유효성 규칙(514)에 의해 특정된 포맷 또는 콘텐츠 제한을 벗어나면, 유효성(506)은 테스트 값(504)에 문제가 있으며, 이에 따라 변환식(502)에도 문제가 있을 수 있다는 것을 나타낼 것이다. 숙련된 사용자(404a, 404b, 404c)는 소정의 데이터세트를 분석하는 방법을 숙련된 사용자에 의존하는 유효성 규칙(514)을 정의하고, 해당 데이터세트에 대한 유효 데이터를 구성하는 것을 판정할 수 있다. 숙련된 사용자는 이들 유효성 제한을 변환식의 출력에 적용되고 실행 코드로서 기억될 수 있는 유효성 규칙(514)에 코드화하기 위해 기술적 프로그래밍과 데이터 관리 지식에 의존할 수 있다. 따라서, 매핑 뷰 인터페이스(500)를 운용하는 초보 사용자(402)는 테스트 데이터(512)로부터 생긴 테스트 값(504)을 신중하게 검사하지 않아도 되고, 대신에 더 주의를 해야 하는 문제가 있는지를 알기 위해 유효성(506)을 조사할 수 있다.
도 6은 사용자가 매핑 뷰 인터페이스(500)를 사용하여 매핑 및 이들과 관련된 변환식을 보고 조작할 수 있도록 하기 위해 시스템(300)에 의해 사용되는 과정(600)의 예에 대한 플로차트를 나타낸다. 이 과정은 소정의 변환식의 입력에 매핑되는 입력 데이터세트의 요소(예를 들어, 필드)에 대응하는 입력 데이터 값을 제공하는 하나 이상의 레코드를 포함하는 테스트 데이터를 취득한다(602). 이후, 본 과정은 소정의 변환식의 출력에 매핑되는 출력 데이터세트의 요소에 대응하는 데이터 대상(예를 들어, 필드)을 식별한다(604). 다음으로, 본 과정은 변환식의 최신 버전을 포함하는 매핑의 최신 버전을 취득한다(606). "레코드 테스트 모드"에서, 본 과정은 유효성 규칙을 입력 데이터세트의 단일의 테스트 레코드에 적용한다. "데이터세트 테스트 모드"에서, 본 과정은 입력 데이터세트의 다중 테스트 레코드에 유효성 규칙을 적용한다(일부의 경우에는, 입력 데이터세트 내의 모든 레코드).
본 과정은 사용자가 새로운 입력을 입력한 경우, 하나 이상의 변환식에 대한 변경을 나타내는지를 판정한다(608). 사용자가 새로운 입력을 입력하지 않은 경우, 본 과정은 테스트 데이터에 변환식의 현재 버전을 적용한다(610). 이후, 본 과정은 변환식으로부터의 출력으로서 수신된 테스트 값 결과에 유효성 규칙을 적용한다(612). 본 과정은 변경된 변환식을 표시하고(614), 변경된 변환식으로부터 테스트 값 결과를 표시한다(616). 또한, 본 과정은 유효성 규칙을 적용한 결과에 기초해서 유효성 정보를 표시(618)함으로써, 사용자는 테스트 값이 유효한지 여부를 평가할 수 있다. 유효성 정보가 출력이 유효성 기준을 만족하지 않는 특정의 변환식과 관련되어 있으면, 유효성 정보는 해당 변환식(예를 들어, 유효성 컬럼의 대응하는 열 내의 아이콘 및/또는 설명용 텍스트)과 시각적으로 연관될 수 있다. 일례로, 유효성 정보는 다중 변환식의 무효 출력 또는 다수 변환식 간의 무효 관련성과 연관될 수 있으며, 이 경우 유효성 정보는 임의의 특정의 변환식과 반드시 연관되지 않아도 된다. 본 과정은 변환식에 의해 사용되는 대상의 출력 이름을 표시한다(620). 이어서, 본 과정은 사용자가 변환식을 변경하는 임의의 새로운 입력을 입력했는지 여부를 판정(608)하도록 복귀한다.
사용자가 하나 이상의 변경된 변환식에 새로운 입력 결과를 입력하면, 본 과정은 새로운 입력에 기초하여 변환식을 다시 컴파일하는 변환식 컴파일러(transform compiler)로부터 변경된 변환식을 수신하고(622), 변경된 변환식의 구문을 체크한다(624). 구문이 구문 규칙에 따라 무효이면, 본 과정은 사용자에게 경고(625)함으로써, 사용자가 새로운 입력의 형태로 구문을 보정할 수 있도록 한다. 구문이 무효이면, 본 과정은 변경된 변환식을 수용(626)하고 변환식을 테스트 데이터에 적용(610)함으로써 상기 설명한 단계를 계속한다. 레코드 테스트 모드에서, 테스트 레코드에 변경된 변환식을 재컴파일 및 적용하는 것은 거의 실시간으로(예를 들어, 1초 이하) 일어날 수 있어서, 사용자는 변환식이 편집됨에 따라 구문 및 유효성 규칙에 기초하여 라이브 피드백을 경험할 수 있다. 데이터세트 테스트 모드에서, 테스트 레코드에 변경된 변환식을 재컴파일 및 적용하는 것은 사용자의 요청에 따라 개시될 수 있다.
도 7a-7h는 매핑 뷰 인터페이스와 다양한 사용자 상호작용의 예를 나타낸다. 인터페이스는 변환식(702)(변환식의 문자 표현), 테스트 값(704), 유효성(712) 및 출력을 포함한다.
도 7a를 참조하면, 사용자는 변환식(702)을 변경한다. 변경이 기형 변환식(malformed transformational expression)을 생성하면, 인터페이스는 기형 변환식에 제공된 구문 규칙에 따른 느낌표(71)가 있다는 것을 나타낸다.
도 7b를 참고하면, 보정된 구문을 갖는 변경된 변환식(702)을 제공하는 사용자에 따라 테스트 값(704)이 제공된다.
도 7c를 참고하면, 사용자는 식에 의해 변환된 입력 데이터에 기초하여 출력(708)에 대한 값을 계산하는 변환식(702)을 입력한다.
도 7d를 참고하면, 사용자는 몇 개의 변환식 중의 하나(702b)에 기초하여 입력(708)에 대한 값을 계산하는 변환식(702a)을 입력한다.
도 7e를 참고하면, 사용자는 출력(708)을 위한 값을 계산하기 위해 다른 변환식(702b)에 의존하는 변환식(702a)을 입력한다.
도 7f를 참고하면, 사용자는 다른 변환식(702a)이 의존하는 변환식(702b)을 변경한다. 제1 변환식의 출력(708)이 이에 따라 갱신된다.
도 7g를 참고하면, 유효성 통지(validation notice)(712)는 변환식이 구문적으로 정확한 경우라도, 변환식(702)의 출력에 문제가 있다는 것을 나타낸다.
도 7h를 참고하면, 사용자는 테스트 데이터(708)를 본다. 유효성 통지(712)는 변환식(702)의 테스트 데이터에의 적용에 문제가 있음을 나타낸다.
도 8은 세금 용지에 대한 값을 계산하기 위한 변환식을 관리하는 데에 사용되는 매핑 뷰 인터페이스(500)의 구현을 나타내는 매핑 뷰 인터페이스(800)의 예를 나타낸다. 매핑 뷰 인터페이스(800)는 많은 열(802a, 802b, 802c)을 가지며, 이들 열은 출력 필드(804)(예를 들어, 본 예에서는 세금 용지의 라인)의 이름, 출력 필드(804)에 대응하는 출력 값을 계산하도록 수행되는 변환식(806), 테스트 데이터에 적용될 때에 변환식(806)의 계산된 값(808)의 형태로 된 테스트 값(예를 들어, 도 5에 나타낸 테스트 데이터(512))을 각각 포함한다. 계산된 값(808) 중의 하나가 유효성 규칙(예를 들어, 도 5에 나타낸 유효성 규칙(514)을 트리거하면, 매핑 뷰 인터페이스(800)는 유효성 규칙이 트리거되었다는 것을 나타내기 위해 계산된 값에 가까운 유효성 지시자(validation indicator)(810)를 표시하고, 사용자는 유효한지 여부 및/또는 관련된 변환식(806)을 변경할 필요가 있는지 여부를 판정하기 위해 계산된 값을 검사할 수 있다. 일례로, 유효성 지시자(810)는 계산된 값(808)과 예측 값 사이의 차를 나타낸다. 예를 들어, 변환식(806)은 출력 값을 생성하기 전에 적용되어 있을 수 있다. 변환식(806)이 동일한 입력 데이터에 적용되면, 계산된 값(808)은 미리 생성된 출력 값과 동일한 것으로 예측될 수 있다. 일례로, 계산된 값(808) 중의 하나가 구문 규칙 중의 하나(예를 들어, 도 5에 나타낸 구문 규칙(510))를 트리거하면, 매핑 뷰 인터페이스(800)는 구문 에러 지시자(도시 안 됨)를 표시한다.
매핑 뷰 인터페이스(500)는 하나 이상의 데이터 흐름 그래프에 의해 수행되는 일련의 동작 중의 여러 시점에서 변환식, 출력 필드, 및 계산된 값을 보는 데에 사용될 수 있다. 매핑 뷰 인터페이스(500)는 하나 이상의 변환식에 따라 변환된 데이터의 여러 필드 내의 값에 관한 정보를 표시하는 데에 사용될 수 있는 계통도를 생성할 수 있다. 데이터베이스 사용자는 여러 데이터 소스로부터 기준 데이터가 어떻게 유도되는지를 검사하길 원할 수 있다. 예를 들어, 데이터베이스 사용자는 어느 소스로부터 데이터세트 또는 데이터 오브젝트가 불러왔는지 또는 데이터세트 또는 데이터 오브젝트가 어떻게 생성되었는지를 알기를 원할 수 있다. 데이터세트를 데이터세트가 유도되는 소스로 다시 추적하는 것을 데이터 계통 추적(data lineage tracing)(또는 "업스트림 데이터 계통 추적")이라고 한다. 때때로, 데이터베이스 사용자는, 예를 들어 애플리케이션이 소정의 데이터세트를 판독한 소정의 데이터세트가 사용된 방법("다운스트림 데이터 계통 추적" 또는 "영향 분석"이라고 함)을 조사하길 원할 수 있다. 데이터베이스 사용자는 데이터세트가 다른 데이터세트와 관련되어 있는지에 관심을 가질 수도 있다. 예를 들어, 사용자는 데이터세트가 변경되는지, 어떤 테이블이 영향을 받을 것인지를 알기를 원할 수 있다.
도 9는 적용되는 변환식을 나타내는(예를 들어, 데이터 흐름 그래프 내의 여러 성분에 의해) 노드(904a, 904b, 906c)와, 업스트림 입력 테스트 데이터세트(908)로부터 다운스트림 출력 데이터세트(912)까지의 업스트림 및 다운스트림 의존성 관계를 나타내는, 노드를 연결하는 링크(906)를 포함하는 계통도(900)를 나타낸다. 입력 데이터세트(908)로부터의 테스트 데이터는 테스트 데이터를 처리하는 데에 사용되는 변환식의 적용을 나타내는 노드(904a, 904b)에 제공될 수 있으며, 그 결과는 노드(904c)로 전파되고, 이 노드에는 테스트 데이터가 계통도(900)의 일련의 노드에서 노드에 의해 계속해서 변환됨에 따라, 변환식을 유사하게 적용한다. 사용자는 노드 중에서 임의의 하나를 선택할 수 있으며, 링크(906)로 나타낸 의존성 관계에 따라 노드에 의해 표현되는 변환식에 의해 처리된 데이터에 변환식을 적용하는 것에 기초하여 출력 필드의 계산된 값뿐만 아니라, 해당 노드와 연관된 변환식과 출력 필드를 볼 수 있다.
계통도를 생성하기 위해 필요한 정보는 하나 이상의 데이터 흐름 그래프가 입력 테스트 데이터세트(908) 내의 데이터를 처리함에 따라 저장될 수 있다. 계통도 내의 각각의 노드는 변환식의 적용의 결과인 계산된 값과 관련될 수 있다. 일부의 경우에, 노드(904d, 904e, 904f)의 하나 이상은 해당 노드와 연관된 유효성 규칙 중의 하나 이상을 트리거하는 계산 값과 연관된다. 이들 경우에, 계통도(900)는 유효성 규칙이 트리거된 노드(904d, 904e, 904f)에 대한 유효성 지시자(910a, 910b, 910c)를 표시한다. 사용자는 매핑 뷰 인터페이스(500)를 사용하여 출력 필드, 변환식, 및 이들 노드 중의 임의의 계산 값을 보고, 문제가 있는지, 예를 들어 변환식이 무효 데이터를 생성하는지를 판정할 수 있다. 일부의 경우에, 계통도(900)는 노드 중의 하나가 구문 규칙(예를 들어, 도 5의 구문 규칙 중의 하나(510))를 트리거한 경우에 대한 지시자를 표시한다.
사용자는 시퀀스 내의 몇 개의 노드가 유효성 규칙을 트리거했는지를 판정하고, 무효 데이터 등의 유효성 문제의 개시 소스를 판정하기 위해 계통도(900)의 뷰를 사용할 수 있다. 본 예에서, 모두 3개의 노드(904d, 904e, 904f)는 지시자(910a, 910b, 910c)에 의해 지시된 바와 같이 유효성 규칙을 트리거한다. 노드(904d, 904e, 904f)와, 노드(904d)부터 노드(904e)까지 그리고 노드(904e)부터 노드(904f)에의 대응하는 계통 관계가 잠재하는 유효성 문제에 대해 검사될 수 있다. 노드(904d) 내의 변환식이 노드(904e) 및 노드(904f)로 전파하게 되는 무효 데이터를 생성할 수 있으며, 이들 노드 내의 유사한 유효성 규칙을 트리거한다. 이러한 가능성 하에서, 사용자는 먼저, 제1 노드(904)의 계산 값과 변환식을 보고 이것이 모두 3개의 노드에 대한 문제의 원인인지를 판정할 수 있다.
도 10은 많은 출력 필드와 계산 값을 한번에 보는 데에 사용될 수 있는 테스트 결과 인터페이스(test results interface)(1000)를 나타낸다. 예를 들어, 테스트 결과 인터페이스(1000)는 데이터세트 테스트 모드 내의 테스트 데이터에 변환식을 적용한 결과를 나타내는 데에 사용될 수 있다. 테스트 결과 인터페이스(1000)는 관련된 변환식의 테스트 데이터의 다수의 레코드(1004a, 1004b, 1004c)에의 적용을 나타내는(열로서) 다수의 출력 필드(1002a, 1002b, 1002c)(컬럼 헤딩 내에)를 표시한다. 사용자는 임의의 테스트 데이터가 임의의 유효성 규칙을 트리거하는지 여부를 포함해서, 테스트 데이터의 많은 레코드에 대해 많은 변환식을 적용한 효과를 알기 위해 테스트 결과 인터페이스(1000)를 볼 수 있다. 테스트 결과 인터페이스(1000)는 데이터의 어느 부분(특정 레코드 내의 계산 값)이 유효성 규칙을 트리거했는지를 나타내며 무효로 될 수 있는 유효성 지시자(1006a)를 표시할 수 있다. 테스트 결과 인터페이스(1000)는 또한 각 컬럼(또는 열) 헤딩 내에 유효성 지시자(1006b)를 표시해서, 각 컬럼(또는 열) 내의 데이터의 하나 이상의 부분이 유효성 규칙을 트리거했다는 것을 사용자에게 지시할 수 있다. 이러한 형태의 디스플레이는 테스트 결과 인터페이스(1000)에 의해 제시된 데이터의 뷰가 매우 큰 경우에, 사용자가 데이터의 각각의 부분에 대한 유효성 지시자(1006a)를 찾는 데에 도움을 줄 수 있다. 일례로, 얼마나 많은 데이터가 유효성 규칙을 트리거했는지 및 얼마나 많은 여러 규칙이 트리거되었는지 등과 같이, 제시된 데이터에 관한 통계치(1008)를 제시(예를 들어, 히스토그램의 형태로)한다. 일례로, 통계치(1008)는 테스트 데이터에 대한 변환식의 여러 적용에 따라 시간 단위 또는 일 단위 등과 같은 규칙적인 간격으로 계산되며, 다른 예에서, 통계치는 데이터가 뷰 됨에 따라 변환식을 적용함으로써 실시간으로 계산된다. 예를 들어, 숙련된 사용자(예를 들어, 도 5의 숙련된 사용자(404b))는 매일 테스트 결과 인터페이스(1000)를 사용해서, 임의의 유효성 규칙이 그날에 다른 사람에 의해 이루어진 변경에 의해 트리거되었는지를 알 수 있다.
도 11은 사용자가 유효성 규칙 세트(1104a, 1104b, 1104c)의 트리거 조건(1102a, 1102b, 1102c)을 보고 변경할 수 있도록 하는 유효성 규칙 인터페이스(1100)를 나타낸다. 일례로, 유효성 규칙은, 필수 정보의 누락 또는 출력 필드에 의해 표현된 정보간의 불일치 등과 같은, 유효성 규칙이 나타내는 에러 타입을 나타내는 관련 에러 코드(associated error code)(1106)를 갖는다. 일례로, 유효성 규칙 인터페이스(1100)에 의해, 사용자는 임의의 유효성 규칙에 의해 사용된 소정의 입력에 관한 정보(1110)를 액세스할 수 있어서, 사용자는 이러한 정보를 취득하기 위해 다른 인터페이스를 액세스하지 않아도 된다.
유효성 규칙은 사용자가 유효성 규칙 트리거링의 경우에 관한 추가의 정보를 찾는 경우에 사용자에게 표시되는 관련 고객 에러 메시지(1108)를 가질 수 있다. 예를 들어, 사용자는 유효성 지시자(예를 들어, 도 9의 유효성 지시자(910a))를 클릭하고, 사용자 인터페이스는 해당 유효성 규칙에 관한 적절한 고객 에러 메시지(1108)를 표시하거나, 데이터세트에 의해 트리거된 유효성 규칙과 관련된 모든 고객 에러 메시지의 리스트를 표시할 수 있다. 일례로, 숙련된 사용자(예를 들어, 도 5의 숙련된 사용자(404c))는 에러 메시지를 정의해서, 유효성 규칙을 잘 알지 못할 수 있는, 사용자 인터페이스를 운용하는 다른 사용자에게, 사람이 읽을 수 있는 정보를 제공할 수 있다.
상기 설명한 매핑 방법은 컴퓨터에서 실행하기 위한 소프트웨어를 사용해서 구현될 수 있다. 예를 들어, 소프트웨어는 하나 이상의 프로세서, 하나 이상의 데이터 기억 시스템(휘발성 및 비휘발성 메모리 및/또는 기억 요소를 포함), 하나 이상의 입력 장치 또는 포트, 및 하나 이상의 출력 장치 또는 포트를 각각 포함하는 하나 이상의 프로그램된 또는 프로그램가능한 컴퓨터 시스템(분산형, 클라이언트/서버형, 또는 그리드형의 여러 구조가 될 수 있음)에서 실행되는 하나 이상의 컴퓨터 프로그램 내의 프로시저를 형성한다. 소프트웨어는 연산 그래프의 설계 및 구성에 관련된 다른 서비스를 제공하는 더 큰 프로그램의 하나 이상의 모듈을 형성할 수 있다. 그래프의 노드 및 요소는 컴퓨터로 판독가능한 매체에 기억된 데이터 구조 또는 데이터 레포지토리에 기억된 데이터 모델에 일치하는 다른 구조화된 데이터로서 구현될 수 있다.
소프트웨어는 범용 또는 전용의 프로그래머블 컴퓨터에 의해 판독가능한 CD-ROM 과 같은 저장 매체로 제공되거나, 그 소프트웨어가 실행되는 컴퓨터에 네트워크의 통신매체를 통해 전달(전파 신호에서 부호화되어)될 수도 있다. 모든 기능은 전용 컴퓨터상에서, 또는 코프로세서와 같은 전용 하드웨어를 사용하여 수행될 수도 있다. 소프트웨어에 의해 사양화된 연산의 여러 다른 부분이 여러 다른 컴퓨터에 의해 수행되는 분산 방법으로 소프트웨어를 구현할 수도 있다. 컴퓨터 시스템에 의해 저장매체 또는 저장장치가 판독되어 위에 설명한 과정이 수행될 때 그 컴퓨터를 구성하여 동작시키기 위해서는, 이러한 컴퓨터 프로그램 각각은 범용 또는 전용 프로그래머블 컴퓨터에 의해 판독가능한 저장매체 또는 저장장치(예를 들면 솔리드 스테이트 메모리, 또는 솔리드 스테이트 매체, 또는 마그네틱 매체 또는 광학 매체)에 저장되거나 다운로드되는 것이 바람직하다. 본 발명의 진보성 있는 시스템은 또한 컴퓨터 프로그램으로 구성되는 컴퓨터 판독가능 저장매체로서 구현될 수도 있으며, 이 경우, 이와 같이 구성된 저장매체는 컴퓨터 시스템으로 하여금 특정의 미리 규정된 방법으로 동작하여 본 명세서에서 설명하는 기능을 수행하도록 작용한다.
이상과 같이, 여러 실시예를 설명하였지만, 본 발명의 사상 및 그 범위를 일탈하지 않고도 다양한 변형이 가능함을 알 수 있다. 예를 들면, 상기 설명한 단계들 중 일부는 순서와 무관한 것일 수도 있으며, 이에 따라서 상기 설명한 것과는 다른 순서로 수행될 수도 있다.
상기 설명한 내용은 예시를 위한 것으로서 본 발명의 범위를 한정하기 위한 것이 아니며, 그 범위는 다음의 특허청구범위에 의해 규정된다. 예를 들면, 상기 설명한 여러 기능 단계는 전체 프로세스에 실질적인 영향을 주지 않고 다른 순서로 수행될 수 있으며, 그외의 다른 실시예도 이하의 청구범위 내에 포함된다.

Claims (102)

  1. 시각적 피드백(visual feedback)을 인터페이스에서 제시하기 위한 방법으로서,
    주어진 출력과 입력 변수(input variable)로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 수신하는 수신 단계로서, 상기 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식(transformational expression)을 포함하며, 상기 변환식은 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 수신 단계;
    각각의 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 수신하는 단계;
    상기 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 상기 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 단계;
    상기 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준(validation criteria)에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 단계; 및
    판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 단계로서, 상기 시각적 피드백은 상기 출력 데이터세트의 하나 이상의 식별된 요소와 연관된 적어도 하나의 변환된 값에 대한 유효성 정보에 기초하여 적어도 하나의 지시자(indicator)를 포함하는, 시각적 피드백을 인터페이스에서 제시하는 단계를 포함하는,
    시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  2. 제1항에 있어서,
    상기 매핑된 관계에 따라, 입력 데이터를 입력 데이터세트로부터 출력 데이터세트로 불러오는(import) 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  3. 제2항에 있어서,
    상기 입력 데이터를 불러오는 단계는, 입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하는 단계와, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 단계를 더 포함하며,
    입력 레코드의 적어도 몇몇 필드는 입력 변수에 매핑된 입력 데이터세트의 요소에 대응하며, 출력 레코드의 적어도 몇몇 필드는 각각의 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소에 대응하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  4. 제3항에 있어서,
    상기 입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하는 단계와, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 단계는, 데이터 처리 성분을 나타내는 노드(node), 데이터 처리 성분들 사이에서의 데이터 흐름을 나타내는 링크(link), 입력 레코드의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 레코드의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함하는 데이터 흐름 그래프를 실행하는 단계를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  5. 제1항에 있어서,
    상기 매핑된 관계를 특정하는 매핑(mapping)을 기억하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  6. 제1항에 있어서,
    상기 유효성 정보를 판정하는 단계는, 상기 유효성 기준의 기억된 사양을 검색(retrieve)하는 단계를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  7. 제6항에 있어서,
    상기 인터페이스는 상기 데이터 처리 시스템에 의해 제공되며 제1 사용자에게 제시되고, 상기 유효성 기준의 사양은 제2 사용자로부터 수신되는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  8. 제1항에 있어서,
    상기 생성된 출력 데이터를 나타내는 값을 상기 인터페이스에서 제시하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  9. 제1항에 있어서,
    상기 유효성 정보를 판정하는 단계는, 변환식을 포함하는 매핑된 관계를 각각 변환하기 위해 생성된 출력 데이터를, 상기 변환하는 매핑된 관계의 출력에 매핑된 출력 데이터세트의 식별된 요소와 연관된 유효성 기준에 기초하여 평가하는 단계를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  10. 제9항에 있어서,
    상기 매핑된 관계는 변환식을 포함하는 다수의 변환하는 매핑된 관계를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  11. 제9항에 있어서,
    상기 유효성 기준은, 식별된 제1 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제1 요소와 연관된 제1 유효성 기준과, 식별된 제2 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제2 요소와 연관된 제2 유효성 기준을 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  12. 제11항에 있어서,
    상기 유효성 정보는 상기 식별된 제1 요소에 대응하는 제1 필드와 상기 식별된 제2 요소에 대응하는 제2 필드를 포함하는, 생성된 출력 레코드에 따라 판정되는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  13. 제12항에 있어서,
    상기 제1 유효성 기준은 출력 레코드의 제2 필드 내의 값에 의해 정해지는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  14. 제12항에 있어서,
    상기 유효성 정보는 출력 레코드의 제1 필드 내의 값과 출력 레코드의 제2 필드 내의 값에 의해 정해지는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  15. 제1항에 있어서,
    변환식을 위한 유효 구조를 나타내는 구문 정보(syntax information)를 판정하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  16. 제15항에 있어서,
    상기 판정된 구문 정보에 기초하여, 시각적 피드백을 인터페이스에서 제시하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  17. 제1항에 있어서,
    상기 변환식에 대한 수신된 사용자 변경에 기초하여 변경된 변환식을 허용하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  18. 제17항에 있어서,
    상기 입력 데이터세트로부터의 입력 데이터에 기초하여, 상기 변경된 변환식에 따라 데이터 처리 시스템으로부터 변경된 출력 데이터를 생성하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  19. 제18항에 있어서,
    상기 생성된 변경된 출력 데이터에 따라 변경된 유효성 정보를 판정하는 단계와, 상기 변경된 유효성 정보에 기초하여 인터페이스에서 시각적 피드백을 제시하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  20. 제19항에 있어서,
    상기 변경된 출력 데이터를 생성하는 단계와 상기 변경된 유효성 정보에 기초하여 시각적 피드백을 제시하는 단계는, 상기 변환식이 변경되는 동안에 수행되는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  21. 제19항에 있어서,
    상기 변경된 출력 데이터를 생성하는 단계와 상기 변경된 유효성 정보에 기초하여 시각적 피드백을 제시하는 단계는, 변환식이 변경된 이후에 사용자의 요청에 따라 수행되는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  22. 제1항에 있어서,
    상기 입력 데이터세트로부터의 입력 데이터는 변환식을 적용하는 데이터 흐름 그래프의 성분에 대한 데이터 흐름을 나타내는 링크에 따라 수신되며,
    상기 데이터 흐름 그래프는 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 데이터의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  23. 제1항에 있어서,
    상기 출력 데이터세트에 기억된 상기 생성된 출력 데이터는 변환식을 적용하는 데이터 흐름 그래프의 성분으로부터 데이터의 흐름을 나타내는 링크에 따라 출력 데이터세트에 제공되며,
    상기 데이터 흐름 그래프는, 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 데이터의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  24. 제1항에 있어서,
    적어도 제1 매핑된 관계는 상기 제1 매핑된 관계를 적용하는 데이터 흐름 그래프의 성분의 선택에 따라 수신되며,
    상기 데이터 흐름 그래프는 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 레코드의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  25. 제1항에 있어서,
    상기 시각적 피드백은 인터페이스에 표시된 계통도(lineage diagram)의 다수의 노드 중의 하나에 대한 유효성 정보를 나타내는 지시자(indicator)를 포함하며, 상기 노드는 출력 데이터세트의 하나 이상의 식별된 요소와 연관된 하나 이상의 변환된 값을 포함하는 변환된 값을 나타내는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  26. 제25항에 있어서,
    상기 시각적 피드백은 인터페이스에 표시된 계통도의 다수의 노드 중의 노드와 각각 연관된 다수의 지시자를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  27. 제26항에 있어서,
    상기 지시자와 연관된 노드 중의 적어도 일부는 상기 노드에 의해 표현되는 변환된 값들 사이의 의존성(dependency)을 나타내는 링크에 의해 연결된, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  28. 제1항에 있어서,
    상기 시각적 피드백은 상기 출력 데이터세트의 하나 이상의 식별된 요소를 나타내는 하나 이상의 출력 요소를 포함하는 인터페이스에 표시된 다수의 출력 요소 중에서 출력 요소와 각각 연관된 다수의 지시자를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  29. 제28항에 있어서,
    상기 인터페이스에 표시된 다수의 출력 요소는 변환식을 입력 데이터의 레코드에 적용한 결과를 나타내는 필드에 대응하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  30. 제29항에 있어서,
    하나 이상의 지시자는 필드에 대한 값의 열(row)에 대한 유효성 정보를 지시하며, 상기 열은 변환식을 입력 데이터의 단일 레코드에 적용한 출력 값을 나타내는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  31. 제29항에 있어서,
    하나 이상의 지시자는 필드에 대한 값의 컬럼(column)에 대한 유효성 정보를 지시하며, 상기 컬럼은 입력 데이터의 각각의 레코드에 단일의 변환식을 여러 번 적용한 결과를 나타내는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  32. 제1항에 있어서,
    상기 시각적 피드백은 유효성 정보에 기초하여 계산된 통계치(statistics)를 포함하며, 상기 통계치는 입력 데이터의 다수의 레코드에 유효성 기준을 적용한 결과를 나타내는 데이터를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  33. 제32항에 있어서,
    상기 통계치는 규칙적인 기간마다 계산되는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  34. 제1항에 있어서,
    상기 시각적 피드백은 유효성 기준과 연관된 고객 에러 메시지를 포함하며,
    상기 고객 에러 메시지는 입력 데이터의 레코드에 유효성 기준을 적용한 특정 경우의 결과에 대한 정보를 나타내는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  35. 제1항에 있어서,
    상기 입력 변수에 독립적인 하나 이상의 상수로서 정의된 출력을 인터페이스에서 수신하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  36. 제1항에 있어서,
    변환식의 결과를 나타내는 예측 값을 수신하는 단계를 더 포함하며,
    유효성 정보를 판정하는 단계는, 변환식을 포함하는 각각의 변환하는 매핑된 관계에 대해 생성된 출력 데이터를 상기 예측 값과 비교하는 단계를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  37. 시각적 피드백을 인터페이스에서 제시하기 위한 시스템으로서,
    입력 데이터세트를 기억하는 입력 데이터 기억 시스템;
    출력 데이터세트를 기억하는 출력 데이터 기억 시스템; 및
    사용자 입력을 수신하고 데이터의 처리 결과를 제시하기 위한 인터페이스를 제공하도록 구성된 데이터 처리 시스템을 포함하며,
    상기 사용자 입력을 수신하고 데이터의 처리 결과를 제시하는 것은,
    주어진 출력과 입력 변수로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 수신하는 것으로서, 상기 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식을 포함하며, 상기 변환식은 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 매핑된 관계를 수신하는 것;
    각각의 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 수신하는 것;
    상기 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 상기 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 것;
    상기 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 것; 및
    판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 것으로서, 상기 시각적 피드백은 상기 출력 데이터세트의 하나 이상의 식별된 요소와 연관된 적어도 하나의 변환된 값에 대한 유효성 정보에 기초하여 적어도 하나의 지시자를 포함하는, 시각적 피드백을 인터페이스에서 제시하는 것을 포함하는,
    시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  38. 시각적 피드백을 인터페이스에서 제시하기 위한 시스템으로서,
    입력 데이터세트를 기억하기 위한 수단;
    출력 데이터세트를 기억하기 위한 수단; 및
    사용자 입력을 수신하고 데이터의 처리 결과를 제시하기 위한 인터페이스를 제공하기 위한 수단을 포함하며,
    상기 사용자 입력을 수신하고 데이터의 처리 결과를 제시하는 것은,
    주어진 출력과 입력 변수로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 수신하는 것으로서, 상기 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식을 포함하며, 상기 변환식은 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 매핑된 관계를 수신하는 것;
    각각의 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 수신하는 것;
    상기 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 상기 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 것;
    상기 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 것; 및
    판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 것으로서, 상기 시각적 피드백은 상기 출력 데이터세트의 하나 이상의 식별된 요소와 연관된 적어도 하나의 변환된 값에 대한 유효성 정보에 기초하여 적어도 하나의 지시자를 포함하는, 시각적 피드백을 인터페이스에서 제시하는 것을 포함하는,
    시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  39. 시각적 피드백을 인터페이스에서 제시하기 위한 컴퓨터 프로그램을 기억하는 컴퓨터로 판독가능한 기억 디바이스에 있어서,
    상기 컴퓨터 프로그램은, 컴퓨터로 하여금,
    주어진 출력과 입력 변수로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 수신하도록 하는데, 상기 매핑된 관계 중의 적어도 하나가 데이터 처리 시스템에서 실행가능한 변환식을 포함하고, 상기 변환식이 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 매핑된 관계를 수신하도록 하고;
    각각의 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 수신하도록 하고;
    상기 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 상기 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하도록 하며;
    상기 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하도록 하고; 및
    판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하도록 하는 - 상기 시각적 피드백은 상기 출력 데이터세트의 하나 이상의 식별된 요소와 연관된 적어도 하나의 변환된 값에 대한 유효성 정보에 기초하여 적어도 하나의 지시자를 포함함 -
    명령어를 포함하는,
    컴퓨터로 판독가능한 기억 디바이스.
  40. 제1항에 있어서,
    상기 유효성 기준은 출력 데이터세트의 하나 이상의 식별된 요소와 연관된 유효 값의 하나 이상의 특성을 각각 정의하는 유효성 규칙 세트를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  41. 제40항에 있어서,
    상기 유효성 규칙은 출력 데이터세트의 원하는 포맷에 따라 유효한 것으로 허용되는 출력 데이터의 타입을 나타내는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  42. 제1항에 있어서,
    상기 유효성 기준의 적어도 일부는 출력 데이터세트의 요소의 포맷에 대한 제한(constraint)을 특정하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  43. 제1항에 있어서,
    상기 유효성 기준의 적어도 일부는 출력 데이터세트의 다수의 요소 사이에서의 의존성(dependency)에 기초하여 유효 값의 특성을 특정하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  44. 제1항에 있어서,
    상기 유효성 기준의 적어도 일부는 다수의 포맷으로 표현된 데이터에 대한 유효 값을 나타내는 데이터 구조를 참조하며, 상기 다수의 포맷은 출력 데이터세트의 요소의 각각의 포맷에 대응하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법.
  45. 제37항에 있어서,
    상기 매핑된 관계에 따라, 입력 데이터를 입력 데이터세트로부터 출력 데이터세트로 불러오는 것을 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  46. 제45항에 있어서,
    상기 입력 데이터를 불러오는 것은, 입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하는 것과, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 것을 더 포함하며,
    입력 레코드의 적어도 몇몇 필드는 입력 변수에 매핑된 입력 데이터세트의 요소에 대응하며, 출력 레코드의 적어도 몇몇 필드는 각각의 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소에 대응하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  47. 제46항에 있어서,
    상기 인터페이스는 상기 데이터 처리 시스템에 의해 제공되며 제1 사용자에게 제시되고, 상기 유효성 기준의 사양은 제2 사용자로부터 수신되는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  48. 제37항에 있어서,
    상기 생성된 출력 데이터를 나타내는 값을 상기 인터페이스에서 제시하는 것을 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  49. 제37항에 있어서,
    상기 유효성 정보를 판정하는 것은, 변환식을 포함하는 매핑된 관계를 각각 변환하기 위해 생성된 출력 데이터를, 상기 변환하는 매핑된 관계의 출력에 매핑된 출력 데이터세트의 식별된 요소와 연관된 유효성 기준에 기초하여 평가하는 것을 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  50. 제49항에 있어서,
    상기 매핑된 관계는 변환식을 포함하는 다수의 변환하는 매핑된 관계를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  51. 제50항에 있어서,
    상기 유효성 기준은, 식별된 제1 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제1 요소와 연관된 제1 유효성 기준과, 식별된 제2 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제2 요소와 연관된 제2 유효성 기준을 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  52. 제37항에 있어서,
    변환식을 위한 유효 구조를 나타내는 구문 정보를 판정하는 것, 및 상기 판정된 구문 정보에 기초하여, 시각적 피드백을 인터페이스에서 제시하는 것을 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  53. 제37항에 있어서,
    상기 변환식에 대한 수신된 사용자 변경에 기초하여 변경된 변환식을 허용하는 것, 상기 입력 데이터세트로부터의 입력 데이터에 기초하여, 상기 변경된 변환식에 따라 데이터 처리 시스템으로부터 변경된 출력 데이터를 생성하는 것, 및 상기 생성된 변경된 출력 데이터에 따라 변경된 유효성 정보를 판정하는 것과, 상기 변경된 유효성 정보에 기초하여 인터페이스에서 시각적 피드백을 제시하는 것을 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  54. 제37항에 있어서,
    상기 입력 데이터세트로부터의 입력 데이터는 변환식을 적용하는 데이터 흐름 그래프의 성분에 대한 데이터 흐름을 나타내는 링크에 따라 수신되며,
    상기 데이터 흐름 그래프는 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 데이터의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  55. 제37항에 있어서,
    상기 출력 데이터세트에 기억된 상기 생성된 출력 데이터는 변환식을 적용하는 데이터 흐름 그래프의 성분으로부터 데이터의 흐름을 나타내는 링크에 따라 출력 데이터세트에 제공되며,
    상기 데이터 흐름 그래프는, 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 데이터의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  56. 제37항에 있어서,
    적어도 제1 매핑된 관계는 상기 제1 매핑된 관계를 적용하는 데이터 흐름 그래프의 성분의 선택에 따라 수신되며,
    상기 데이터 흐름 그래프는 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 레코드의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  57. 제37항에 있어서,
    상기 시각적 피드백은 인터페이스에 표시된 계통도의 다수의 노드 중의 하나에 대한 유효성 정보를 나타내는 지시자를 포함하며, 상기 노드는 출력 데이터세트의 하나 이상의 식별된 요소와 연관된 하나 이상의 변환된 값을 포함하는 변환된 값을 나타내는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  58. 제57항에 있어서,
    상기 시각적 피드백은 인터페이스에 표시된 계통도의 다수의 노드 중의 노드와 각각 연관된 다수의 지시자를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  59. 제58항에 있어서,
    상기 지시자와 연관된 노드 중의 적어도 일부는 상기 노드에 의해 표현되는 변환된 값들 사이의 의존성을 나타내는 링크에 의해 연결된, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  60. 제37항에 있어서,
    상기 시각적 피드백은 상기 출력 데이터세트의 하나 이상의 식별된 요소를 나타내는 하나 이상의 출력 요소를 포함하는 인터페이스에 표시된 다수의 출력 요소 중에서 출력 요소와 각각 연관된 다수의 지시자를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  61. 제60항에 있어서,
    상기 인터페이스에 표시된 다수의 출력 요소는 변환식을 입력 데이터의 레코드에 적용한 결과를 나타내는 필드에 대응하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  62. 제61항에 있어서,
    하나 이상의 지시자는 필드에 대한 값의 열에 대한 유효성 정보를 지시하며, 상기 열은 변환식을 입력 데이터의 단일 레코드에 적용한 출력 값을 나타내는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  63. 제62항에 있어서,
    하나 이상의 지시자는 필드에 대한 값의 컬럼에 대한 유효성 정보를 지시하며, 상기 컬럼은 입력 데이터의 각각의 레코드에 단일의 변환식을 여러 번 적용한 결과를 나타내는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  64. 제37항에 있어서,
    상기 시각적 피드백은 유효성 정보에 기초하여 계산된 통계치를 포함하며, 상기 통계치는 입력 데이터의 다수의 레코드에 유효성 기준을 적용한 결과를 나타내는 데이터를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  65. 제64항에 있어서,
    상기 통계치는 규칙적인 기간마다 계산되는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  66. 제37항에 있어서,
    상기 시각적 피드백은 유효성 기준과 연관된 고객 에러 메시지를 포함하며,
    상기 고객 에러 메시지는 입력 데이터의 레코드에 유효성 기준을 적용한 특정 경우의 결과에 대한 정보를 나타내는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  67. 제37항에 있어서,
    상기 입력 변수에 독립적인 하나 이상의 상수로서 정의된 출력을 인터페이스에서 수신하는 것을 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  68. 제37항에 있어서,
    변환식의 결과를 나타내는 예측 값을 수신하는 것을 더 포함하며,
    유효성 정보를 판정하는 것은, 변환식을 포함하는 각각의 변환하는 매핑된 관계에 대해 생성된 출력 데이터를 상기 예측 값과 비교하는 것을 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  69. 제37항에 있어서,
    상기 유효성 기준은 출력 데이터세트의 하나 이상의 식별된 요소와 연관된 유효 값의 하나 이상의 특성을 각각 정의하는 유효성 규칙 세트를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  70. 제69항에 있어서,
    상기 유효성 규칙은 출력 데이터세트의 원하는 포맷에 따라 유효한 것으로 허용되는 출력 데이터의 타입을 나타내는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  71. 제37항에 있어서,
    상기 유효성 기준의 적어도 일부는 출력 데이터세트의 요소의 포맷에 대한 제한을 특정하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  72. 제37항에 있어서,
    상기 유효성 기준의 적어도 일부는 출력 데이터세트의 다수의 요소 사이에서의 의존성에 기초하여 유효 값의 특성을 특정하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  73. 제37항에 있어서,
    상기 유효성 기준의 적어도 일부는 다수의 포맷으로 표현된 데이터에 대한 유효 값을 나타내는 데이터 구조를 참조하며, 상기 다수의 포맷은 출력 데이터세트의 요소의 각각의 포맷에 대응하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
  74. 제39항에 있어서,
    상기 매핑된 관계에 따라, 입력 데이터를 입력 데이터세트로부터 출력 데이터세트로 불러오는 것을 더 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  75. 제74항에 있어서,
    상기 입력 데이터를 불러오는 것은, 입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하는 것과, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 것을 더 포함하며,
    입력 레코드의 적어도 몇몇 필드는 입력 변수에 매핑된 입력 데이터세트의 요소에 대응하며, 출력 레코드의 적어도 몇몇 필드는 각각의 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소에 대응하는, 컴퓨터로 판독가능한 기억 디바이스.
  76. 제75항에 있어서,
    상기 인터페이스는 상기 데이터 처리 시스템에 의해 제공되며 제1 사용자에게 제시되고, 상기 유효성 기준의 사양은 제2 사용자로부터 수신되는, 컴퓨터로 판독가능한 기억 디바이스.
  77. 제39항에 있어서,
    상기 생성된 출력 데이터를 나타내는 값을 상기 인터페이스에서 제시하는 것을 더 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  78. 제39항에 있어서,
    상기 유효성 정보를 판정하는 것은, 변환식을 포함하는 매핑된 관계를 각각 변환하기 위해 생성된 출력 데이터를, 상기 변환하는 매핑된 관계의 출력에 매핑된 출력 데이터세트의 식별된 요소와 연관된 유효성 기준에 기초하여 평가하는 것을 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  79. 제78항에 있어서,
    상기 매핑된 관계는 변환식을 포함하는 다수의 변환하는 매핑된 관계를 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  80. 제78항에 있어서,
    상기 유효성 기준은, 식별된 제1 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제1 요소와 연관된 제1 유효성 기준과, 식별된 제2 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제2 요소와 연관된 제2 유효성 기준을 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  81. 제39항에 있어서,
    변환식을 위한 유효 구조를 나타내는 구문 정보를 판정하는 것, 및 상기 판정된 구문 정보에 기초하여, 시각적 피드백을 인터페이스에서 제시하는 것을 더 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  82. 제81항에 있어서,
    상기 변환식에 대한 수신된 사용자 변경에 기초하여 변경된 변환식을 허용하는 것, 상기 입력 데이터세트로부터의 입력 데이터에 기초하여, 상기 변경된 변환식에 따라 데이터 처리 시스템으로부터 변경된 출력 데이터를 생성하는 것, 및 상기 생성된 변경된 출력 데이터에 따라 변경된 유효성 정보를 판정하는 것과, 상기 변경된 유효성 정보에 기초하여 인터페이스에서 시각적 피드백을 제시하는 것을 더 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  83. 제39항에 있어서,
    상기 입력 데이터세트로부터의 입력 데이터는 변환식을 적용하는 데이터 흐름 그래프의 성분에 대한 데이터 흐름을 나타내는 링크에 따라 수신되며,
    상기 데이터 흐름 그래프는 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 데이터의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  84. 제39항에 있어서,
    상기 출력 데이터세트에 기억된 상기 생성된 출력 데이터는 변환식을 적용하는 데이터 흐름 그래프의 성분으로부터 데이터의 흐름을 나타내는 링크에 따라 출력 데이터세트에 제공되며,
    상기 데이터 흐름 그래프는, 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 데이터의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  85. 제39항에 있어서,
    적어도 제1 매핑된 관계는 상기 제1 매핑된 관계를 적용하는 데이터 흐름 그래프의 성분의 선택에 따라 수신되며,
    상기 데이터 흐름 그래프는 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 레코드의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  86. 제39항에 있어서,
    상기 시각적 피드백은 인터페이스에 표시된 계통도의 다수의 노드 중의 하나에 대한 유효성 정보를 나타내는 지시자를 포함하며, 상기 노드는 출력 데이터세트의 하나 이상의 식별된 요소와 연관된 하나 이상의 변환된 값을 포함하는 변환된 값을 나타내는, 컴퓨터로 판독가능한 기억 디바이스.
  87. 제86항에 있어서,
    상기 시각적 피드백은 인터페이스에 표시된 계통도의 다수의 노드 중의 노드와 각각 연관된 다수의 지시자를 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  88. 제87항에 있어서,
    상기 지시자와 연관된 노드 중의 적어도 일부는 상기 노드에 의해 표현되는 변환된 값들 사이의 의존성을 나타내는 링크에 의해 연결된, 컴퓨터로 판독가능한 기억 디바이스.
  89. 제39항에 있어서,
    상기 시각적 피드백은 상기 출력 데이터세트의 하나 이상의 식별된 요소를 나타내는 하나 이상의 출력 요소를 포함하는 인터페이스에 표시된 다수의 출력 요소 중에서 출력 요소와 각각 연관된 다수의 지시자를 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  90. 제89항에 있어서,
    상기 인터페이스에 표시된 다수의 출력 요소는 변환식을 입력 데이터의 레코드에 적용한 결과를 나타내는 필드에 대응하는, 컴퓨터로 판독가능한 기억 디바이스.
  91. 제90항에 있어서,
    하나 이상의 지시자는 필드에 대한 값의 열에 대한 유효성 정보를 지시하며, 상기 열은 변환식을 입력 데이터의 단일 레코드에 적용한 출력 값을 나타내는, 컴퓨터로 판독가능한 기억 디바이스.
  92. 제91항에 있어서,
    하나 이상의 지시자는 필드에 대한 값의 컬럼에 대한 유효성 정보를 지시하며, 상기 컬럼은 입력 데이터의 각각의 레코드에 단일의 변환식을 여러 번 적용한 결과를 나타내는, 컴퓨터로 판독가능한 기억 디바이스.
  93. 제39항에 있어서,
    상기 시각적 피드백은 유효성 정보에 기초하여 계산된 통계치를 포함하며, 상기 통계치는 입력 데이터의 다수의 레코드에 유효성 기준을 적용한 결과를 나타내는 데이터를 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  94. 제93항에 있어서,
    상기 통계치는 규칙적인 기간마다 계산되는, 컴퓨터로 판독가능한 기억 디바이스.
  95. 제39항에 있어서,
    상기 시각적 피드백은 유효성 기준과 연관된 고객 에러 메시지를 포함하며,
    상기 고객 에러 메시지는 입력 데이터의 레코드에 유효성 기준을 적용한 특정 경우의 결과에 대한 정보를 나타내는, 컴퓨터로 판독가능한 기억 디바이스.
  96. 제39항에 있어서,
    상기 입력 변수에 독립적인 하나 이상의 상수로서 정의된 출력을 인터페이스에서 수신하는 것을 더 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  97. 제39항에 있어서,
    변환식의 결과를 나타내는 예측 값을 수신하는 것을 더 포함하며,
    유효성 정보를 판정하는 것은, 변환식을 포함하는 각각의 변환하는 매핑된 관계에 대해 생성된 출력 데이터를 상기 예측 값과 비교하는 것을 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  98. 제39항에 있어서,
    상기 유효성 기준은 출력 데이터세트의 하나 이상의 식별된 요소와 연관된 유효 값의 하나 이상의 특성을 각각 정의하는 유효성 규칙 세트를 포함하는, 컴퓨터로 판독가능한 기억 디바이스.
  99. 제98항에 있어서,
    상기 유효성 규칙은 출력 데이터세트의 원하는 포맷에 따라 유효한 것으로 허용되는 출력 데이터의 타입을 나타내는, 컴퓨터로 판독가능한 기억 디바이스.
  100. 제39항에 있어서,
    상기 유효성 기준의 적어도 일부는 출력 데이터세트의 요소의 포맷에 대한 제한을 특정하는, 컴퓨터로 판독가능한 기억 디바이스.
  101. 제39항에 있어서,
    상기 유효성 기준의 적어도 일부는 출력 데이터세트의 다수의 요소 사이에서의 의존성에 기초하여 유효 값의 특성을 특정하는, 컴퓨터로 판독가능한 기억 디바이스.
  102. 제39항에 있어서,
    상기 유효성 기준의 적어도 일부는 다수의 포맷으로 표현된 데이터에 대한 유효 값을 나타내는 데이터 구조를 참조하며, 상기 다수의 포맷은 출력 데이터세트의 요소의 각각의 포맷에 대응하는, 컴퓨터로 판독가능한 기억 디바이스.
KR1020127006862A 2009-09-16 2010-09-16 데이터세트 요소의 매핑 KR101688555B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US24313209P 2009-09-16 2009-09-16
US61/243,132 2009-09-16
PCT/US2010/049142 WO2011035039A1 (en) 2009-09-16 2010-09-16 Mapping dataset elements

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020157008377A Division KR101656813B1 (ko) 2009-09-16 2010-09-16 데이터세트 요소의 매핑
KR1020157003743A Division KR101631978B1 (ko) 2009-09-16 2010-09-16 데이터세트 요소의 매핑

Publications (2)

Publication Number Publication Date
KR20120080572A KR20120080572A (ko) 2012-07-17
KR101688555B1 true KR101688555B1 (ko) 2016-12-21

Family

ID=43731502

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020157008377A KR101656813B1 (ko) 2009-09-16 2010-09-16 데이터세트 요소의 매핑
KR1020157008139A KR101660348B1 (ko) 2009-09-16 2010-09-16 데이터세트 요소의 매핑
KR1020127006862A KR101688555B1 (ko) 2009-09-16 2010-09-16 데이터세트 요소의 매핑
KR1020157003743A KR101631978B1 (ko) 2009-09-16 2010-09-16 데이터세트 요소의 매핑

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020157008377A KR101656813B1 (ko) 2009-09-16 2010-09-16 데이터세트 요소의 매핑
KR1020157008139A KR101660348B1 (ko) 2009-09-16 2010-09-16 데이터세트 요소의 매핑

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020157003743A KR101631978B1 (ko) 2009-09-16 2010-09-16 데이터세트 요소의 매핑

Country Status (8)

Country Link
US (2) US8825695B2 (ko)
EP (1) EP2478433A4 (ko)
JP (3) JP6121163B2 (ko)
KR (4) KR101656813B1 (ko)
CN (2) CN110516209A (ko)
AU (2) AU2010295547B2 (ko)
CA (1) CA2771899C (ko)
WO (1) WO2011035039A1 (ko)

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100922141B1 (ko) 2003-09-15 2009-10-19 아브 이니티오 소프트웨어 엘엘시 데이터 프로파일링 방법 및 시스템
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
WO2010065511A1 (en) 2008-12-02 2010-06-10 Ab Initio Software Llc Mapping instances of a dataset within a data management system
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
JP6121163B2 (ja) 2009-09-16 2017-04-26 アビニシオ テクノロジー エルエルシー データセット要素のマッピング
US8296694B1 (en) * 2009-12-30 2012-10-23 Cadence Design Systems, Inc. System and method for automated synthesis of circuit wrappers
CA2814835C (en) 2010-10-25 2019-01-08 Ab Initio Technology Llc Managing data set objects in a dataflow graph that represents a computer program
US9542662B2 (en) * 2010-12-30 2017-01-10 Sap Se Lineage information for streaming event data and event lineage graph structures for visualization
WO2012097278A1 (en) 2011-01-14 2012-07-19 Ab Initio Technology Llc Managing changes to collections of data
CN103348598B (zh) * 2011-01-28 2017-07-14 起元科技有限公司 生成数据模式信息
CN102722412A (zh) 2011-03-31 2012-10-10 国际商业机器公司 组合计算装置和方法
US8392408B1 (en) 2011-05-04 2013-03-05 Google Inc. Coordinating successive search queries using a query cursor
US8930330B1 (en) * 2011-06-27 2015-01-06 Amazon Technologies, Inc. Validation of log formats
JP5613118B2 (ja) * 2011-07-22 2014-10-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 変換規則生成支援装置、方法、およびプログラム
CN102902685B (zh) * 2011-07-27 2016-04-20 阿里巴巴集团控股有限公司 基于数据库的工具系统的测试方法及装置
US8763093B2 (en) * 2011-09-12 2014-06-24 Microsoft Corporation Access control management
US10546057B2 (en) * 2011-10-28 2020-01-28 Microsoft Technology Licensing, Llc Spreadsheet program-based data classification for source target mapping
US9148329B1 (en) 2011-11-30 2015-09-29 Google Inc. Resource constraints for request processing
US9235607B1 (en) * 2012-03-29 2016-01-12 Google Inc. Specifying a predetermined degree of inconsistency for test data
US20130268855A1 (en) * 2012-04-10 2013-10-10 John O'Byrne Examining an execution of a business process
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9659042B2 (en) * 2012-06-12 2017-05-23 Accenture Global Services Limited Data lineage tracking
CN103678353B (zh) * 2012-09-11 2017-06-20 北京大学 用于稿件中的职务信息的检查方法和装置
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US9063998B2 (en) * 2012-10-18 2015-06-23 Oracle International Corporation Associated information propagation system
CA2887670C (en) 2012-10-22 2021-05-25 Ab Initio Technology Llc Profiling data with location information
US9703822B2 (en) * 2012-12-10 2017-07-11 Ab Initio Technology Llc System for transform generation
US9892026B2 (en) 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
BR112015018905B1 (pt) 2013-02-07 2022-02-22 Apple Inc Método de operação de recurso de ativação por voz, mídia de armazenamento legível por computador e dispositivo eletrônico
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9928283B2 (en) * 2013-04-15 2018-03-27 Validus Solutions, Inc. Tracing data through a transformation process using tracer codes
CN104123309B (zh) * 2013-04-28 2017-08-25 国际商业机器公司 用于数据管理的方法和系统
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9384231B2 (en) * 2013-06-21 2016-07-05 Bank Of America Corporation Data lineage management operation procedures
US9984059B2 (en) 2013-09-27 2018-05-29 Ab Initio Technology Llc Evaluating rules applied to data
EP3726375B1 (en) * 2013-12-06 2023-02-01 AB Initio Technology LLC Source code translation
US11487732B2 (en) 2014-01-16 2022-11-01 Ab Initio Technology Llc Database key identification
KR102361153B1 (ko) 2014-03-07 2022-02-09 아브 이니티오 테크놀로지 엘엘시 데이터 유형에 관련된 데이터 프로파일링 동작 관리
KR102409552B1 (ko) * 2014-03-14 2022-06-15 아브 이니티오 테크놀로지 엘엘시 키드 엔티티들의 속성 매핑
US9607073B2 (en) 2014-04-17 2017-03-28 Ab Initio Technology Llc Processing data from multiple sources
US10089409B2 (en) 2014-04-29 2018-10-02 Microsoft Technology Licensing, Llc Event-triggered data quality verification
US10877955B2 (en) * 2014-04-29 2020-12-29 Microsoft Technology Licensing, Llc Using lineage to infer data quality issues
US10552439B2 (en) * 2014-05-11 2020-02-04 Informatica Llc Grid format data viewing and editing environment
US20150331875A1 (en) * 2014-05-16 2015-11-19 Syntel, Inc. System and method for validating integrated data recasting objects
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
CN106471570B (zh) 2014-05-30 2019-10-01 苹果公司 多命令单一话语输入方法
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10290126B2 (en) * 2014-07-01 2019-05-14 Oath Inc. Computerized systems and methods for graph data modeling
EP3191962B1 (en) 2014-07-18 2019-12-11 AB Initio Technology LLC Managing parameter sets
EP3189419B1 (en) * 2014-09-02 2023-01-25 AB Initio Technology LLC Managing invocation of tasks
US9626393B2 (en) * 2014-09-10 2017-04-18 Ab Initio Technology Llc Conditional validation rules
US11354755B2 (en) 2014-09-11 2022-06-07 Intuit Inc. Methods systems and articles of manufacture for using a predictive model to determine tax topics which are relevant to a taxpayer in preparing an electronic tax return
US9720958B2 (en) 2014-10-24 2017-08-01 International Business Machines Corporation User driven business data aggregation and cross mapping framework
CN104361047B (zh) * 2014-10-29 2019-12-24 中国建设银行股份有限公司 一种客户端中的数据展示方法及装置
US10255641B1 (en) 2014-10-31 2019-04-09 Intuit Inc. Predictive model based identification of potential errors in electronic tax return
US10176234B2 (en) * 2014-11-05 2019-01-08 Ab Initio Technology Llc Impact analysis
US10521460B2 (en) * 2015-02-11 2019-12-31 Ab Initio Technology Llc Filtering data lineage diagrams
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10740853B1 (en) 2015-04-28 2020-08-11 Intuit Inc. Systems for allocating resources based on electronic tax return preparation program user characteristics
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10409802B2 (en) 2015-06-12 2019-09-10 Ab Initio Technology Llc Data quality analysis
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10366073B2 (en) * 2015-06-30 2019-07-30 Bank Of America Corporation System for automating data validation
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10650020B1 (en) * 2015-09-17 2020-05-12 Trifacta Inc. Analyzing transformations for preprocessing datasets
US10740854B1 (en) 2015-10-28 2020-08-11 Intuit Inc. Web browsing and machine learning systems for acquiring tax data during electronic tax return preparation
US20170124154A1 (en) 2015-11-02 2017-05-04 International Business Machines Corporation Establishing governance rules over data assets
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10528328B2 (en) 2015-12-08 2020-01-07 Microsoft Technology Licensing, Llc Learning from input patterns in Programing-By-Example
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10410295B1 (en) * 2016-05-25 2019-09-10 Intuit Inc. Methods, systems and computer program products for obtaining tax data
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10007674B2 (en) * 2016-06-13 2018-06-26 Palantir Technologies Inc. Data revision control in large-scale data analytic systems
US10853376B2 (en) 2016-06-19 2020-12-01 Data.World, Inc. Collaborative dataset consolidation via distributed computer networks
US11755602B2 (en) * 2016-06-19 2023-09-12 Data.World, Inc. Correlating parallelized data from disparate data sources to aggregate graph data portions to predictively identify entity data
US10452625B2 (en) * 2016-06-30 2019-10-22 Global Ids, Inc. Data lineage analysis
KR101862614B1 (ko) * 2016-10-05 2018-05-31 한국전력공사 프로그램 유효성 검증 장치 및 컴퓨터 판독가능 기록 매체
US11138676B2 (en) 2016-11-29 2021-10-05 Intuit Inc. Methods, systems and computer program products for collecting tax data
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10755051B2 (en) * 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10698884B2 (en) 2017-11-06 2020-06-30 Bank Of America Corporation Dynamic lineage validation system
US11068540B2 (en) 2018-01-25 2021-07-20 Ab Initio Technology Llc Techniques for integrating validation results in data profiling and related systems and methods
AU2019228387A1 (en) * 2018-02-27 2020-10-01 Zetane Systems Inc. Scalable transform processing unit for heterogeneous data
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US11176104B2 (en) 2018-04-16 2021-11-16 Bank Of America Corporation Platform-independent intelligent data transformer
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
EP3824398A1 (en) 2018-07-19 2021-05-26 AB Initio Technology LLC Publishing to a data warehouse
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11645425B2 (en) * 2019-07-03 2023-05-09 Beyond Semiconductor, d.o.o. Systems and methods for data-driven secure and safe computing
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US20220366249A1 (en) * 2019-10-22 2022-11-17 Shenzhen Corerain Technologies Co., Ltd. Method and device for adjusting deep learning network, server, and storage medium
US11514072B1 (en) 2019-12-31 2022-11-29 Cigna Intellectual Property, Inc. Computerized system for programmatic mapping of record lineage based on data flow through data storage components
US11086848B1 (en) * 2020-02-11 2021-08-10 Bank Of America Corporation Dynamic data transformation system
CN113360363B (zh) * 2020-03-04 2024-04-02 腾讯科技(深圳)有限公司 微服务系统的测试方法、装置、设备和计算机存储介质
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
CN111930532B (zh) * 2020-07-09 2023-11-17 智盈未来(西安)信息技术有限公司 航电数据集成方法及装置
US11797541B1 (en) 2020-10-23 2023-10-24 State Farm Mutual Automobile Insurance Company Systems and methods for enhanced rules conflict checking with data validation
CN112882705B (zh) * 2021-03-01 2024-03-19 浪潮通用软件有限公司 基于界面更新的表达式计算方法、装置、设备及介质
US11567998B2 (en) * 2021-03-25 2023-01-31 Databricks, Inc. Dataflow graph processing
US11461297B1 (en) 2021-06-09 2022-10-04 T-Mobile Usa, Inc. Ensuring database integrity using a data flow in a graph, such as for use by a wireless telecommunications service provider
US11533235B1 (en) 2021-06-24 2022-12-20 Bank Of America Corporation Electronic system for dynamic processing of temporal upstream data and downstream data in communication networks
TWI792684B (zh) * 2021-11-17 2023-02-11 瑞昱半導體股份有限公司 資料傳輸方法以及資料傳輸系統
US11907241B2 (en) * 2022-06-17 2024-02-20 Hewlett Packard Enterprise Development Lp Data recommender using lineage to propagate value indicators

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070226203A1 (en) * 2006-03-23 2007-09-27 Microsoft Corporation Generation of query and update views for object relational mapping
US20080256014A1 (en) * 2007-04-10 2008-10-16 Joel Gould Editing and Compiling Business Rules

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758351A (en) * 1995-03-01 1998-05-26 Sterling Software, Inc. System and method for the creation and use of surrogate information system objects
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US6216131B1 (en) 1998-02-06 2001-04-10 Starfish Software, Inc. Methods for mapping data fields from one data set to another in a data processing environment
US6948154B1 (en) 1999-03-22 2005-09-20 Oregon State University Methodology for testing spreadsheets
US7120638B1 (en) 1999-09-21 2006-10-10 International Business Machines Corporation Method, system, program, and data structure for cleaning a database table
US6965889B2 (en) * 2000-05-09 2005-11-15 Fair Isaac Corporation Approach for generating rules
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US6708186B1 (en) * 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
CN1339756A (zh) * 2000-08-23 2002-03-13 松下电器产业株式会社 文档检索和分类方法及其装置
US20020097419A1 (en) * 2001-01-19 2002-07-25 Chang William Ho Information apparatus for universal data output
US7117430B2 (en) 2001-02-27 2006-10-03 Microsoft Corporation Spreadsheet error checker
US7614036B2 (en) 2001-03-22 2009-11-03 Robert D Bjornson Method and system for dataflow creation and execution
JP2002279147A (ja) * 2001-03-22 2002-09-27 Sharp Corp 内製化判断支援装置、内製化判断支援方法および内製化判断支援プログラムを記録した機械読取可能な記録媒体および内製化判断支援プログラム
US7853553B2 (en) * 2001-03-26 2010-12-14 Siebel Systems, Inc. Engine for converting data from a source format to a destination format using user defined mappings
US6494159B2 (en) 2001-05-11 2002-12-17 The United States Of America As Represented By The Secretary Of The Navy Submarine launched unmanned combat vehicle replenishment
US7099885B2 (en) * 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US6868526B2 (en) 2001-07-18 2005-03-15 The Mathworks, Inc. Graphical subclassing
AUPR966001A0 (en) * 2001-12-20 2002-01-24 Canon Information Systems Research Australia Pty Ltd A microprocessor card defining a custom user interface
US7080088B1 (en) 2002-01-30 2006-07-18 Oracle International Corporation Automatic reconciliation of bindable objects
US7110924B2 (en) * 2002-05-15 2006-09-19 Caterpillar Inc. Method for controlling the performance of a target system
US7574652B2 (en) * 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
JP2004110182A (ja) * 2002-09-13 2004-04-08 Toshiba Corp データ変換装置およびデータ変換方法およびデータ変換プログラム
US7167850B2 (en) 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
US7739223B2 (en) * 2003-08-29 2010-06-15 Microsoft Corporation Mapping architecture for arbitrary data models
US20050060317A1 (en) * 2003-09-12 2005-03-17 Lott Christopher Martin Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software
KR100922141B1 (ko) 2003-09-15 2009-10-19 아브 이니티오 소프트웨어 엘엘시 데이터 프로파일링 방법 및 시스템
US7865507B2 (en) 2003-09-15 2011-01-04 Oracle International Corporation Data quality analyzer
US7765529B1 (en) 2003-10-31 2010-07-27 The Mathworks, Inc. Transforming graphical objects in a graphical modeling environment
US7743382B2 (en) 2003-11-03 2010-06-22 Ramal Acquisition Corp. System for deadlock condition detection and correction by allowing a queue limit of a number of data tokens on the queue to increase
US20050187984A1 (en) 2004-02-20 2005-08-25 Tianlong Chen Data driven database management system and method
US8165853B2 (en) 2004-04-16 2012-04-24 Knowledgebase Marketing, Inc. Dimension reduction in predictive model development
JP4275013B2 (ja) * 2004-06-21 2009-06-10 三洋電機株式会社 データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
US20060007464A1 (en) * 2004-06-30 2006-01-12 Percey Michael F Structured data update and transformation system
US7353227B2 (en) 2004-07-23 2008-04-01 Sap Aktiengesellschaft Conflict resolution engine
US7848578B2 (en) * 2004-09-13 2010-12-07 Nokia Corporation Methods, devices and computer program products for capture and display of visually encoded data and an image
US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
WO2006096681A1 (en) * 2005-03-07 2006-09-14 Computer Associates Think, Inc. System and method for data manipulation
JP4817697B2 (ja) * 2005-03-30 2011-11-16 富士通株式会社 変換規則評価プログラム及び変換規則評価装置
JP4550641B2 (ja) * 2005-03-30 2010-09-22 大陽日酸エンジニアリング株式会社 データ照合装置及び方法
US8630917B2 (en) 2005-06-09 2014-01-14 At&T Intellectual Property Ii, L.P. Arrangement for guiding user design of comprehensive product solution using on-the-fly data validation
US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7464105B2 (en) 2005-07-06 2008-12-09 International Business Machines Corporation Method for performing semi-automatic dataset maintenance
US7870162B2 (en) 2005-07-29 2011-01-11 Sap Ag Method for generating properly formed expressions
US20070050750A1 (en) 2005-08-31 2007-03-01 Microsoft Corporation Extensible data-driven setup application for operating system
WO2007048229A1 (en) * 2005-10-25 2007-05-03 Angoss Software Corporation Strategy trees for data mining
US8060821B2 (en) * 2005-12-09 2011-11-15 Apple Inc. Enhanced visual feedback of interactions with user interface
US7761586B2 (en) * 2006-02-06 2010-07-20 Microsoft Corporation Accessing and manipulating data in a data flow graph
US7661067B2 (en) 2006-02-21 2010-02-09 International Business Machines Corporation Method for providing quick responses in instant messaging conversations
US20070294119A1 (en) * 2006-03-30 2007-12-20 Adaptive Alpha, Llc System, method and computer program product for evaluating and rating an asset management business and associate investment funds using experiential business process and performance data, and applications thereof
US8868577B2 (en) 2006-03-31 2014-10-21 Sap Se Generic database manipulator
US7797319B2 (en) * 2006-05-15 2010-09-14 Algebraix Data Corporation Systems and methods for data model mapping
US7870556B2 (en) * 2006-05-16 2011-01-11 Ab Initio Technology Llc Managing computing resources in graph-based computations
US8572236B2 (en) 2006-08-10 2013-10-29 Ab Initio Technology Llc Distributing services in graph-based computations
US8538918B1 (en) * 2006-12-05 2013-09-17 Corelogic Solutions, Llc Systems and methods for tracking parcel data acquisition
GB0700450D0 (en) 2007-01-10 2007-02-21 Radiation Watch Ltd The RWL threat engine
US9430552B2 (en) * 2007-03-16 2016-08-30 Microsoft Technology Licensing, Llc View maintenance rules for an update pipeline of an object-relational mapping (ORM) platform
US20080243765A1 (en) * 2007-03-29 2008-10-02 Ariel Fuxman Method for generating nested mapping specifications in a schema mapping formalism
US7603368B2 (en) * 2007-03-30 2009-10-13 Fmr Llc Mapping data on a network
US8032404B2 (en) 2007-06-13 2011-10-04 International Business Machines Corporation Method and system for estimating financial benefits of packaged application service projects
US8694518B2 (en) * 2007-06-14 2014-04-08 Colorquick, L.L.C. Method and apparatus for database mapping
US8566296B2 (en) 2007-09-14 2013-10-22 Oracle International Corporation Support for compensation aware data types in relational database systems
CN101884024B (zh) 2007-09-20 2016-03-30 起元技术有限责任公司 在基于图的计算中管理数据流
WO2009125841A1 (ja) * 2008-04-10 2009-10-15 浜理薬品工業株式会社 5-メチルウリジンを出発原料とするエチニルチミジン化合物の製造方法
JP4224126B1 (ja) 2008-06-09 2009-02-12 パナソニック株式会社 データベース管理サーバ装置、データベース管理システム、データベース管理方法およびデータベース管理プログラム
US20090319494A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Field mapping for data stream output
AU2009267034B2 (en) * 2008-06-30 2015-12-10 Ab Initio Technology Llc Data logging in graph-based computations
US8082228B2 (en) 2008-10-31 2011-12-20 Netapp, Inc. Remote office duplication
KR101688554B1 (ko) * 2008-11-12 2016-12-21 아브 이니티오 테크놀로지 엘엘시 데이터 객체의 관리 및 자동 링킹
WO2010065511A1 (en) * 2008-12-02 2010-06-10 Ab Initio Software Llc Mapping instances of a dataset within a data management system
AU2010208112B2 (en) * 2009-01-30 2015-05-28 Ab Initio Technology Llc Processing data using vector fields
EP2221733A1 (en) 2009-02-17 2010-08-25 AMADEUS sas Method allowing validation in a production database of new entered data prior to their release
US8935702B2 (en) 2009-09-04 2015-01-13 International Business Machines Corporation Resource optimization for parallel data integration
JP6121163B2 (ja) * 2009-09-16 2017-04-26 アビニシオ テクノロジー エルエルシー データセット要素のマッピング
US8583664B2 (en) 2010-05-26 2013-11-12 Microsoft Corporation Exposing metadata relationships through filter interplay
US8732143B2 (en) 2010-08-27 2014-05-20 Microsoft Corporation Reducing locking during database transactions
CA2814835C (en) 2010-10-25 2019-01-08 Ab Initio Technology Llc Managing data set objects in a dataflow graph that represents a computer program
US8949166B2 (en) 2010-12-16 2015-02-03 International Business Machines Corporation Creating and processing a data rule for data quality
WO2012097278A1 (en) * 2011-01-14 2012-07-19 Ab Initio Technology Llc Managing changes to collections of data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070226203A1 (en) * 2006-03-23 2007-09-27 Microsoft Corporation Generation of query and update views for object relational mapping
US20080256014A1 (en) * 2007-04-10 2008-10-16 Joel Gould Editing and Compiling Business Rules

Also Published As

Publication number Publication date
US8930337B2 (en) 2015-01-06
JP6121163B2 (ja) 2017-04-26
EP2478433A4 (en) 2016-09-21
KR101660348B1 (ko) 2016-09-27
KR20150038759A (ko) 2015-04-08
CA2771899A1 (en) 2011-03-24
JP2016015155A (ja) 2016-01-28
JP6395680B2 (ja) 2018-09-26
KR20150027838A (ko) 2015-03-12
KR20150040387A (ko) 2015-04-14
CN110516209A (zh) 2019-11-29
JP2018185858A (ja) 2018-11-22
US20110066602A1 (en) 2011-03-17
US20130318062A1 (en) 2013-11-28
CA2771899C (en) 2017-08-01
AU2010295547B2 (en) 2015-05-07
KR101656813B1 (ko) 2016-09-12
AU2010295547A1 (en) 2012-03-08
KR20120080572A (ko) 2012-07-17
US8825695B2 (en) 2014-09-02
WO2011035039A1 (en) 2011-03-24
JP2013505502A (ja) 2013-02-14
CN102656554A (zh) 2012-09-05
EP2478433A1 (en) 2012-07-25
CN102656554B (zh) 2019-09-10
KR101631978B1 (ko) 2016-06-20
AU2015203037B1 (en) 2015-08-20

Similar Documents

Publication Publication Date Title
KR101688555B1 (ko) 데이터세트 요소의 매핑
JP7361609B2 (ja) ルールを編集、シミュレート、バージョン制御、及びビジネスプロセス管理する統合システム
US9589232B2 (en) Editing and compiling business rules
KR102143889B1 (ko) 메타데이터 관리를 위한 시스템
CN107135663A (zh) 影响分析
JP2017506371A (ja) データに適用される規則の評価
WO2010002919A1 (en) Data logging in graph-based computations
KR102237167B1 (ko) 변환 생성용 시스템
CN111949307A (zh) 一种开源项目知识图谱的优化方法和系统
Mickes et al. pyWitness 1.0: A Python eyewitness identification analysis toolkit
Wojszczyk et al. The process of verifying the implementation of design patterns—used data models
US9348850B1 (en) Method for large-scale data schema analysis and quality assurance
Antunes et al. Automatic Spreadsheet Generation from Conceptual Models
JP2002041288A (ja) ソフトウエア開発支援方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right