KR101613110B1 - 벡터 필드를 이용한 데이터 처리 방법 - Google Patents

벡터 필드를 이용한 데이터 처리 방법 Download PDF

Info

Publication number
KR101613110B1
KR101613110B1 KR1020117018177A KR20117018177A KR101613110B1 KR 101613110 B1 KR101613110 B1 KR 101613110B1 KR 1020117018177 A KR1020117018177 A KR 1020117018177A KR 20117018177 A KR20117018177 A KR 20117018177A KR 101613110 B1 KR101613110 B1 KR 101613110B1
Authority
KR
South Korea
Prior art keywords
rule
output
value
values
input
Prior art date
Application number
KR1020117018177A
Other languages
English (en)
Other versions
KR20110119683A (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 KR20110119683A publication Critical patent/KR20110119683A/ko
Application granted granted Critical
Publication of KR101613110B1 publication Critical patent/KR101613110B1/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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

하나 이상의 입력값에 기하여 출력값을 생성하기 위한 적어도 하나의 규칙 케이스(210a~h)를 가지는 규칙(152)를 받는 단계, 입력 데이터 집합(100)으로부터 데이터를 받고 출력 데이터 집합(120)에서 적어도 하나의 출력 변호(508, 801)에 대하여 제1 계열의 값(813)을 생성하는 단계를 포함하는 규칙(152)에 기하여 데이터를 변형하는 변형(112, 156)을 생성하고 상기 제1 계열의 값(813)의 적어도 하나의 값은 제2 계열의 값(816)을 가지는 단계, 및 상기 제2 계열의 값(816)을 저장하기 위하여 출력 데이터 집합(120)에서 적어도 하나의 출력 변수(508, 801)에 대응하는 출력 필드를 제공하는 단계를 포함하는 방법이 개시되어 있다.

Description

벡터 필드를 이용한 데이터 처리 방법{PROCESSING DATA USING VECTOR FIELDS}
관련 출원에 대한 상호 참조
본 출원은 2009년 1월 30일에 출원하였으며 본 명세서에 참조로서 포함된 미국 특허 출원 번호 제61/148,888호의 우선권을 주장하고 있다.
본 명세서는 벡터 필드를 이용한 데이터 처리에 관한 것이다.
몇몇 컴퓨팅 시스템은 다양한 데이터 처리 애플리케이션에서 자동화된 의사 결정에 사용되는 규칙들을 특정하기 위한 인터페이스를 제공한다. 예를 들어 신용 카드 거래 또는 항공 노선 상용(常用) 고객 프로그램을 표시하는 데이터 처리와 연관된 결정들은 주어진 규칙의 집합에 의해 규율 될 수 있다. 몇몇 경우에, 이들 규칙들은 인간이 읽을 수 있는 형태로 기술된다. 컴퓨팅 시스템은 사용자가 이들 규칙을 정의하거나 편집하기 위한 인터페이스를 제공할 수 있고, 그리고 데이터 처리 시스템으로 규칙들을 도입할 수 있다.
본 발명은 벡터 필드를 이용한 데이터 처리를 개선하고자 한다.
일반적으로, 본 발명의 한 측면에서, 본 발명의 방법은 하나 이상의 입력값에 기하여 출력을 생성하는 하나 이상의 규칙을 포함하는 규칙을 받고, 입력 데이터 집합으로부터 데이터를 받고 출력 데이터 집합의 하나 이상의 출력 변수에 대한 제1 계열의 값을 생성하는 것을 포함하는 규칙에 기하여 데이터를 변형하는 변형을 생성하고, 상기 제1 계열의 값의 하나 이상의 값은 제2 계열의 값을 포함하고; 상기 제2 계열의 값을 저장하기 위한 상기 출력 데이터 집합의 하나 이상의 출력 변수에 따라서 출력 필드를 제공하는 것을 포함한다.
본 발명의 측면들은 이하의 하나 이상의 특징들을 포함할 수 있다.
변형은 그래프로 표시되는 그래프 기반 애플리케이션의 요소에 포함될 수 있고, 그래프에서 꼭지점은 요소를 나타내고, 그래프에서 꼭지점 사이의 직접 연결은 요소들 사이의 데이터의 흐름을 나타낸다.
변형을 포함하는 제1 그래프 요소는 입력 데이터 집합으로부터 변형으로의 데이터의 흐름을 제공할 수 있다.
제1 그래프 요소는 실행 가능한 계산 요소이고, 그래프는 입력 데이터 집합을 나타내는 데이터 저장 요소인 제2 그래프 요소를 포함할 수 있다.
출력 데이터 집합의 적어도 하나의 변수에 대하여 제1 계열의 값을 생성하는 것은 출력 테이블에 대한 열을 생성하는 단계를 포함하고, 각각의 열은 출력값을 포함하는 변수의 집합에 대한 값을 가지는 레코드를 정의한다.
제2 계열의 값을 저장하기 위하여 출력 필드를 제공하는 것은 미리 정해진 수의 제2 계열의 값을 저장하기 위하여 어레이를 제공하는 단계를 포함할 수 있고, 이 미리 정해진 값은 사용자 정의 숫자로 수정 가능한 디폴트 값이다. 출력 필드는 테이블의 셀을 포함할 수 있다.
규칙을 받는 것은 적어도 규칙 테이블의 행을 받는 단계를 포함할 수 있고, 행은 규칙의 케이스에 대응하고, 입력 규칙과 미리 정해진 값 또는 하나 이상의 입력값으로부터 계산된 값의 하나 이상의 조합을 포함하는 출력을 가진다.
규칙의 케이스는 다음 것 중 하나 이상을 포함할 수 있다: 임계치와 같은 입력값을 갖는 것, 임계치 보다 큰 입력값을 갖는 것, 임계치보다 작은 입력값을 갖는 것, 값의 집합에 속하는 입력값을 갖는 것, 값의 패턴에 일치하는 입력값을 갖는 것, 다른 입력값과 관계를 갖는 것, 규칙의 다른 집합의 출력값과 관계를 갖는 것, 또는 메모리 내의 값과 관계를 갖는 것.
입력 데이터 집합은 스칼라 변수 및 벡터 변수에 대한 값을 가지는 레코드를 포함할 수 있다. 적어도 하나의 레코드는 미리 정해진 수의 레코드를 저장하기 위한 어레이를 포함할 수 있고, 미리 정해진 수는 사용자 정의 숫자로 수정 가능한 디폴트 숫자이다. 적어도 하나의 레코드는 내부 참조 테이블을 포함하여 적어도 하나의 레코드에서 서브 레코드에 대한 키 관계를 정의한다.
본 발명의 방법은 또한 규칙에 응답하여 내부 참조 테이블에 키 규칙에 기하여 출력 데이터 집합에서 출력 변수에 대한 제2 계열의 값을 생성하는 것을 포함할 수 있다.
본 발명의 방법은 또한 규칙 내의 규칙 케이스에 응답하여 출력 데이터 집합의 출력 변수에 대한 값을 생성하는 규칙 케이스를 트리거(trigger)하는 것을 포함할 수 있다.
규칙 케이스를 트리거하는 것은 규칙 내의 적어도 하나의 규칙 케이스를 만족하는 입력 데이터 집합의 스칼라 값에 기하여 규칙을 트리거하는 것을 포함할 수 있다.
규칙 케이스를 트리거하는 것은 규칙 내의 적어도 하나의 규칙 케이스를 만족하는 입력 데이터 집합의 벡터의 각각의 값에 기하여 규칙을 트리거하는 것을 포함할 수 있다.
규칙 케이스를 트리거하는 것은 규칙 내의 적어도 하나의 규칙 케이스를 만족하는 입력 데이터 집합의 벡터에 적용되는 집합 함수(aggregation function)의 출력에 기하여 규칙을 트리거하는 것을 포함할 수 있다.
변형을 생성하는 것은 규칙 내의 복수의 규칙 케이스의 각각을 복수의 논리적 표현을 형성하는 논리적 표현으로 변환하는 것과, 복수의 논리적 표현을 컴퓨터 실행가능한 코드로 컴파일하는 것을 포함할 수 있다.
복수의 논리적 표현을 컴파일하는 것은 표현을 결합하는 것, 개별적 표현을 최적화하는 것, 그리고 표현의 그룹을 최적화하는 것 중 하나 이상을 포함할 수 있다.
다른 측면에서, 일반적으로, 데이터 플로우를 표현하는 연결 요소에 의해 연결된 데이터 처리 요소를 가지는 그래프 기반 계산에서 요소를 업데이트 하기 위한 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능한 매체는 컴퓨터로 하여금: 하나 이상의 입력값에 기하여 출력값을 생성하기 위한 적어도 하나의 규칙 케이스를 가지는 규칙을 받고, 입력 데이터 집합으로부터 데이터를 받고 출력 데이터 집합의 적어도 하나의 출력 변수에 대하여 제1 계열의 값을 생성하는 것을 포함하는 규칙에 기하여 데이터를 변형하기 위한 변형을 생성하고, 제1 계열의 값에서 적어도 하나의 값은 제2 계열의 값을 갖고, 제2 계열의 값을 저장하기 위하여 출력 데이터 집합의 적어도 하나의 변수에 대응하는 출력 필드를 제공하는 지시를 포함한다.
다른 측면에서, 시스템은 하나 이상의 입력값에 기하여 출력값을 생성하기 위한 적어도 하나의 규칙 케이스를 가지는 규칙을 받는 수단, 입력 데이터 집합으로부터 데이터를 받고 출력 데이터 집합의 적어도 하나의 출력 변수에 대한 제1 계열의 값을 생성하는 것을 포함하는 규칙에 기하여 데이터를 변형하기 위한 변형을 생성하기 위하여 구성된 프로세서, 제1 계열의 값의 적어도 하나의 값은 제2 계열의 값을 포함하고, 제2 계열의 값을 저장하기 위하여 출력 데이터 집합의 적어도 하나 이상의 출력 변수에 대응하는 출력 필드를 제공하는 수단을 포함한다.
본 발명에 의하면 효율적인 데이터 처리가 가능해진다.
본 발명의 다른 특징 및 장점들은 이하의 상세한 설명 및 특허청구범위로부터 명확해질 것이다.
도 1은 예시적 변형을 나타내는 개략도이다.
도 2는 예시적 변형 생성부이다.
도 3 및 4는 예시적 규칙 집합이다.
도 5는 예시적 다수회 해제(Fire-Many) 규칙 집합이다.
도 6, 7, 8은 예시적 출력, 규칙 및 결과 탭이다.
도 9는 스칼라 및 벡터의 계산을 개략적으로 도시한다.
도 10a 및 도 10b는 레코드 벡터를 가지는 입력 레코드의 예를 도시한다.
비즈니스 규칙은 예를 들어, 데이터를 한 포맷에서 다른 포맷으로 변형하고, 데이터에 대하여 결정을 내리고, 또는 입력 데이터의 집합에 기하여 새로운 데이터를 생성하는 데 사용될 수 있는 기준의 집합으로서 표현될 수 있다.
예를 들어, 도 1에서, 항공 예약 시스템에서 레코드(102)는 승객 이름(104), 승객이 최근에 비행한 거리(106), 승객 티켓의 클래스(108) 및 항공사의 승객의 최근의 행(110)을 나타낸다. 비즈니스 규칙은 그러한 승객은 탑승 그룹 "1" 즉 그룹(118) 내에 분류되어야 한다고 표시할 수 있다. 비즈니스 규칙은 일반적으로 인간이 이해하기 쉽고, 이는 예를 들어 "퍼스트 클래스 승객은 그룹 1이다"와 같은 것인데, 그러나 컴퓨터가 데이터를 조작하기 위하여 사용할 수 있기 전에 컴퓨터가 이해할 수 있는 언어로 번역될 필요가 있을수 있다. 따라서, 비즈니스 규칙을 구현하기 위하여, 변형(112)가 입력 레코드, 예를 들어 레코드(102)를 하나 이상의 데이터 소스, 예를 들어 입력 데이터 집합(100)으로부터 받고, 승객의 이름(104) 및 그룹(118)을 표시하는 출력 레코드, 예를 들어 레코드(114)를 출력 데이터 집합(120)으로 생성하기 위하여 생성된다. 입력 및 출력 데이터 집합은 또한 데이터 스트림이라고도 불린다.
비전문가를 위하여 변형(112)의 생성을 단순화하면, 전형적으로 편집툴(도시되지 않음)이 제공되어 규칙 집합으로 불리는 비즈니스 규칙의 집합을 사용자에게 친숙한 포맷으로 입력한다. 한편, 규칙의 집합은 컴퓨터 시스템에 지시하여 변형(112)를 생성하고 변형(112)는 또한 컴퓨터 시스템에 데이터 집합(100)을 어떻게 처리할 것인가, 그리고 출력 데이터 집합(120)으로 무엇을 생성할 것인가를 추가로 지시한다. 단일 변형에 대응하는 규칙 또는 규칙 집합은 하나 이상의 규칙 케이스를 포함할 수 있고, 이는 입력 레코드에 따라서 규칙 집합의 출력 변수에 대하여 다른 값들을 계산한다. 규칙 내의 규칙 케이스가 트리거(trigger)될 때, 규칙, 그리고 더욱 구체적으로 규칙 케이스는 해제된 것으로 고려된다. 예를 들어, 규칙 내의 오직 하나의, 규칙 케이스만이 파일될 수 있다. 몇몇 예에서는, 둘 이상의 규칙 케이스가 파일될 수 있다. 몇몇 예에서, 규칙 케이스가 해제되는 경우, 전체 규칙이 해제된 것으로 간주될 수 있다. 몇몇 구현 예에서, 규칙 케이스 또는 규칙이 트리거되거나 해제되는 것은 예를 들어 예를 들어 입력 스칼라 또는 벡터 값이 입력 데이터 집합에서 규칙 케이스 또는 규칙의 하나 이상의 조건을 만족하는 경우이다. 규칙 집합은 또한 다른 규칙 집합을 포함할 수 있다. 이러한 다른 규칙 집합이 추가의 또는 대체의 출력 변수에 대한 값을 생성할 수 있다. 예를 들어, 규칙 집합은 다른 규칙 집합을 직접 포함하거나 간접적으로 참조할 수 있는데, 이는 "포함된" 규칙 집합이라고 불린다.
예시적인 변형 생성이 도 2에서 도시된다. 생성부(150)이 편집기(154)로부터 입력 규칙 집합(152)로서 수신하고 변형(156)을 생성한다. 생성된 변형(156)은 시스템의 구조 및 변형과 비즈니스 규칙의 목적에 따라, 그래프 내에서 사용될 요소로서 또는 전체 그래프 그 자체로서 그래프 기반 계산 시스템(158)에 제공될 수 있다. 그래프 기반 계산 시스템(158)은 프로그래머가 요소를 벽돌처럼 사용함으로써 그래프 기반 애플리케이션을 작성할 수 있도록 하는 계산 환경을 제공할 수 있다. 그래프 기반 애플리케이션은 자주 방향 그래프, 이는 요소(데이터 저장 요소 또는 실행 가능한 계산 요소)를 나타내는 그래프의 꼭지점을 가지고, 그리고 요소 사이의 데이터의 흐름을 나타내는 그래프에서 방향 연결 또는 "모서리"로 나타난다. 데이터 플로우 그래프(또한 단순히 "그래프"로도 불린다)는 모듈화된 실체이다. 각 그래프는 하나 이상의 다른 그래프로 만들어질 수 있고, 특정 그래프는 더 큰 그래프의 요소일 수 있다.
생성기(150)은 예를 들어, 컴파일러, 사용자 작성 프로그램 또는 그래프 기반 계산일 수 있는데, 이는 규칙 집합(152)를 받고 변형(156)을 출력하기 이한 표준 도구를 이용하여 구성된다. 본 기술분야에 알려진 변형(156)을 생성하고 이후에 업데이트하는 어떠한 기술도 변형(156)을 생성하는 데 사용될 수 있다. 예를 들어 변형을 생성하는 기술이 발명의 명칭이 "비즈니스규칙의 편집 및 컴파일링"이고 2007년4월10일에 출원된 미국 특허 출원 번호 제11/733,434호에 기재되어 있고, 본 명세서에 참조로서 포함되어 있다.
몇몇 예에서, 변형(156)은 입력 레코드(102)에 대응하는 출력 변수에 관하여 하나의 값만을 생성한다. 그러한 구성에서, 규칙 집합은 많아야 오직 한 번 해제할 수 있다. 따라서, 몇몇 문제들, 예를 들어 데이터 품질문제는 변형(156)을 이용하면 쉽게 구현될 수 없다. 몇몇 예에서, 출력 데이터 집합(120)의 출력 변수는 "1회 기록 출력"을 포함할 수 있다. 일반적으로, "1회 기록 출력"은 전형적으로 주어진 입력 레코드에 대하여 한 번 기록되고, 주어진 입력 레코드에 대하여 오직 한 값 만을 저장하는 출력 변수이다. 그러한 변수를 생성하는 규칙 집합은 "1회 해제" 규칙이라 불린다.
몇몇 예에서, "다수회 해제" 규칙이 "축적" 출력 변수, 예를 들어 주어진 입력 레코드에 대하여 오직 하나의 값 대신에 일련의 값을 받는 변수를 생성할 수 있다. "다수회 해제" 규칙은 그 입력 레코드에 대하여 트리거되는 규칙 집합 내에서 예를 들어 트리거 되는 제1 규칙 케이스에 대하여가 아니고, 모든 규칙 케이스에 대하여 해제할 것이다.
몇몇 예에서, 규칙 집합은 테이블(또는 "스프레드 시트") 포맷으로 입력될 수 있고, 이는 도 3에 도시된 바와 같고, 셀에서 교차되는 형과 열을 구비한다. 트리거 열(202, 204, 206, 208)은 테이블(200)에서 사용 가능한 입력 데이터 값에 대한 기준에 대응하고, 행(210a~h)는 규칙 케이스, 즉 사용 가능한 입력 데이터 값에 관련있는 기준의 집합에 대응한다. 트리거 열과 응용 가능한 규칙 케이스 행(210n)의 교차점에서의 셀은 그 트리거 열 및 규칙 케이스에 대한 기준을 포함한다. 규칙 케이스(210n)은 주어진 레코드, 예를 들어 도 1의 (102)에 적용되는데, 이는 규칙 케이스가 기준을 가지는 각각의 트리거 열에 대하여 레코드(102)의 데이터 값이 트리거 기준을 만족하는 경우에 그러하다. 규칙 케이스(210n)이 적용되는 경우, 출력은 하나 이상의 출력열(212)에 기하여 생성된다. 앞서 서술된 바와 같이, 일반적으로, 모든 입력 관계가 만족된 규칙 케이스는 "트리거되었다"고 할 수 있고, 규칙 집합은 "해제되었다"고 한다. 각각의 출력열(212)는 잠재적인 출력 변수에 대응하고, 열(212)와 적용 가능한 규칙 케이스 행(210n)의 교차점에서의 대응하는 셀의 값은, 존재하는 경우, 그 변수에 대한 출력을 결정한다. 몇몇 예에서, 셀은 변수에 대하여 지정된 값을 포함할 수 있고, 또는 아래에서 논의되는 바와 같이 출력값을 생성하기 위해 평가된 표현을 포함할 수 있다. 몇몇 예에서, 하나 이상의 출력열이 있을 수 있고, 반면 오직 하나인 경우가 도 3에 도시되어 있다.
몇몇 다른 유형의 트리거 열이 존재하고, 이는 변수에 대응하는 열 및 표현을 포함하지만 한 번 계산된 다음에는 변수와 같이 취급되는 열, 표현만을 포함하는 열을 포함한다. 표현만을 포함하는 열은 몇몇 측면에서 변수에 대응하는 열 또는 변수와 같이 취급되는 열보다 간단하다. 그러한 트리거 열은 예를 들면 트리거 열 기준을 정의하기 위하여 다음의 유형의 셀 값을 포함할 수 있다.
·표현. 표현이 0이 아니거나 널(NULL) 값이 아니라고 평가하는 경우, 조건은 참으로 고려될 것이다.
·키워드 "임의의" 또는 빈 스트링. 조건은 항상 참이다. 트리거 열의 각각의 셀은 키워드 "임의의"를 포함하는 하나의 외적 항목과 등가이다.
·키워드 "이외". 조건은, 왼쪽으로 모든 셀이 동일한 행에서, "이외"를 포함하는 셀의 위 쪽의 어떤 셀도 참이 아닌 경우 참이다.
·키워드 "동일". 조건은 위의 셀이 참일 때 참이다.
변수(열 변수)에 대응하는 열은 두 가지 종류의 셀을 가질 수 있다. 한 유형의 셀은 표현 셀이다. 이들은 표현만을 포함한 열에서의 셀과 같이 동작하고, 이는 앞서 설명한 바와 같다. 그러나, 키워드 "이것"이 표현에서 사용되어 열 변수를 지칭할 수 있다. 다른 유형의 셀은 비교값이다. 비교값에 대한 예는 다음과 같다.
comparison_value ::= compound_value ( "or" compound_value )*
compound_value ::= simple_value ( "and" simple_value )*
simple_value ::= [ "not"] ( value_expression | simple_function | membership_expr )
value_expression ::= [ operator ] value_element
operator ::= ">"|"<"|">="|"<="|"!="|"="|"equals
value_element ::= constant | constant | variable |"("expression")"
simple_function ::= "is_null"| "is_blank"| "is_valid"| "is_defined"|"is_bzero"
membership_expr ::= "in""["value_element ( (","|"to"|"or") value_element )* "]"
"*"는 그 항이 0회 또는 그 이상 반복된다는 것을 의미한다.
어떠한 프로그래밍 언어 또는 구문도 사용될 수 있다. 예를 들면, C, Java, DML, 또는 Prolog가 있다. 열 변수는 연산자, 기능, 또는 멤버십 표현에 따라서 비교값에 대하여 비교된다. 도 3의 예에서, 처음의 두 개의 열(202, 204)가 ">=" 연산자를 가지는 비교값을 포함한다. 따라서, 그 열에 대한 값이 대응하는 수보다 크거나 같은 경우 기준은 만족된다. "좌석의 클래스"에서와 같이, 연산자가 없는 경우, "같다"가 추정된다. 상수는 어떤 프로그래밍 언어 또는 신택스에서도 사용되는 임의의 적법한 상수일 수 있다. 표현은 열 변수와 비교될 호환 가능 데이터 유형을 회신하는 데 사용되는 언어에서의 임의의 적법한 표현이다. 몇몇 예에서, 비교치 내의 표현은 모호성을 피하기 위하여 괄호안에 포함된다.
도 3의 예에서, 제1행(210a)는 오직 하나의 열(202)에서만 기준을 가지고, 이는 여행자에 대한 상용 비행 마일의 전체 수가 1,000,000보다 큰 경우, 다른 열이 가질 수 있는 값에 관계없이 규칙 케이스가 적용된다는 것을 표시한다. 그 경우, 그 사용자에 대한 "탑승 그룹" 출력 변수는 그룹 1로 설정된다. 마찬가지로, 제2 규칙 케이스(210b)는 퍼스트 클래스의 임의의 탑승객이 그룹 1에 있다는 것을 나타낸다. 몇몇 예에서, 규칙은 순서대로 평가되고, 그래서 1,000,000 마일을 넘는 여행자 및 퍼스트 클래스 티켓은 그룹 1에 속할 것이나, 제1 규칙 케이스(210a) 만이 트리거될 것이다.
도 3의 규칙 케이스(210a~h) 또한 도 4에 도시된 바와 같이 그 자신의 테이블에서 각각 개별적인 간단한 규칙으로 표시될 수 있다. 규칙(220a~d)는 도 3의 행(210a~d)에 각각 대응하고, 규칙(220e)는 행(210e~h)에 대응하는 4개의 규칙 케이스를 함께 가진다. 사용자는 이들 개별적 규칙을, 도 3에 도시된 전체 테이블을 생성하는 대신에, 별도로 생성할 수 있다. 각각의 규칙 케이스는 모든 트리거 열에 대한 값(적어도 외적인 것)과 모든 출력 열에 대한 값(비워질 수 있는 값, 즉 효율적으로 말하면 "임의의")을 포함한다. 다수의 규칙이 동일한 출력을 생성할 때, 규칙들은 순서지워지고, 하나의 규칙의 규칙 케이스가 입력에 관해 트리거하고 출력을 발생시킬 때까지 순서에 따라 고려된다. 규칙 트리거에 규칙이 없는 경우, 동일한 출력을 만드는 다음 규칙이 처리된다. 출력에 대해서 어떤 규칙 트리거에도 케이스가 없는 경우, 디폴트 값이 사용된다.
몇몇 예에서, 편집 도구의 사용자 인터페이스가 표현을 포함하는 셀을 그래픽으로 식별하기 위하여 사용될 수 있다. 따라서, 사용자는 그 자신에 관해 참 또는 거짓으로 평가될 표현 및 열 변수에 대하여 비교된 값을 회신하는 표현 사이의 차이를 이해할 수 있다. 사용자가 타이핑할 때, 그는 예를 들어 첫 부분에 애스터리스크를 타이핑함으로써 특정 셀이 표현 셀이 될 것이라고 표시할 수 있다.
출력 변수에 대응하는 열에 대하여, 셀은 다음 중 하나를 포함할 수 있다:
·값. 값은 출력 변수에 지정될 것이다.
·표현. 표현의 값은 출력 변수에 저장된다. 표현이 NULL이라고 평가하면 필드는 NULL 값을 얻고, 출력 필드가 null로 될 수 없지 않을 경우에 그러하다. 어떤 경우에도, 에러는 생성된다.
·키워드 "null". 출력 필드가 null이 될 수 있는 경우, 필드는 NULL로 지정될 것이다. 그렇지 않으면, 에러가 생성된다.
·빈 스트링. 출력 필드가 디폴트 값을 가지는 경우, 디폴트 값이 지정된다. 그렇지 않으면, 셀은 키워드 "null"을 포함하고 있는 것처럼 취급된다.
·키워드 "동일". 출력 필드에는 위의 셀에서 계산된 동일한 값이 지정된다.
표현에 더하여, 사용자는 규칙의 임의의 셀에 코멘트를 붙일 수 있고, 이는 사용자 상호 작용(예를 들어 클릭 또는 포인터의 이동)에 응답하여 디스플레이될 수 있다.
몇몇 구현예에서, 규칙 집합, 예를 들어 아래의 표 1에 나타난 규칙 집합은 단일한 입력 레코드에 대하여 다수의 출력 레코드를 생성하는 다수의 규칙 케이스를 포함할 수 있다.
Trigger: Automobile Option Trigger: Budget Output: Trim Level
Honda S2000 >=37000 S2000CR
Honda S2000 else S2000
Honda Accord Coupe >=29000 Accord Coupe EX-L V-6
Honda Accord Coupe >=26000 Accord Coupe EX-L
Honda Civic Sedan >=24000 Accord Coupe EX
Honda Element any Accord Coupe
... ... ...
위의 규칙 집합은 어느 가족의 예산은 감안하여 그 가족의 자동차 옵션을 고려하고, 자동차에 대하여 트림(trim) 레벨을 출력한다. 그러한 규칙 집합("정규화된 규칙 집합"이라고 불린다)의 몇몇 예에서, 적어도 하나의 출력값이 키 출력값, 예를 들어 "S2000CR"로서 식별된다. 키 출력값"S2000CR"을 계산하는 규칙이 평가될 때, 규칙 케이스(자동차 옵션: Honda S2000 및 예산: >=37000)가 노트되는데, 이는 출력값 "S2000CR"을 생성하는 입력 데이터 레코드에 관하여 트리거된다. 그 후 규칙 집합은 디스에이블된 이전에 트리거된 규칙 케이스(자동차 옵션: Honda S2000 및 예산: >=37000)에 관하여 다시 평가되어 다른 규칙 케이스가 출력값을 트리거하고 생성하는지 여부를 평가한다. 위에서 기재된 과정은 더 이상 추가의 규칙 케이스가 트리거되지 않을 때까지 반복된다. 각각의 출력값은 별도의 출력 레코드로서 저장된다. 몇몇 예에서, 규칙 케이스는 그룹핑되어, 하나가 트리거되면 그 그룹내의 다른 것들은 동일한 입력 레코드에 대한 다음번 반복에 관해 역시 디스에이블 된다.
몇몇 예에서, 정규화된 규칙 집합에 대응하는 변형은 두 단계의 처리를 이용할 수 있다. 첫째, 입력 레코드가 판독되고 계수가 예를 들어 "길이" 함수를 호출하여 계산된다. 계수된 생성될 출력 레코드의 수에 대응한다. 그 후, 다른 함수 즉 "정규화된" 함수가 각각의 출력 레코드에 대하여 호출된다. 정규화된 함수는 입력 레코드의 카피와 길이 함수에 의하여 생성된 계수로부터의 현재의 인덱스를 받고 출력값을 다른 출력 레코드로 생성한다. 예를 들어, 입력 레코드가 4명의 가족 크기와 $20,000의 예산을 가지는 경우, 변형은 3개의 출력 레코드를 생성하고, 이는 각각의 3개의 제안된 차(Accord Sedan, Civic 및 Element)에 대한 하나이다.
몇몇 구현예에서 변형은 "길이" 함수를 사용하여 자동차 옵션에 관한 모든 가능한 값을 계산하여 출력 레코드의 수를 알 수 있게 한다. 변형이 일단 모든 가능한 자동차 출력값을 계산하면, 변형은 "정규화된" 함수를 출력 레코드가 있는 수만큼 호출하여, 값들을 각각의 출력 레코드에 지정한다.
몇몇 구현예에서, 위에서 기재된 두 단계의 처리를 대신하여, 변형은 더이상 계산할 것이 없을 때까지 여러번 "정규화된" 함수를 직접 호출함으로써 자동차 옵션에 대한 모든 가능한 값들을 계산할 수 있다.
도 5는 출력 변수(508)에 대하여 다수의 값(504)를 생성하기 위한 예시적 규칙 집합(500)이다. 사용자는 특정 자동차가 부적합하다고 고려된 이유를, 첫번째 이유가 아니고 모든 이유를 아는 데에 관심이 있다. 몇몇 예에서, 도 6에 도시된 것처럼, 첫번째 단계는 사용자가 편집기의 사용자 인터페이스의 출력탭(600)을 사용하여, 규칙 집합(500)이 다수의 출력값(504)를 생산하는 것을 특정하는 단계이다.
이와 같이, 사용자는 출력 변수(508) "명칭 유효화 메시지"이 일련의 값(504)를 받기 위한 축적 변수임을 표시한다. 출력 변수(508)에 대응하는 출력 유형(504)는 "축적부"(608)을 표시하기 위하여 변화한다.
몇몇 예에서, 출력 변수(508)에 대응하는 스칼라값은 "점수표" 스타일의 규칙 집합과 사용하기 위하여 "축적"될수 있다. 점수판 스타일 규칙 집합은 사용자가 양 또는 음의 스코어가 규칙값에 포함되는 것을 표시하는 비즈니스 규칙의 유형을 말한다. 따라서, 출력 벡터로서, 출력 변수(508)에 대응하는 값을 저장하기 보다, 출력 변수(508)에 대응하여 축적된 값의 합이 스칼라 값으로 축적된다.
몇몇 예에서, 축적부 출력 변수(508)은 출력 데이터 집합의 각각의 레코드에 대하여 변수 길이 벡터 또는 어레이에 맵핑한다. 이와 같이, 출력 변수(508)이 어레이와 같이 취급되는 경우, 사용자는 출력 변수(508)에 대한 사이즈를 특정할 수 있다. 사용자는 최대 계수(612) 파라메터를 변경시킴으로써 출력 변수(508)의 길이를 특정할 수 있다. 따라서, 필드(614)는 출력 변수(508)이 임의의 수(예를 들어 20)의 값을 받기 위한 어레이로서 취급된다는 것을 나타낸다. 몇몇 예에서, 사용자 특정 사이즈가 없는 경우에, 디폴트로서, 출력 변수(508)은 제한되지 않은 수의 값을 받을 수 있다. 이리하여, 최대 계수(612) 파라메터는, 예를 들어, "제한되지 않은" 것을 표시한다. 몇몇 예에서, 축적부 유형 출력 변수를 1회 기록 유형 출력 변수와 구분하기 위하여, 편집기는 사용자가 최대 계수(612) 파라메터를 1회 기록 변수에 대하여 편집하는 것을 금지할 수 있다. 몇몇 예에서, 사용자가 축적부 출력 변수로부터 1회 기록 출력 변수로 바꾸는 경우, 편집기는 최대 계수(612) 파라메터를 클리어할 수 있다.
도 7은 다수회 해제 규칙 집합, 예를 들어 "유효 인물"을 도시하는 예시적 규칙 탭(700)이다. 축적부 출력 변수(708)은 1회 기록 출력(712)와 표시 "1회 기록 출력" 또는 "축적부 출력"에 의하여 시각적으로 구분된다. 또한, 다양한 다른 표시들이 가능하다. 예를 들어, 규칙 집합의 유형, 즉 "다수회 해제 규칙(축적부 출력을 생성하는 규칙)" 또는 "1회 해제 규칙(스칼라 출력을 생성하는 규칙)"이 규칙 탭(700)의 처음(704)에서 표시될 수 있고, 또는 수직 표시(712)가 한쪽 측면에서 "1회 해제" 또는 "다수회 해제"를 표시한다. 몇몇 예에서, 1회 해제 및 다수회 해제 규칙에 대해 다른 아이콘이 사용될 수 있다. 몇몇 예에서, 해제된 모든 규칙 케이스는 사용자에 의하여 관찰을 위하여 하일라이트 될 수 있다.
도 8은 축적부 출력 변수(801), "유효화 메시지"의 내용을 보여주는 예시적 결과 탬(800)이다. 도시된 바와 같이, 출력 변수(801)은 각 레코드에 대하여 제1 계열의 값(813)을 가정할 수 있고, 제1 계열의 값(813) (예를 들어, "TANGELA SCHEPP"에 대응하는 값)의 적어도 하나의 값을 컴머로 분리된 값의 집합으로서 디스플레이되는 제2 계열의 값(816)을 가정할 수 있다. 몇몇 예에서, 사용자는 축적부 출력밧 위로 마우스 포인터를 "호버링" 시켜서 축적된 값의 리스트를 보여주는 도구 팁을 열 수 있다. 몇몇 예에서, 예를 들어 벤치 마크 데이터를 포함하는 테스트를 수행할 때, 출력은 벤치 마크 데이터의 벡터가 임의의 방법으로든 출력의 벡터와 다른 경우 다르다고 표시될 수 있다. 예를 들어, 차이는 출력 벡터와 다른 수의 아이템 수를 가지는 벤치 마크 벡터, 출력 벡터와 다른 순서의 아이템을 가지는 벤치 마크 벡터, 그리고 각각의 벡터가 다른 개별 아이템을 포함할 수 있다.
조작 중, 축적부 출력 변수는 이하에서 기술되는 바와 같이 다수회 해제 규칙에 의해 생성되는 다수의 출력값을 받기 위하여 사용된다. 예를 들어, 표 2에 나타난 이하의 규칙 집합을 고려하자:
Trigger: Budget Trigger: Family Size Output: Automobile Option
>=35000 <=2 Honda S2000
>=22000 <=2 Honda Accord Coupe
>=20000 <=4 Honda Accord Sedan
>=15000 <=4 Honda Civic Sedan
>=20000 <=6 Honda Element
>=28000 <=7 Honda Odyssey
>=50000 <=4 Acura RL
위의 규칙 집합은, 예를 들어 4의 가족 크기와 $20,000의 예산을 고려하여 3개의 자동차를 제안한다(Accord Sedan, Civic 및 Element). 따라서, 이 경우, 출력 데이터 집합의 출력 변수 "자동차 옵션"은 다수의 값을 받을 수 있도록 간주된다. 규칙 집합의 각각의 규칙 케이스는 평가되고 규칙 케이스가 트리거되는 임의의 때에, 위의 규칙 집합으로부터의 값은 축적부 출력 변수에 추가된다.
위의 규칙 집합이 트리거는 임의의 스칼라 변수(비 벡터)가 될 수 있고, 이는 입력값, 참조 및 다른 출력값을 포함한다. 몇몇 예에서, 출력 변수는 다른 출력 변수를 계산할 수 있다. 몇몇 예에서, 오직 비벡터 출력만이 트리거로서 사용될 수 있다. 몇몇 예에서, 축적 함수를 사용함으로써 다른 축적부 출력 변수를 계산하기 위하여 하나의 축적부 출력 변수를 간접적으로 사용할 수 있다. 예를 들어, 표 3에 나타난 이하의 규칙 집합을 고려하자:
Trigger Output: Family Members
is_alive Self
is_married and not is_separated Spouse
has_baby Baby
has_teenage_girl Daughter
has_teenage_boy Son
위의 규칙 집합은 "가족 구성원"이라고 불리는 축적부 출력 변수를 계산한다. 이제, 표 4에 나타난 이하의 규칙 집합을 고려하자.
Output: Family Size
count_of{ Family Members }
표 4의 규칙 집합은 "가족 크기"로 불리는 스칼라(비벡터)를 계산하고,리응 집합 함수를 이용하여 이루어진다. 따라서, 모든 우리 가족 구성원의 리스트를 포함하여 먼저 출력 벡터가 계산된다. 그 다음, 계수 함수가 리스트의 사람 수를 계산한다. 계수는 자동차의 리스트를 계산하기 위하여 입력으로 그 다음에 이용된다.
도 9는 축적부 출력 변수를 이용하여 다른 스칼라 및 벡터에 대하여 값을 계산하기 위하여 스칼라와 벡터를 사용하는 예시적 구현예를 도시한다. 도시된 바와 같이, S1, S2 및 S3는 스칼라 변수를 나타낸다. V1 및 V2는 벡터 변수를 나타낸다. S1은 S2를 계산하기 위하여 사용된다. 그 후 S2는 V1의 4개의 다른 값을 계산하기 위하여 사용된다; 그 후 S2는 V1의 4개의 다른 값을 계산하기 위하여 사용된다. 그 후 V1의 모든 4개의 값은 S3를 계산하기 위하여 사용된다(예를 들어, 집합 함수의 사용을 통하여). 마지막으로, S3이 V2의 3개의 값을 계산하기 위하여 사용된다.
몇몇 구현예에서, 편집기는 사용자가 이하의 예시적 동작 중에서 임의의 것을 수행하려고 시도할 때 유효성 에러를 생성할 수 있다: 데이터 집합의 임의의 것의 필드의 유형이 변수 길이 벡터가 아닌 것일 때 출력을 축적부로서 표시한다; 데이터 집합의 임의의 것의 필드의 유형이 벡터일 때 출력을 "1회 기록"으로서 표시하고, (오직 1회 기록 출력만이 디폴트 값을 가질 수 있는 구현예에서) 축적부에 대한 디폴트 값을 제공하고, 축적부 출력을 비교 트리거 열로서 이용하는 것; 축적부와 1회 기록 출력을 단일 규칙 내에 혼합하는 것; 그리고 축적부 출력 변수의 최대 계수 파라메터 내의 제한되지 않은 또는 양의 수가 아닌 값을 입력하는 것.
몇몇 예에서, 입력 레코드는 벡터를 포함할 수 있다. 도 10a는 적어도 2개의 벡터 레코드, 즉 운전자 레코드 벡터(952) 및 자동차 레코드 벡터(954)를 포함하는 입력 레코드(950)의 예시적 포맷이다. 도 10b는 입력 레코드(950)에 대한 예시적 데이터(956)을 보여준다.
집합 함수가 레코드 벡터(952, 954)를 스칼라로 변환하기 위하여 규칙 집합 내에 포함될 수 있다. 예를 들어, 규칙 집합은 사양 "최연소 운전자의 나이"를 포함할 수 있다. 몇몇 구현예에서, 사양은 "minimum(Driver Age)"로서 표현되거나 또는 "do_minimum(in0.drivers, 'age')"와 같은 데이터 조작 언어(DML) 함수가 사용될 수 있다. 규칙 집합에 응답하여, 스칼라 값이 생성되고, 이는 예를 들어 21이다(도 10b의 Pebble의 레코드로부터). 몇몇 예에서, 조작 중에, 함수는 운전자 레코드 벡터(952)의 모든 레코드를 통하여 루프를 적용하여 운전자 나이에 대한 최소값을 찾을 수 있다.
다른 예를 고려하면, 규칙 집합 내의 사양은 "포인트 수 더하기 최연소 남성 운전자의 포인트"일 수 있다. 사양은 "minimum(Driver Age, Driver Sex = Male, Driver Points+1)"로 표시될 수 있다. 이 규칙 집합에 응답하여, 스칼라값 예를 들어 14(BamBam의 레코드로부터)가 생성된다. 몇몇 구현예에서, 스칼라값들은 중간 또는 출력 변수에 지정될 수 있고, 이들은 스칼라이다.
몇몇 예에서, 규칙은 레코드 벡터의 각각의 요소에 대하여 기록될 수 있다. 예를 들어, 표 5에 나타난 이하의 규칙 집합을 고려하자.
자동차 에어벡있음(트리거) 자동차 안전벨트있음 (트리거) 값조정(출력)
no No 0
no Yes 100
yes No 150
yes Yes 300
표 5의 규칙 집합의 사양은 "각각의 자동차에 대하여, 차량 가치에 대한 조정을 계산하라, 이는 자동차가 안전 벨트가 있으면 100이고, 에어백이 있으면 150이고, 둘 다 있으면 300"이다. 보여진 바와 같이, 출력 변수 "가치 조정"은 벡터 변수이다. 위의 규칙에 응답하여, 벡터, 예를 들어 [0, 300, 100]이 생성된다. 몇몇 예에서, 조작 중에, 규칙 집합은 여러 번 실행되고, 자동차 레코드 벡터(954)의 모든 레코드에 대하여 한 번 실행된다.
몇몇 예에서, 규칙 집합은 또한 스칼라 값을 참조할 수 있고, 또는 벡터 길이가 같은 한 다른 벡터일 수 있다. 예를 들어, 표 6에 나타난 이하의 규칙 집합을 고려하자.
자동차 연수(트리거) 조정 값(출력)
>2 자동차 가치+값조정+지리적조정-50
else 자동차가치+값조정+지리적조정
표 6의 규칙 집합의 사양은 "각각의 자동차에 대해, 조정된 값을 계산하라, 이는 차량 가지, 값의 조정, 및 지리적 위험성의 합이다. 차량이 2년 보다 오래 되었으면 50을 빼라"이다. 이 규칙에서, "조정된 값"은 벡터 변수이다. 따라서, 같지 않은 벡터 길이에 의한 런타임 에러를 피하기 위하여, 벡터 변수 "값 조정"은 자동차 레코드 벡터(954)와 같은 길이이다. 이 규칙 집합에 응답하여, 벡터 예를 들어 [1030, 1880, 1330]이 생성된다.
몇몇 예에서, XML 레코드가 복잡할 때, 단일한 입력 레코드가 키 관계로 연관지움으로써 많은 논리적 레코드를 표시하는 데 사용될 수 있다. 예를 들어, 자동차 레코드 벡터(954)의 각각의 자동차 서브 레코드는 외부 키, 예를 들어 "운전자"를 포함하여 운전자 레코드 벡터(952), 예를 들어 "이름"에서 일치하는 키를 연관지울 수 있다. 이러한 방법으로, 레코드 벡터(952, 954)는 참조파일, 또는 내부 참조 테이블로서 구현될 수 있다. 예를 들어, 자동차 레코드 벡터(954)와 연관된 내부 참조 테이블은 다음과 같다:
주 운전자 이름(주요 키)
주 운전자 나이
주 운전자 성별
주 운전자 포인트
따라서, 내부 참조 표는 레코드 벡터 내의 서브 레코드를 내부 참조 텡블의 레코드로서 취급함으로써 각각의 입력 레코드에 대하여 작성될 수 있다. 조작중에, 예를 들어 표 7에 나타난 규칙 집합을 고려하자.
출력: 정책적 운전자의 나이
주 운전자 나이 (정책적 운전자)
표 7의 규칙 집합의 사양은 "정책적으로 권유되는 운전자의 나이을 계산하고, 이는 연관된 내부 참조 표에 대한 키로서 정책적 운전자의 값을 사용함으로써 발견되는 주 운전자 나이"이다. 사양은 주 운전자 나이 열의 값을 회신하고, 이는 출력 변수 "정책 운전자의 나이"이다. "정책적 운전자의 나이"은 스칼라 값이다. 다른 예에서, 아래의 표 8에 나타난 규칙 집합을 고려하자.
거래 나이(출력)
주 운전자 나이 - 자동차 연수
표 8의 규칙 집합의 사양은 "거래 나이을 계산하라, 이는 차량의 연수와 차량의 주 운전자의 나이 사이의 차이이다". 예시를 위하여, 참조 키가 "차량 주 드라이버"에 디폴트로 지정된다고 가정하자. 출력 변수 "거래에서의 나이"는 벡터 변수이다. 따라서, 위의 규칙에 응하여 [31, 19, 27]이 생성된다.
몇몇 예에서, 참조 키 "자동차 주 운전자"는 다음과 같이 괄호 안에서 외부적으로 특정될 수 있다: "주 운전자 나이(자동차 주 운전자) - 자동차 연수".
몇몇 예에서, 내부 참조 테이블은 집합 함수에서 사용될 수 있다. 예를 들어, 사양은 "주 운전자의 연령의 모든 차량에 대하여 평균을 계산하라"가 될 수 있다. 이 사양은 함수로 구현될 수 있고, 예를 들어 "average(Primary Driver Age(Vechicle Primary Driver))"가 될 수 있다. 이 함수에 응답하여, 스칼라 값, 예를 들어 29.67이 생성될 수 있다.
몇몇 예에서, 사용자는 위의 규칙 집합에서 계산 단계를 시각화 할 수 있다. 예를 들어, 테스팅 모드에서, 사용자가 관심이 있는 값을 관찰할 수 있다는 것은 유용할 수 있고, 이는 예를 들어 입력 및 출력 변수의 중간값(스칼라 및 벡터 변수 모두)일 수 있다. 본 업계에서 알려진 다양한 시각화 단계를 위한 기술이 사용될 수 있다. 예를 들어, 입력 레코드 벡터(952, 954)에서 각각의 요소에 대한 행을 가지는 팝업 테이블이 구현되어 어떤 아이템이 제외되거나 또는 계산되었는지 표시하는 중간값을 요약할 수 있다.
위에서 언급된 기술은 컴퓨터에서 실행될 수 있는 소프트웨어를 사용하여 실행될 수 있다. 예를 들어, 소프트웨어는 하나 이상의 컴퓨터 프로그램에서 프로시쥬어를 형성하고, 프로그램은 하나 이상의 프로그램된 또는 프로그램할 수 있는 (분산 처리 시스템, 클라이언트/서버 시스템, 또는 그리드 시스템등 다양한 아키텍쳐로 되어 있는) 컴퓨터 시스템에서 실행되며, 각 컴퓨터 시스템은 적어도 하나의 프로세서, 적어도 하나의 데이터 저장 시스템 (휘발성 및 불휘발성 메모리 및/또는 저장 요소를 포함), 적어도 하나의 입력 장치 또는 포트, 그리고 적어도 하나의 출력 장치 또는 포트를 포함한다. 소프트웨어는 대형 프로그램의 하나 이상의 모듈을 형성할 수 있고, 대형 프로그램은 예를 들어 계산 그래프의 디자인 및 배열과 관련된 다른 서비스들을 제공한다. 그래프의 노드와 요소들은 컴퓨터 판독 가능한 매체에 저장된 데이터 구조 또는 데이터 보존부에 저장된 데이터 모델과 일치하는 또 다른 조직된 데이터로서 구현될 수 있다.
소프트웨어는 범용 또는 특수목적 프로그램 가능한 컴퓨터에서 읽을 수 있는 CD-ROM과 같은 저장장치에서 제공될 수 있고, 실행될 때 네트웍의 통신 매체를 통해 컴퓨터로 배신될 수 있다 (전파된 신호로 인코딩됨). 모든 함수들은 특수 목적 컴퓨터 또는 코프로세서와 같은 특수 목적 하드웨어에서 실행될 수 있다. 소프트웨어는 소프트웨어에 의하여 특정된 다른 계산 부분이 다른 컴퓨터에 의하여 수행되는 분산 처리 방식으로 실행될 수 있다. 그러한 컴퓨터 프로그램의 각각은 바람직하게는 범용 또는 특수목적 프로그램 가능한 컴퓨터에서 읽을 수 있는 저장 매체 또는 장치(즉, 고체 메모리 또는 매체 또는 자기 또는 광학 매체)에 저장되고 다운로드 되고, 저장매체 또는 장치가 컴퓨터 시스템에 의하여 읽힐 때 컴퓨터 시스템은 배열되고 운영되어 본 명세서에서 기재된 프로시쥬어들을 실행한다. 본 발명의 시스템은 컴퓨터 판독 가능한 저장매체로서 고려될 수 있는데, 저장 매체는 컴퓨터 프로그램이 설치되어 있고 저장 매체는 컴퓨터 시스템이 특정 방식 또는 사전에 정의된 방식으로 동작하여 본 명세서에 기재된 함수들을 수행한다.
본 발명의 다수의 실시예 들이 지금까지 서술되었다. 그럼에도 불구하고, 다양한 변경들이 본 발명의 기본 정신과 범위로부터 벗어나지 않으면서 이루어질 수 있다는 점이 이해되어야 할 것이다.예를 들어, 위에서 기재된 단계들 중 몇몇은 독립적으로 될 수 있고 따라서 기재된 순서와는 다른 순서로 실행될 수 있다.
앞에서 기재된 내용은 예를 들어 설명하기 위한 것이고 발명의 범위를 제한하기 위한 것이 아니라는 점을 이해하여야 할 것이다. 발명의 범위는 첨부된 특허 청구 범위에 의하여 정의된다. 예를 들어, 위에서 서술된 다수의 단계들은 전체적인 처리에 영향을 주지 않으면서 다른 순서로 실행될 수 있다. 다른 실시예들은 이하의 특허 청구 범위 내에 있을 것이다.

Claims (27)

  1. 하나 이상의 입력값에 기하여 출력값을 생성하기 위한 하나 이상의 규칙 케이스(rule case)를 가지는 규칙을 받는 단계;
    입력 데이터 집합으로부터 데이터를 받고 출력 데이터 집합의 하나 이상의 출력 변수에 대하여 제1 계열의 값을 생성하는 것을 포함하는 규칙에 기하여 데이터를 변형하기 위한 변형(transform)을 생성하는 단계로서, 상기 제1 계열의 값 중 하나 이상의 값은 제2 계열의 값을 포함하는, 변형 생성 단계; 및
    상기 제2 계열의 값을 저장하기 위하여 상기 출력 데이터 집합의 하나 이상의 출력 변수에 대응하는 출력 필드를 제공하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 변형은 그래프에 의하여 표시되는 그래프 기반 애플리케이션의 요소에 포함되고, 상기 그래프의 꼭지점은 요소를 나타내고, 상기 그래프의 꼭지점 사이의 방향 연결은 요소들 사이의 데이터의 흐름을 표시하는 것인 방법.
  3. 제2항에 있어서,
    상기 변형을 포함하는 제1 그래프 요소는 상기 입력 데이터 집합으로부터 상기 변형으로의 데이터의 흐름을 제공하는 것인 방법.
  4. 제3항에 있어서,
    상기 제1 그래프 요소는 실행가능한 계산 요소이고, 상기 그래프는 상기 입력 데이터 집합을 표시하는 데이터 저장 요소인 제2 그래프 요소를 포함하는 것인 방법.
  5. 제1항에 있어서,
    상기 출력 데이터 집합의 하나 이상의 출력 변수에 대하여 제1 계열의 값을 생성하는 것은 출력 테이블에 대한 행을 생성하는 것을 포함하고, 각각의 행은 상기 출력 변수를 포함하는 변수의 집합에 대하여 값을 가지는 레코드를 정의하는 것인 방법.
  6. 제1항에 있어서,
    상기 제2 계열의 변수를 저장하기 위한 출력 필드를 제공하는 단계는 미리 정해진 수의 상기 제2 계열의 값을 저장하기 위한 배열을 제공하고, 상기 미리 정해진 수는 사용자 특정의 수로 수정가능한 디폴트 숫자인 것인 방법.
  7. 제1항에 있어서,
    상기 출력 필드는 테이블 내의 셀을 포함하는 것인 방법.
  8. 제1항에 있어서, 상기 규칙을 받는 단계는 규칙 테이블의 하나 이상의 행을 받는 단계를 포함하고, 상기 행은 규칙 케이스에 대응하고, 하나 이상의 상기 입력값, 미리 정해진 값 또는 상기 입력 값으로부터 계산된 값의 하나 이상의 조합을 포함하는 출력을 가지는 것인 방법.
  9. 제8항에 있어서,
    상기 규칙 케이스는 임계치와 같은 입력값을 갖는 단계, 임계치 위의 입력값을 갖는 단계, 임계치 아래의 입력값을 갖는 단계, 값의 집합에 속하는 입력값을 갖는 단계, 값의 패턴에 일치하는 입력값을 갖는 단계, 다른 입력값에 관계를 갖는 단계, 다른 규칙 집합의 출력값에 관계를 갖는 단계, 또는 메모리 내의 값에 관계를 갖는 단계 중 하나 이상을 포함하는 것인 방법.
  10. 제1항에 있어서,
    상기 입력 데이터 집합은 스칼라 변수 및 벡터 변수에 대한 값을 가지는 레코드를 포함하는 것인 방법.
  11. 제10항에 있어서,
    하나 이상의 상기 레코드는 미리 정해진 수의 레코드를 저장하기 위한 배열을 포함하고, 상기 미리 정해진 수는 사용자 특정의 수로 수정될 수 있는 디폴트 수인 것인 방법.
  12. 제10항에 있어서,
    상기 하나 이상의 레코드는 상기 하나 이상의 레코드의 서브 레코드에 대한 키 관계를 정의하는 내부 참조 테이블을 포함하는 것인 방법.
  13. 제12항에 있어서,
    규칙에 응답하여, 상기 내부 참조 테이블의 상기 키 관계에 기하여 상기 출력 데이터 집합의 상기 출력 변수에 대한 상기 제2 계열의 값을 생성하는 단계를 더 포함하는 것인 방법.
  14. 제1항에 있어서,
    규칙의 규칙 케이스를 만족하는 입력값에 응답하여, 상기 출력 데이터 집합의 상기 출력 변수에 대한 값을 생성하는 상기 규칙 케이스를 트리거하는 단계를 더 포함하는 것인 방법.
  15. 제14항에 있어서,
    상기 규칙 케이스를 트리거하는 단계는, 상기 규칙의 하나 이상의 규칙 케이스를 만족하는 상기 입력 데이터 집합에서 스칼라 값에 기하여 상기 규칙 케이스를 트리거하는 단계를 포함하는 것인 방법.
  16. 제14항에 있어서,
    상기 규칙 케이스를 트리거하는 단계는 상기 규칙의 하나 이상의 규칙 케이스를 만족하는 상기 입력 데이터 집합의 벡터의 각각의 값에 기하여 상기 규칙 케이스를 트리거링하는 단계를 포함하는 것인 방법.
  17. 제14항에 있어서,
    상기 규칙 케이스를 트리거하는 단계는 상기 규칙의 하나 이상의 규칙 케이스를 만족하는 상기 입력 데이터 집합의 벡터에 적용되는 집합 함수의 출력에 기하여 상기 규칙 케이스를 트리거하는 단계를 포함하는 것인 방법.
  18. 제1항에 있어서,
    상기 변형을 생성하는 단계는 복수의 논리적 표현을 형성하기 위하여 논리적 표현에 대하여 규칙 내의 복수의 규칙 케이스의 각각을 변환하고, 상기 복수의 논리적 표현을 컴퓨터 실행가능한 코드로 컴파일하는 단계를 포함하는 것인 방법.
  19. 제18항에 있어서,
    상기 복수의 논리적 표현을 컴파일하는 단계는 표현을 결합하는 단계, 개별적 표현을 최적화하는 단계, 및 표현의 그룹을 최적화하는 단계 중 하나 이상을 포함하는 것인 방법.
  20. 데이터 흐름을 표시하는 요소들을 연결함으로써 연결된 데이터 처리 요소들을 가지는 그래프 기반 계산에서 요소를 업데이트하기 위한 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능한 매체에서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금:
    하나 이상의 입력값에 기하여 출력값을 생성하기 위한 하나 이상의 규칙 케이스를 가지는 규칙을 받고;
    입력 데이터 집합으로부터 데이터를 받고 출력 데이터 집합의 적어도 하나의 출력 변수에 대한 제1 계열의 값을 생성하는 규칙에 기하여 데이터를 변형하는 변형을 생성하고, 상기 제1 계열의 값의 하나 이상의 값은 제2 계열의 값을 포함하고;
    상기 제2 계열의 값을 저장하기 위해 출력 데이터 집합의 하나 이상의 출력 변수에 대응하는 출력 필드를 제공하는
    지시를 포함하는 것인 매체.
  21. 하나 이상의 입력값에 기하여 출력값을 생성하기 위한 하나 이상의 규칙 케이스를 가지는 규칙을 받는 수단;
    입력 데이터 집합으로부터 데이터를 받고 출력 데이터 집합의 하나 이상의 출력 변수에 대하여 제1 계열의 값을 생성하는 단계를 포함하는 규칙에 기하여 데이터를 변형하는 변형을 생성하고, 상기 제1 계열의 값의 하나 이상의 값은 제2 계열의 값을 포함하도록 구성된 프로세서;

    상기 제2 계열의 값을 저장하기 위하여 출력 데이터 집합의 하나 이상의 출력 변수에 대응하는 출력 필드를 제공하는 수단
    을 포함하는 시스템.
  22. 제14항에 있어서,
    상기 규칙 케이스를 트리거하는 단계는 상기 입력값에 의하여 하나 이상의 미리 정해진 기준을 만족하는 단계를 포함하는 것인 방법.
  23. 제1항에 있어서,
    상기 입력값에 응답하여 상기 규칙에 속하는 하나 이상의 규칙 케이스를 트리거하는 단계; 및
    변형에 의하여, 상기 제2 계열의 값으로서 트리거된 두개 이상의 규칙 케이스에 각각 대응하는 두개 이상의 출력값을 생성하는 단계
    를 더 포함하는 것인 방법.
  24. 제23항에 있어서,
    상기 입력값에 응답하여 트리거된 두개 이상의 규칙 케이스를 검사하도록 동작가능한 수단을 사용자에게 제공하는 단계를 더 포함하는 것인 방법.
  25. 제1항에 있어서,
    상기 하나 이상의 규칙 케이스는 상기 입력값에 의하여 만족되는 경우 하나 이상의 출력값의 변형으로써 생성을 야기하게하는 하나 이상의 기준을 포함하는 것인 방법.
  26. 제1항에 있어서,
    상기 제2 계열의 값에 관하여 수행된 조작에 대응하는 상기 출력 데이터 집합의 스칼라 값을 저장하는 단계를 더 포함하는 것인 방법.
  27. 제1항에 있어서,
    상기 출력 필드에 걸쳐서 커서를 위치시키는 것에 관한 도구 팁에서 상기 제2 계열의 값을 디스플레이하는 단계를 더 포함하는 것인 방법.
KR1020117018177A 2009-01-30 2010-01-29 벡터 필드를 이용한 데이터 처리 방법 KR101613110B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14888809P 2009-01-30 2009-01-30
US61/148,888 2009-01-30

Publications (2)

Publication Number Publication Date
KR20110119683A KR20110119683A (ko) 2011-11-02
KR101613110B1 true KR101613110B1 (ko) 2016-04-18

Family

ID=42396040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117018177A KR101613110B1 (ko) 2009-01-30 2010-01-29 벡터 필드를 이용한 데이터 처리 방법

Country Status (9)

Country Link
US (2) US8478706B2 (ko)
EP (1) EP2391938A4 (ko)
JP (3) JP5490824B2 (ko)
KR (1) KR101613110B1 (ko)
CN (2) CN105243422B (ko)
AU (1) AU2010208112B2 (ko)
CA (1) CA2749538A1 (ko)
HK (1) HK1220532A1 (ko)
WO (1) WO2010088523A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8069129B2 (en) 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
WO2010002919A1 (en) * 2008-06-30 2010-01-07 Ab Initio Software Llc Data logging in graph-based computations
KR20150042866A (ko) * 2008-12-02 2015-04-21 아브 이니티오 테크놀로지 엘엘시 데이터 관리 시스템 내의 데이터 집합의 맵핑 인스턴스
US8478706B2 (en) * 2009-01-30 2013-07-02 Ab Initio Technology Llc Processing data using vector fields
KR101660348B1 (ko) * 2009-09-16 2016-09-27 아브 이니티오 테크놀로지 엘엘시 데이터세트 요소의 매핑
US9613115B2 (en) 2010-07-12 2017-04-04 Microsoft Technology Licensing, Llc Generating programs based on input-output examples using converter modules
CN103180826B (zh) 2010-10-25 2017-04-05 起元技术有限责任公司 在代表计算机程序的数据流图中管理数据集对象
WO2012097278A1 (en) 2011-01-14 2012-07-19 Ab Initio Technology Llc Managing changes to collections of data
CN102682065B (zh) * 2011-02-03 2015-03-25 微软公司 使用输入-输出示例的语义实体操纵
US9552335B2 (en) 2012-06-04 2017-01-24 Microsoft Technology Licensing, Llc Expedited techniques for generating string manipulation programs
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US9703822B2 (en) 2012-12-10 2017-07-11 Ab Initio Technology Llc System for transform generation
CN104424263B (zh) * 2013-08-29 2019-03-01 腾讯科技(深圳)有限公司 一种数据记录的处理方法及装置
US9984059B2 (en) 2013-09-27 2018-05-29 Ab Initio Technology Llc Evaluating rules applied to data
JP6882892B2 (ja) * 2013-12-18 2021-06-02 アビニシオ テクノロジー エルエルシー データ生成
JP6488317B2 (ja) 2014-03-14 2019-03-20 アビニシオ テクノロジー エルエルシー キー指定される実体の属性のマッピング
EP3742284A1 (en) 2014-07-18 2020-11-25 AB Initio Technology LLC Managing lineage information
US9626393B2 (en) 2014-09-10 2017-04-18 Ab Initio Technology Llc Conditional validation rules
US10176234B2 (en) * 2014-11-05 2019-01-08 Ab Initio Technology Llc Impact analysis
US10542961B2 (en) 2015-06-15 2020-01-28 The Research Foundation For The State University Of New York System and method for infrasonic cardiac monitoring
US10127264B1 (en) 2015-09-17 2018-11-13 Ab Initio Technology Llc Techniques for automated data analysis
US10360394B2 (en) 2015-11-18 2019-07-23 American Express Travel Related Services Company, Inc. System and method for creating, tracking, and maintaining big data use cases
US10445324B2 (en) 2015-11-18 2019-10-15 American Express Travel Related Services Company, Inc. Systems and methods for tracking sensitive data in a big data environment
US10169601B2 (en) 2015-11-18 2019-01-01 American Express Travel Related Services Company, Inc. System and method for reading and writing to big data storage formats
US10055426B2 (en) 2015-11-18 2018-08-21 American Express Travel Related Services Company, Inc. System and method transforming source data into output data in big data environments
US10037329B2 (en) * 2015-11-18 2018-07-31 American Express Travel Related Services Company, Inc. System and method for automatically capturing and recording lineage data for big data records
US10055471B2 (en) 2015-11-18 2018-08-21 American Express Travel Related Services Company, Inc. Integrated big data interface for multiple storage types
US10055444B2 (en) 2015-12-16 2018-08-21 American Express Travel Related Services Company, Inc. Systems and methods for access control over changing big data structures
US10621195B2 (en) * 2016-09-20 2020-04-14 Microsoft Technology Licensing, Llc Facilitating data transformations
US10706066B2 (en) 2016-10-17 2020-07-07 Microsoft Technology Licensing, Llc Extensible data transformations
US11256710B2 (en) 2016-10-20 2022-02-22 Microsoft Technology Licensing, Llc String transformation sub-program suggestion
US11620304B2 (en) 2016-10-20 2023-04-04 Microsoft Technology Licensing, Llc Example management for string transformation
US10776380B2 (en) 2016-10-21 2020-09-15 Microsoft Technology Licensing, Llc Efficient transformation program generation
US10846298B2 (en) 2016-10-28 2020-11-24 Microsoft Technology Licensing, Llc Record profiling for dataset sampling
US11163788B2 (en) 2016-11-04 2021-11-02 Microsoft Technology Licensing, Llc Generating and ranking transformation programs
US11170020B2 (en) 2016-11-04 2021-11-09 Microsoft Technology Licensing, Llc Collecting and annotating transformation tools for use in generating transformation programs
US11295326B2 (en) 2017-01-31 2022-04-05 American Express Travel Related Services Company, Inc. Insights on a data platform
CN107221019B (zh) * 2017-03-07 2021-02-26 武汉唯理科技有限公司 图表转换方法及装置
US10671353B2 (en) 2018-01-31 2020-06-02 Microsoft Technology Licensing, Llc Programming-by-example using disjunctive programs
US11385874B2 (en) * 2020-02-03 2022-07-12 Sap Se Automatic type determination for database programming
CN112434198B (zh) * 2020-11-24 2024-05-24 深圳市明源云科技有限公司 图表组件推荐方法及装置
US20230020080A1 (en) * 2021-04-12 2023-01-19 Adishesh Kishore Relationship builder to relate data across multiple entities/nodes
US11625787B1 (en) * 2022-05-03 2023-04-11 Capital One Services, Llc Augmented reality vehicle display systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101375362B1 (ko) 2012-04-09 2014-03-19 마이클 명섭 리 해저의 실시간 모니터링을 이용한 해양 구조물의 정적 및 동적 포지셔닝 시스템 및 방법

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01277939A (ja) 1988-04-30 1989-11-08 Meidensha Corp 推論トレース方式
JPH02275539A (ja) 1989-04-17 1990-11-09 Fuji Xerox Co Ltd デバッグ処理方式
JPH04352029A (ja) 1991-05-29 1992-12-07 Hitachi Ltd ソースプログラム自動生成装置
JPH06266860A (ja) 1993-03-16 1994-09-22 Fujitsu Ltd ベクトル処理プロセッサ
US5615359A (en) * 1994-06-23 1997-03-25 Candle Distributed Solutions, Inc. Data server with data probes employing predicate tests in rule statements
US5734886A (en) * 1994-11-16 1998-03-31 Lucent Technologies Inc. Database dependency resolution method and system for identifying related data files
US5832497A (en) * 1995-08-10 1998-11-03 Tmp Worldwide Inc. Electronic automated information exchange and management system
US5966072A (en) * 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
JP2000200339A (ja) * 1998-12-28 2000-07-18 Casio Comput Co Ltd 集合図表示制御装置及び記憶媒体
US6782374B2 (en) * 1998-12-22 2004-08-24 Accenture Global Services Gmbh System, method and article of manufacturing for a runtime program analysis tool for a simulation engine
US6477520B1 (en) * 1999-02-22 2002-11-05 Yatra Corporation Adaptive travel purchasing optimization system
US6728879B1 (en) * 1999-06-02 2004-04-27 Microsoft Corporation Transactional log with multi-sector log block validation
US8332740B2 (en) * 2000-01-19 2012-12-11 Graham John D Systems and method for management of intangible assets
JP2001331362A (ja) * 2000-03-17 2001-11-30 Sony Corp ファイル変換方法、データ変換装置及びファイル表示システム
AU2001259690A1 (en) 2000-05-09 2001-11-20 Hnc Software, Inc. Approach for generating rules
US7164422B1 (en) * 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
US7020869B2 (en) * 2000-12-01 2006-03-28 Corticon Technologies, Inc. Business rules user interface for development of adaptable enterprise applications
JP2003030470A (ja) 2001-07-17 2003-01-31 Nippon Telegr & Teleph Corp <Ntt> マーケットプレース提供方法、マーケットプレース提供サーバ、マーケットプレース提供プログラム、および同プログラムを記録した記録媒体
AU2002332556A1 (en) * 2001-08-15 2003-03-03 Visa International Service Association Method and system for delivering multiple services electronically to customers via a centralized portal architecture
JP2003208307A (ja) 2002-01-16 2003-07-25 Hitachi Software Eng Co Ltd ソースプログラム生成システム
US7107285B2 (en) * 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US8612404B2 (en) * 2002-07-30 2013-12-17 Stored Iq, Inc. Harvesting file system metsdata
US7610329B2 (en) * 2002-07-30 2009-10-27 Storediq, Inc. Method and apparatus for managing file systems and file-based data storage
US8417678B2 (en) * 2002-07-30 2013-04-09 Storediq, Inc. System, method and apparatus for enterprise policy management
US7565642B2 (en) * 2002-08-09 2009-07-21 Corticon Technologies, Inc. Rule engine
US7676387B2 (en) * 2002-10-31 2010-03-09 Computer Sciences Corporation Graphical display of business rules
US20040085357A1 (en) * 2002-10-31 2004-05-06 Childress Allen B. Method of generating a graphical display of a business rule and associated business rule elements
US7266763B2 (en) 2002-11-26 2007-09-04 Microsoft Corporation User defined spreadsheet functions
US20040210661A1 (en) * 2003-01-14 2004-10-21 Thompson Mark Gregory Systems and methods of profiling, matching and optimizing performance of large networks of individuals
AU2004252837A1 (en) * 2003-06-04 2005-01-06 Fair Isaac Corporation Relational logic management system
WO2005001687A2 (en) * 2003-06-25 2005-01-06 Ab Initio Software Corporation Computer-aided parallelizing of computation graphs
JP2005018523A (ja) 2003-06-27 2005-01-20 Canon Inc データ収集参照システム
JP2007529050A (ja) * 2003-07-08 2007-10-18 ユーエス リンクス リミテッド ライアビリティ カンパニー 仮想ドキュメントアーキテクチャを通して共同編集と責任分担を容易にする自動出版システム
US8307109B2 (en) 2003-08-27 2012-11-06 International Business Machines Corporation Methods and systems for real time integration services
US7849075B2 (en) * 2003-09-15 2010-12-07 Ab Initio Technology Llc Joint field profiling
WO2005111850A2 (en) * 2004-04-30 2005-11-24 Microsoft Corporation End-user application customization using rules
US20060112061A1 (en) * 2004-06-24 2006-05-25 Masurkar Vijay B Rule based engines for diagnosing grid-based computing systems
JP2008512794A (ja) 2004-09-10 2008-04-24 グラフロジック インコーポレイテッド オブジェクト処理グラフアプリケーション開発システム
US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
US7461042B2 (en) * 2004-11-17 2008-12-02 Long Jeffrey G Method, system, and program for defining and managing complex contingent rules, and exceptions thereto, in a rule-based computer system
US8468125B2 (en) * 2005-04-12 2013-06-18 International Business Machines Corporation Automatically moving multidimensional data between live datacubes of enterprise software systems
WO2006135756A1 (en) * 2005-06-09 2006-12-21 Intepoint, Llc Multi-infrastructure modeling system
US7571192B2 (en) 2005-06-15 2009-08-04 Oracle International Corporation Methods and apparatus for maintaining consistency during analysis of large data sets
US7877350B2 (en) * 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US20070021995A1 (en) 2005-07-20 2007-01-25 Candemir Toklu Discovering patterns of executions in business processes
US8064672B2 (en) * 2005-10-18 2011-11-22 Koninklijke Philips Electronics N.V. Patient scan time optimization for PET/SPECT imaging
GB0617449D0 (en) * 2006-09-06 2006-10-18 Ibm An apparatus for providing a visual representation of a sub-set of a visual program
NZ575892A (en) * 2006-09-27 2012-02-24 Direct Comp Resources Inc System and method for obfuscation of data across an enterprise
US8069129B2 (en) * 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US8347207B2 (en) * 2007-07-16 2013-01-01 International Business Machines Corporation Automatically moving annotations associated with multidimensional data between live datacubes
US8190562B2 (en) * 2007-10-31 2012-05-29 Microsoft Corporation Linking framework for information technology management
US8645434B2 (en) * 2008-03-18 2014-02-04 Apple Inc. Techniques for schema production and transformation
US8073801B1 (en) * 2008-05-30 2011-12-06 The Decision Model Licensing, LLC Business decision modeling and management system and method
US8429614B2 (en) * 2008-06-23 2013-04-23 International Business Machines Corporation Method and apparatus of effective functional test data generation for web service testing
US8478706B2 (en) * 2009-01-30 2013-07-02 Ab Initio Technology Llc Processing data using vector fields
US8725660B2 (en) * 2009-07-30 2014-05-13 Hewlett-Packard Development Company, L.P. Applying non-linear transformation of feature values for training a classifier
US8301413B2 (en) * 2009-10-30 2012-10-30 Bank Of America Corporation Testing analytics tool
US20110255794A1 (en) * 2010-01-15 2011-10-20 Copanion, Inc. Systems and methods for automatically extracting data by narrowing data search scope using contour matching
US8438533B2 (en) * 2010-04-26 2013-05-07 Sag Ag Performance-related decision support for compositions of process modeling environments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101375362B1 (ko) 2012-04-09 2014-03-19 마이클 명섭 리 해저의 실시간 모니터링을 이용한 해양 구조물의 정적 및 동적 포지셔닝 시스템 및 방법

Also Published As

Publication number Publication date
AU2010208112A1 (en) 2011-07-28
JP5490824B2 (ja) 2014-05-14
US8996442B2 (en) 2015-03-31
CN105243422A (zh) 2016-01-13
EP2391938A1 (en) 2011-12-07
EP2391938A4 (en) 2016-06-08
AU2010208112B2 (en) 2015-05-28
CN105243422B (zh) 2018-07-06
US8478706B2 (en) 2013-07-02
JP2014130628A (ja) 2014-07-10
US20130297629A1 (en) 2013-11-07
CN102301324B (zh) 2015-08-19
JP2015212972A (ja) 2015-11-26
JP2012516521A (ja) 2012-07-19
WO2010088523A1 (en) 2010-08-05
US20100198769A1 (en) 2010-08-05
KR20110119683A (ko) 2011-11-02
HK1220532A1 (zh) 2017-05-05
JP5957580B2 (ja) 2016-07-27
CN102301324A (zh) 2011-12-28
CA2749538A1 (en) 2010-08-05
JP5779262B2 (ja) 2015-09-16

Similar Documents

Publication Publication Date Title
KR101613110B1 (ko) 벡터 필드를 이용한 데이터 처리 방법
US10540436B2 (en) Evaluating rules applied to data
JP6216757B2 (ja) ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム
JP6395680B2 (ja) データセット要素のマッピング
CN111295651A (zh) 在多维数据库环境中使多个父母具有权重的系统和方法
US8050986B2 (en) System and method for determining a quantity mismatch report
US20130060753A1 (en) Optimization Method And Apparatus
Liu Systematic Program Design: From Clarity to Efficiency
US8572551B2 (en) Difference log production for model merging
AU2015203863B2 (en) Processing data using vector fields
Castellani Mechanisms of standardized reusability of objects (MCO methodology)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 4