KR101872748B1 - 데이터 콜렉션에 대한 변경 관리 방법 - Google Patents

데이터 콜렉션에 대한 변경 관리 방법 Download PDF

Info

Publication number
KR101872748B1
KR101872748B1 KR1020137020872A KR20137020872A KR101872748B1 KR 101872748 B1 KR101872748 B1 KR 101872748B1 KR 1020137020872 A KR1020137020872 A KR 1020137020872A KR 20137020872 A KR20137020872 A KR 20137020872A KR 101872748 B1 KR101872748 B1 KR 101872748B1
Authority
KR
South Korea
Prior art keywords
change
records
proposed
record
result
Prior art date
Application number
KR1020137020872A
Other languages
English (en)
Other versions
KR20140051819A (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 KR20140051819A publication Critical patent/KR20140051819A/ko
Application granted granted Critical
Publication of KR101872748B1 publication Critical patent/KR101872748B1/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/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

레코드 콜렉션에 대한 변경 관리 방법으로, 레코드 콜렉션의 제1 버전을 나타내는 제1 세트의 기록(116)을 데이터 저장 시스템(112)에 저장하는 단계, 및 사용자 인터페이스(102)를 통하여 수신된 입력에 의해 특정된 레코드 콜렉션에 대한레코드 콜렉션에 대한를 인증하는 단계를 포함한다. 데이터 저장 시스템은 제안된 변경과 관련된 인증 기준(110)에 기초하여 상기 데이터 저장 시스템에 질의하여, 질의에 대응한 제1 결과가 수신된다. 기록에 아직 반영되지 않은 변경(114)을 나타내는 제2 세트의 기록이 처리되어 제2 결과를 생성한다. 제2 결과에 기초하여 제1 결과가 갱신되어 제3 결과가 생성된다. 제3 결과가 처리되어 제안된 변경이 인증 기준에 따라 유효한지 여부를 결정한다.

Description

데이터 콜렉션에 대한 변경 관리 방법{MANAGING CHANGES TO COLLECTIONS OF DATA}
본 출원은, 2011년 1월 14일에 출원된 미국 특허 출원 제61/433,082호에 대한 우선권을 주장하며, 해당 출원의 모든 내용은 참조에 의해 본 명세서에 원용된다. 본 발명은 데이터 콜렉션에 대한 변경 관리에 관한 것이다.
데이터베이스 시스템과 같은 컴퓨터 시스템은 데이터 콜렉션에서 변경을 관리하기 위한 다양한 메커니즘을 제공한다. 일례로, 사용자들은 데이터베이스에 저장되어 있는 데이터에 대한 변경을 제안하고 실현한다. 일반적으로, 데이터베이스는 어떻게 저장된 데이터가 변경될 수 있는지를 정의하는 규칙을 포함한다.
일 관점에서, 일반적으로, 레코드 콜렉션에 대한 변경을 관리하는 관리 방법은 레코드 콜렉션의 제1 버전을 나타내는 제1 세트의 기록을 데이터 저장 시스템에 저장하는 단계를 포함한다. 상기 방법은 사용자 인터페이스를 통하여 수신된 입력에 의해 특정된, 레코드 콜렉션에 대한 제안된 변경을 인증하는 단계를 더 포함한다. 인증하는 단계는, 제안된 변경과 관련된 인증 기준(validation criteria)에 기초하여 데이터 저장 시스템에 질의하여, 질의에 대한 응답으로서 제1 결과를 수신하는 단계, 레코드 콜렉션에 아직 반영되지 않은 변경을 나타내는 제2 세트의 기록을 처리하여 제2 결과를 생성하는 단계, 제2 결과에 기초하여 제1 결과를 갱신하여 제3 결과를 생성하는 단계, 및 제3 결과를 처리하여 제안된 변경이 인증 기준에 따라 유효한지 여부를 결정하는 단계를 포함한다.
다른 관점에서, 일반적으로, 컴퓨터로 읽을 수 있는 저장 매체는, 레코드 콜렉션에 대한 변경을 관리하는 프로그램을 포함한다. 컴퓨터 프로그램은, 컴퓨터로 하여금, 레코드 콜렉션의 제1 버전을 나타내는 제1 세트의 기록을 데이터 저장 시스템에 저장하는 단계, 및 사용자 인터페이스를 통하여 수신된 입력에 의해 특정된, 레코드 콜렉션에 대한 제안된 변경을 인증하는 단계를 수행하게 하는 명령어를 포함한다. 인증하는 단계는, 제안된 변경과 관련된 인증 기준(validation criteria)에 기초하여 데이터 저장 시스템에 질의하여, 질의에 대한 응답으로서 제1 결과를 수신하는 단계, 레코드 콜렉션에 아직 반영되지 않은 변경을 나타내는 제2 세트의 기록을 처리하여 제2 결과를 생성하는 단계, 제2 결과에 기초하여 제1 결과를 갱신하여 제3 결과를 생성하는 단계, 및 제3 결과를 처리하여 제안된 변경이 인증 기준에 따라 유효한지 여부를 결정하는 단계를 포함한다.
또 다른 관점에서, 일반적으로, 레코드 콜렉션에 대한 변경을 관리하기 위한 컴퓨팅 시스템은, 레코드 콜렉션의 제1 버전을 나타내는 제1 세트의 기록을 저장하는 수단, 및 사용자 인터페이스를 통하여 수신된 입력에 의해 특정된, 레코드 콜렉션에 대한 제안된 변경을 인증하는 수단을 포함한다. 인증은, 제안된 변경과 관련된 인증 기준(validation criteria)에 기초하여 데이터 저장 시스템에 질의하여, 질의에 대한 응답으로서 제1 결과를 수신하는 단계, 레코드 콜렉션에 아직 반영되지 않은 변경을 나타내는 제2 세트의 기록을 처리하여 제2 결과를 생성하는 단계, 제2 결과에 기초하여 제1 결과를 갱신하여 제3 결과를 생성하는 단계, 및 제3 결과를 처리하여 제안된 변경이 인증 기준에 따라 유효한지 여부를 결정하는 단계를 포함한다.
다양한 관점은 하나 이상의 이하의 특징을 포함할 수 있다. 제1 세트의 기록은, 하나 이상의 소스 값을 각각의 타겟 값에 맵핑하는 메타데이터 맵을 포함한다. 하나 이상의 소스 값 중 하나가 2 이상의 상이한 타겟 값에 맵핑되어 있는 경우, 제안된 변경을 무효화한다. 결정하는 단계는, 제안된 변경이 하나 이상의 중복된 기록의 생성을 야기하는지 여부를 식별하는 단계를 포함한다. 제안된 변경이 하나 이상의 중복된 기록의 생성을 야기하는지 여부를 식별하는 단계는, 하나 이상의 중복된 열(row)을 식별하는 단계를 포함한다. 하나 이상의 중복된 열은, 하나 이상의 소스 값을 인증 기준으로 사용함으로써 식별된다. 제2 세트의 기록은 사용자 인터페이스를 통하여 입력된 제1 세트의 기록에 대한 제안된 변경을 나타내는 하나 이상의 체인지세트(changesets)를 포함한다. 입력은 이전에 저장된 체인지세트와 관련된 변경을 제1 세트의 기록에 적용하는 명령어를 포함한다. 레코드 콜렉션에 대한 제안된 변경을 인증하는 단계는, 사용자 인터페이스에서 입력에 의해 특정된 다른 제안된 변경에 대하여 제안된 변경을 인증하는 단계를 포함한다. 사용자 인터페이스는 기록 세트의 하나 이상의 서브세트를 선택적으로 디스플레이하기 위해 하나 이상의 필터를 포함한다. 제안된 변경이 인증되지 않은 경우, 통지를 생성된다. 통지는, 제안된 변경 중, 인증 기준을 위반하는 부분을 나타낸다.
본 발명의 여러 측면은 이하와 같은 효과를 포함할 수 있다. 예를 들면, 여기에 설명된 기술은 다양한 데이터베이스 및 파일의 정확성 및 완전성(integrity)을 유지하는 데에 사용될 수 있다. 여기에 설명된 기술은 또한 관리자에게 하나 이상의 기록 시스템을 효과적으로 유지하는 것을 가능하게 할 수 있다.
본 발명의 기타 특징 및 효과는 후술하는 상세한 설명 및 특허청구범위로부터 명백해 질 것이다.
도 1은 그래프에 기초한 컴퓨팅을 실행하기 위한 시스템의 블록도이다.
도 2는 레코드 콜렉션에 대한 변경 관리를 위한 프로세스의 일례의 순서도이다.
도 3은 컴퓨팅 환경의 일례의 스크린샷이다.
도 4a 및 4b는 컴퓨팅 환경의 일례의 스크린샷이다.
도 1은 데이터 콜렉션(예를 들면, 기록으로의 구조화된 데이터)에 대한 변경 관리가 사용될 수 있는 일 실시예의 컴퓨팅 환경(100)을 나타낸 것이다. 시스템(100)은 저장 장치 또는 온라인 데이터 스트리밍의 연결 등과 같은, 각각 다양한 저장 포맷(예를 들면, 데이터베이스 태블릿, 스프레드시트 파일, 정형화된 텍스트 파일, 또는 메인프레임에 의해 사용되는 네이티브 포맷) 중 임의의 포맷으로 데이터를 저장할 수 있는, 하나 이상의 데이터 소스를 포함할 수 있는 데이터 저장 시스템(112)을 포함한다.
처리 환경(106)은 처리 엔진(108) 및 인증 엔진(110)을 포함한다. 처리 환경(106)은, UNIX 운영 체제와 같은 적절한 운영 체제의 제어 하에서, 하나 이상의 일반적 용도의 컴퓨터 상에서 호스팅될 수 있다. 예를 들면, 처리 환경(106)은, 근거리이거나(예를 들면, SMP 컴퓨터와 같은 멀티프로세서 시스템), 또는 근거리 분산되거나(예를 들면, MPPs 또는 클러스터로서 연결된 복수의 프로세서), 또는 원거리이거나, 또는 원격 분산된(예를 들면, 근거리 통신망(LAN) 및/또는 광역 통신망(WAN)을 통하여 연결된 복수의 프로세서), 또는 이들의 임의의 조합의 복수의 중앙 처리 장치(CPUs)를 사용한 컴퓨터 시스템의 구성을 포함하는 다중 노드 병렬 컴퓨팅 환경을 포함할 수 있다.
데이터 저장 시스템(112)을 제공하는 저장 장치는, 예를 들면, 처리 환경(106)(예를 들면, 하드 드라이브)을 작동하는 컴퓨터에 연결되어 있는 저장 장치 상에 저장되어 있을 수도 있듯이, 처리 환경(106)에 근거리일 수 있고, 또는, 예를 들면, 원격 연결을 통하여 처리 환경(106)을 작동하는 컴퓨터와 통신하는 원격 시스템(예를 들면, 메인 프레임) 상에서 호스팅되는 것과 같이, 처리 환경(106)에 동떨어졌을 수 있다.
처리 환경(106)(및/또는 처리 엔진(108)과 같은 그 관련 부품)은 상이한 형태의 데이터베이스 시스템을 포함하는 다양한 타입의 시스템으로부터 데이터를 수신할 수 있다. 데이터는 제로(null) 값을 포함할 수 있는 각각의 필드("속성(attributes)" 또는 "칼럼(columns)"이라고도 불림)를 위한 값을 가지는 기록으로서 구조화(organize)될 수 있다. 데이터 소스로부터 처음 데이터를 판독하는 경우, 처리 환경(106)은 전형적으로 그 데이터 소스 내의 기록에 대한 초기 포맷 정보로부터 시작된다. 일례의 환경에서는, 데이터 소스의 기록 구조는 초기에 알려져 있지 않을 수 있고, 그 대신에 데이터 소스의 분석 후에 결정될 수 있다. 기록에 대한 초기 정보는 분명한 값을 나타내는 비트의 개수, 기록 내에서의 필드의 차수, 및 비트에 의해 나타나는 값의 타입(예를 들면, 문자열, 부호/무부호 정수)을 포함할 수 있다.
컴퓨팅 환경(100)은 또한 사용자(101)로부터 처리 환경(106)으로의 명령을 통신하도록 구성되어 있는 사용자 인터페이스(102)를 포함한다. 이하에 자세히 설명되어 있는 일례에서, 사용자(101)는 사용자 인터페이스(102)를 사용하여 제안된 기록 변경(104)을 입력한다. 예를 들면, 사용자(101)는 기록 세트(116) 내의 테이블로부터 행 또는 열의 추가 및/또는 삭제, 또는 테이블의 하나 이상의 필드 내의 값을 변경을 포함하는 제안된 기록 변경(104)을 입력함으로써 데이터 저장 시스템(112)에 저장되어 있는 기록 세트(116) 내의 하나 이상의 기록을 변경하려고 시도할 수 있다. 사용자 인터페이스(102)는 컴퓨터 디스플레이, 스피커 등과 같은 다양한 출력 장치를 사용하여 처리 환경(106)으로부터의 정보를 사용자(101)에게 통신할 수 있다. 예를 들면, 사용자 인터페이스(102)는 데이터 저장 시스템(112)에 저장되어 있는 정보를 시각적으로 나타내는 그래픽 디스플레이를 포함할 수 있다(예를 들면, 데이터베이스 테이블의 행과 열을 나타내는 격자를 디스플레이함으로써).
처리 엔진(108) 및 인증 엔진(110)은 제안된 기록 변경(104) 및 데이터 저장 시스템(112)으로부터 회복된 정보를 사용하여 데이터 저장 시스템(112)에 저장되어 있는 기록 세트(116)에 대한 변경을 인증 및/또는 실현한다. 데이터 저장 시스템(112)으로부터 회복된 정보는 하나 이상의 계류 중인 변경(114)(예를 들면, 아직 실현되지는 않았으나, 기 인증되었거나 및/또는 저장된 기록 세트(116)에 대한 변경)에 관련된 정보를 포함할 수 있다. 일례에서, 계류 중인 기록 변경은 "체인지세트(changesets)"라고 일컬어진다. 일반적으로, 처리 엔진(108)은 하나 이상의 기록 세트를 변경하기 위한 명령어를 나타내는 데이터를 포함하는 기록 데이터를 수신하고 처리한다. 처리 엔진(108)은 제안된 기록 변경(104), 계류 중인 기록 변경(114), 및 기록 세트(116)로부터의 데이터를 사용하여 데이터 저장 시스템(112)에 저장되어 있는 기록 세트(116)를 변경시키기 위한 명령어를 생성하거나 또는 실행한다. 일례에서, 인증 엔진(110)은 명령어가 실행되기 전에 레코드 콜렉션을 변경하기 위한 명령어를 인증하여, 레코드 콜렉션을 변경한다. 처리 환경(106)은 처리 엔진(108) 및 인증 엔진(110) 모두를 포함하고 있는 반면, 처리 환경(106)은 임의의 개수의 개개의 태스크 엔진의 중에서 그 태스크를 분할할 수 있다. 예를 들면, 단일 태스크 엔진은 처리 엔진(108) 및 인증 엔진(110) 모두의 기능을 수행할 수 있다. 이와 유사하게, 처리 엔진(108) 및 인증 엔진(110)에 의해 수행되는 태스크는 복수의 서브 태스크 엔진 중에서 분할될 수 있다. 데이터 저장 시스템(112)에 저장되어 있는 데이터는 처리 환경(106)에 액세스 가능하다. 데이터 저장 시스템(112)은 또한 개발자(101)가 데이터 저장 시스템(112)에 저장되어 있는 데이터에 대한 변경을 제안하고 실현할 수 있는 사용자 인터페이스(102)에 직접적으로 또는 간접적으로 액세스할 수 있다. 일례에서, 사용자 인터페이스(102)는 꼭지점들 사이의 직접적 연결(작업 요소의 흐름을 나타냄)에 의해 연결된 꼭지점(구성요소 또는 데이터 세트를 나타냄)을 포함하는 데이터 흐름 그래프와 같은 어플리케이션을 개발하기 위한 개발 환경과 관련되어 있다. 예를 들면, 그러한 환경은 미국 공개 특허 공보 US2007/0011668 "그래프형 컴퓨팅을 위한 파라미터 관리(Managing parameters for graph-based computations)"에 자세히 설명되어 있으며, 해당 출원의 모든 내용은 참조에 의해 본 명세서에 원용된다. 그러한 그래프형 컴퓨팅은 미국 특허 공보 US5,566,072 "그래프로 표현된 컴퓨테이션을 실행하기(EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS"에 설명되어 있으며, 해당 출원의 모든 내용은 참조에 의해 본 명세서에 원용된다. 이 시스템에 따른 데이터 흐름 그래프는, 그래프 요소에 의해 표현되는 개개의 프로세스에 대한 정보 반입 및 개개의 프로세스로부터의 정보 반출 방법, 프로세스들 사이의 정보 이동 방법 및 프로세스들의 동작 순서를 정하는 방법을 제공한다. 이 시스템은 프로세스간 통신(interprocess communication) 방법을 선택하는 알고리즘을 포함한다(예를 들면, 그래프의 연결에 따른 통신 경로는 TCP/IP 또는 UNIX 도메인 소켓을 사용할 수 있고, 또는 프로세스들 사이에 데이터를 통과시키기 위한 공유 메모리를 사용할 수 있다).
도 2는 레코드 콜렉션에 대한 변경 관리를 위한 프로세스의 일례의 순서도(200)이다. 순서도(200)는 컴퓨팅 환경(100)에서의 하나 이상의 모듈(예를 들면, 처리 엔진(108))에 의해 수행될 수 있다.
데이터 저장 시스템에 레코드 콜렉션의 제1 버전을 나타내는 제1 세트의 기록이 저장된다(202). 일례에서, 레코드 콜렉션은 메타데이터 맵과 같은 데이터 처리에서 사용되기 위하여 정확히 유지되고 갱신될 정보의 콜렉션을 나타낸다. 일반적으로, 메타데이터 맵은 상이한 두 시스템들 사이의 값의 해석을 특정할 수 있다. 예를 들면, 만약 제1 시스템이 값 M(남성) 및 F(여성)를 "성별" 필드를 정의하기 위하여 사용하고, 제2 시스템이 값 0(남성) 및 1(여성)을 성별 필드를 정의하기 위하여 사용하는 경우, 메타데이터 맵은 제1("소스") 시스템으로부터 제2("타겟") 시스템으로의 값을 해석(예를 들면, M->0, F->1)하는데에 사용될 수 있다. 맵핑은 단일 필드들 사이 또는 필드 세트 사이에 행해질 수 있다(예를 들면, 제1 시스템으로부터의 복수의 열을 제2 시스템으로 맵핑). 예를 들면, 제1 열이 사람의 성별을 나타내고 제2 열이 그 사람이 사는 주(州)를 나타내는 것을 포함하는 기록을 저장하는 제1 시스템을 고려한다. 이 예에서, 제1 성별 코드 맵핑이 하나의 주(州)에 대해 사용되고 제2 성별 코드 맵핑은 또 다른 주(州)에 대해 사용되도록, 성별 코드는 주(州)에 종속될 수 있다. 메사추세츠주(MA)의 기록은 값 1을 남성에 맵핑할 수 있으나, 뉴욕주(NY)의 기록은 값 3을 남성에 맵핑할 수 있다. 이 예에서, MA/0의 조합은 남성에 맵핑되고, MA/1의 조합은 여성에 맵핑되며, NY/3의 조합은 남성에 맵핑된다.
일례에서, 메타데이터 맵은 하나(하나뿐)의 소스 값으로부터 타겟 값으로의 해석을 제공한다. 일예에서, 메타데이터 맵은 M->0 그리고 또한 F->과 같은 해석은 에러의 원인이 되므로, 그러한 해석은 제공할 수 없다. 이러한 식의 해석은, 두 개의 상이한 소스 값이 동일한 타겟 값에 맵핑되므로, M과 F 사이의 분별을 근본적으로 무너뜨린다. 따라서, 많은 경우에서, 각 타겟 값은 하나의 소스 값에만 관련된다. 다른 실시예에서, 만약 두 개의 다른 소스 값(예들 들면, M 및 F) 사이의 분별을 타겟 시스템이 유지하기 위하여 바람직하지 않은 경우, 복수의 소스 값은 동일한 타겟 값에 맵핑될 수 있다.
입력에 의한 레코드 콜렉션에 대한 제안된 변경이 승인된다(204). 일례에서, 제안된 변경의 승인(204)은 프로세스(206, 208, 210 및 212)를 포함하는 승인 프로세스(205)를 포함한다. 즉, 제안된 변경의 승인(204)은, 제안된 변경과 관련된 인증 기준(validation criteria)에 기초하여 데이터 저장 시스템에 질의하고, 질의에 대응하여 제1 결과가 수신된다(206). 예를 들면, 제안된 기록 변경(104)에 관한 정보가 수신된 후, 처리 엔진(108)은 데이터 저장 시스템(112)에 질의한다. 일례에서, 데이터 저장 시스템(112)에 질의하는 것은 데이터 저장 시스템(112)이 제안된 변경(104)에 의해 영향을 받는 열 및/또는 행에 관련된 열 및/또는 행을 식별하는, 제1 결과로 돌아가도록 한다. 질의의 기초가 되는 인증 기준은 특정 행의 소스 또는 타겟 열로부터의 값 세트를 나타낸다. 예를 들면, 소스 열 인증 기준은 제안된 변경(104)을 실현하는 것이 기록 세트(116)에서 중복된 행을 야기하지 않는다는 것을 인증하는 데에 사용되며, 타겟 열로부터의 값이 소스 및 타겟 값 사이의 맵이 가역성(reversible)인 것(예를 들면, 각 세트의 타겟 값이 유일하다는 것을 확인)을 인증하는 데에 사용된다. 처리 엔진(108)은 제1 결과를 추후 제안된 기록 변경(104)을 승인하는 데에 사용되도록 저장(예를 들면, 로컬 메모리에)할 수 있다.
제2 결과를 생성하기 위하여, 레코드 콜렉션에 아직 적용되지 않은 변경을 나타내는 제2 기록 세트("체인지세트")가 처리된다(208). 예를 들면, 처리 엔진(108)은, 제안된 기록 변경(104)과 충돌될 수 있는 변경을 나타내는 제2 결과를 생성하기 위하여, 데이터 저장 시스템(112)에 저장되어 있는 계류 중인 기록 변경(114)을 처리할 수 있다. 예를 들면, 만약 제안된 기록 변경(104)이 행 X의 값을 수정하는 명령어를 포함하였다면, 처리 엔진은 행 X에 관련된 계류 중인 기록 변경(114)으로부터 임의의 명령어를 추출할 수 있다. 계류 중인 기록 변경(114)으로부터 추출된 정보는 제2 결과로서 저장된다(예를 들면, 로컬 메모리에). 일 실시예에서, 처리 엔진(108)은 계류 중인 기록 변경(114)을 고려하지 않고 제안된 기록 변경(104)을 인증하기 위하여, 인증 엔진(110)으로 제1 결과를 전달할 수 있다. 이와 유사하게, 처리 엔진(108)은 제안된 기록 변경(104)을 고려하지 않고 계류 중인 기록 변경(114)을 인증하기 위하여, 인증 엔진(110)으로 제2 결과를 전달할 수 있다. 일례에서, 체인지세트는 하나 이상의 도 4a 및 4b에 도시되어 있는 환경 및 기술(이하 자세히 설명한다)을 사용하여 생성될 수 있다.
제1 결과는 제2 결과에 기초하여 갱신되어, 제3 결과를 생성한다(210). 예를 들면, 상술한 바와 같이 제1 결과 및 제2 결과를 생성한 후, 처리 엔진(108)은 제2 결과로부터의 정보로 제1 결과를 갱신하여 제3 결과를 생성한다. 일례에서, 제3 결과는 제1 결과 및 제2 결과에 나타나 있는 행 및/또는 열을 포함한다. 제3 결과는 인증 기준(212)에 따라 제안된 변경이 유효한지 여부를 결정하도록 처리된다(212). 예를 들면, 처리 엔진(108)은 제3 결과 및 제안된 기록 변경(104)을 인증 엔진(110)으로 전달할 수 있다. 그 후 인증 엔진(110)은 제안된 기록 변경(104)을 비교하여(예를 들면, 제안된 기록 변경(104)에 나타나 있는 인증 기준을 사용함) 제안된 기록 변경(104)이 유효한지 여부를 결정한다(214). 기록 세트에 대한 제안된 기록 변경이 유효한지를 결정하는 것은 중복된 소스 값의 체크, 각각의 소스 값 세트가 유일한 타겟 값 세트에 맵핑되었는지의 확인, 및 임의의 범위(예를 들면, 날짜 범위)가 겹치지 않는지의 확인 중 하나 이상을 포함한다.
만약 제안된 변경이 무효한 것으로 결정되면(NO), 제안된 변경은 거절된다(218). 하나 이상의 사용자 통지가 생성될 수 있다(220). 일례에서, 통지는 왜 제안된 변경이 무효인지에 대한 하나 이상의 이유를 나타낼 수 있다. 예를 들면, 만약 인증 엔진(110)이, 제안된 변경이 계류 중인 기록 변경(114) 내에서 삭제된 행을 수정하는 명령어를 포함하기 때문에 제안된 변경을 거절하였다면, 제안된 기록 변경(104)과 계류 중인 기록 변경(114) 사이의 충돌을 나타내는 통지가 사용자 인터페이스(102) 상에 생성될 수 있다.
만약 제안된 변경이 유효한 것으로 결정되면(YES), 제안된 변경이 레코드 콜렉션에 적용된다. 예를 들면, 만약 인증 엔진(110)이 인증 기준에 따라 제안된 변경(104)이 유효하다고 결정한 경우, 처리 엔진(106)(또는 또 다른 적절한 엔티티)이 제안된 기록 변경(104) 내에 제공되어 있는 명령어에 따라 기록 세트(116)를 수정할 수 있다. 예를 들면, 만약 제안된 기록 변경(104)이 기록 세트(116)에서의 행을 수정하는 명령어를 포함하고, 인증 엔진(110)이 인증 기준에 따라 제안된 기록 변경(104)이 유효하다고 결정한 경우, 처리 엔진(108)은 제안된 기록 변경(104)에 나타나 있는 기록 세트(116)에서의 행을 수정할 수 있다.
일례에서, 인증 프로세스는 소스 값 세트 또는 타겟 값 세트 중 어느 하나일 수 있는 인증 기준에 기초한 외장 테이블로부터 행 질의(querying rows)한다. 그 후, 데이터 저장 시스템(예를 들면, 메타데이터 저장 보관소)은 외부 행의 갱신 또는 삭제를 나타내는 현재 체인지세트 상에서 저장된 행에 대해 질의될 수 있다. 일례에서, 데이터 저장 시스템의 이러한 질의는, 무시(override)의 본질이 결과 행이 인증 영역과 더이상 매칭되지 않는다는 것을 의미할 수 있기 때문에, 인증 기준을 사용하지 않을 수 있다. 데이터 저장 시스템으로부터 저장된 무시에 기초한 인증 기준에 더이상 매칭되지 않는 외부 행은 제거될 수 있다. 그 후, 데이터 저장 시스템은 인증 기준에 매칭되는 행에 대해 질의될 수 있다. 인증 세트에 이미 존재하는 외부 행의 유일한 식별자와 매칭되는 결과 행의 전부 또는 일부는 대응하는 외부 행을 교체할 수 있다. 그 후, 인증 기준과 매칭되는 기타 행은 세트에 추가될 수 있다. 최종적으로, 사용자 인터페이스로부터의 임의의 저장되지 않은 변경은 최근 변경이 인증 기준과 매칭되는지 여부에 기초한 인증 세트로부터의 동일하고 유일한 식별자로 현존 행을 교체하거나 제거할 수 있다. 인증 기준과 매칭되며 새로운 행(예를 들면, 외부 테이블을 위하여 삽입되는)을 나타내는 는 저장되지 않은 행이 인증 세트에 추가될 수 있다. 그 후, 최종 세트 행이 인증에 적용되도록 사용될 수 있다.
도 3은 예를 들면, 사용자 인터페이스(102)에 디스플레이될 수 있는 환경(300)의 일례의 스크린샷이다. 사용자(예를 들면, 사용자(101))는 환경(300)을 사용하여 하나 이상의 기록을 보고, 하나 이상의 기록과 상호 작용할 수 있다. 환경(300)은 하나 이상의 조직 시스템을 사용하는 파일의 정렬을 디스플레이하는 파일 탐색기(312)를 제공한다. 이 예에서, 파일들은 계층(hierarchy)으로 정렬되어 있다(예를 들면, 패런트(parent) "맵핑"은 차례대로 서브-차일드 노드 파일을 포함하는 차일드(child) 노드 "맵"을 포함함). 사용자는 파일 탐색기를 탐험하며, 선택된 파일(303)과 같은 하나 이상의 파일을 선택하고 디스플레이할 수 있다.
하나의 파일이 선택된 후, 하나 이상의 필터(314)가 선택된 파일(303)과 관련된 데이터에 적용될 수 있다. 필터(314)의 적용은 환경(300)에 디스플레이될 데이터의 양 또는 타입을 변경할 수 있다. 예를 들면, 필터(314)는 선택된 파일(303)에 적용되어 타겟 값이 입력되지 않은 행의 디스플레이를 억제할 수 있다.
이 예에서, 선택된 파일(303)은 메타데이터 맵이다. 상술한 바와 같이, 일반적으로, 메타데이터 맵은 두 개의 상이한 시스템 사이의 값의 해석일 수 있다. 도 3에서, 메타데이터 맵은 제1 행(304)을 포함하는 다섯 행(302)을 포함한다. 메타데이터 맵은 또한 제1 열(308) 및 제2 열(310)을 포함하는 두 열(306)을 포함한다. 제1 행(304)에 관하여, 제1 열(308)은 메타데이터의 조각을 위한 소스 값(P001)을 나타낸다. 제2 열(310)은 동일한 메타데이터의 조각을 위한 타겟 값(Y)을 나타낸다. 따라서, 이 예에서, 제1 열(308) 및 제2 열(310)은 선택된 파일(303)의 제1 행(304)을 위한 메타데이터 맵을 정의하여, 소스 값(P001)을 타겟 값(Y)에 맵핑한다.
도 4a 및 4b는 무효의 제안된 변경과 관련된 행이 자동으로 보여지는 환경에 제공되어 사용자가 규칙 위반의 시각적 표현을 볼 수 있게 하는 환경(400A, 400B)의 일례이다. 도 4a는 상술한 환경(300)(도 3)과 유사한 환경(400A)의 일례의 스크린샷이다. 환경(400A)은 제1 행(404)을 포함하고, 선택된 파일과 관련된 메타데이터를 디스플레이한다. 이 예에서, 필터(402)는 제1 행(404)을 포함하고, 환경(400A)이 소스 값이 값("P002")을 가진 행만을 디스플레이하도록 한다. 제1 행(404)의 제1 열은 소스 값(P002)(406)을 포함하고, 이 소스 값은 제1 행(404)의 제2 열의 타겟 값(N)(408)에 맵핑된다. 따라서, 제1 행(404)은 소스 값(P002)(406)을 위한 메타데이터 맵을 표현한다.
도 4b는 사용자(또는 기타 다른 엔티티)가 무효인 변경을 나타내는 제2 행(410)을 추가한 환경(400B)을 나타낸 것이다. 상술한 바와 같이, 무효인 변경은, 필터의 존재가 보통의 경우에는 통지에 의해 나타내어지는 타입의 행을 억제함에도 불구하고, 사용자에게 규칙 위반(예를 들면, 인증 기준의 위반)을 알려주기 위하여 통지가 생성되는 것을 야기할 수 있다. 예를 들면, 도 4a에 도시되어 있는 바와 같이, 필터(402)가 유효하면, 전형적으로 소스 값이 값(P002)을 가지는 행의 디스플레이를 제한하게 된다. 그러나, 이 예에서는, 소스 값(P003)(412)을 타겟 값(X)(414)에 맵핑하는 것을 제안하는 제2 행(410)이 추가된다(예를 들면, 제안된 변경(104)). 제안된 변경을 분석하여, 제안된 변경이 제1 결과(예를 들면, 기록 세트(116)에 관련된 제1 결과) 및 제2 결과(예를 들면, 계류 중인 기록 변경(114)에 관련된 제2 결과) 중 어느 하나 또는 모두와 관련하여 무효화된다. 이 예에서, 인증 기준이 단일 소스 값이 하나 초과의 타겟 값에 맵핑될 수 없다는 것을 특정므로, 소스 값(P003)(412)을 타겟 값(X)(414)에 맵핑하는 제안된 맵핑은, 충돌하는 행(409)에 나타나 있듯이, 소스 값(P003)(412)을 타겟 값(Y)(407)에 맵핑하는 기존 맵핑과 충돌하기 때문에 무효이다.
인증 프로세스는 다양한 기술을 사용하여 촉발(trigger)될 수 있다. 예를 들면, 사용자는 인증 엔진(110)(도 1)이 레코드 콜렉션에 대한 제안된 변경을 인증하도록 명령어하는 "유효한 변경" 제어를 활성화시킬 수 있다. 인증 프로세스는 사용자 인터페이스(예를 들면, 환경(400A, 400B))에 변경이 입력된 후에도 촉발될 수 있다. 일례에서, 인증 프로세스는 실시간으로 일어날 수 있고, 사용자가 사용자 인터페이스로 변경을 입력(예를 들면, 타이핑)함에 따라 레코드 콜렉션에 대한 변경을 유효화할 수 있다. 따라서, 인증 절차는 저장된(예를 들면, 외부에 저장된) 레코드 콜렉션, 저장된 계류 중인 기록 변경(예를 들면, 체인지세트), 및 사용자 인터페이스에는 나타났으나 아직 체인지세트로 저장되지 않았거나 또는 레코드 콜렉션에 적용되지 않은 변경(예를 들면, 사용자 인터페이스의 제1 변경은, 아직 실현되지 않았거나 체인지세트로 저장되지 않은 사용자 인터피에스에서 기타 다른 변경에 반하여 인증될 수 있다)에 반하여 제안된 변경을 인증할 수 있다.
제안된 변경이 무효화되면, 충돌하는 행(409)은, 필터(402)의 적용으로 인해 P002가 아닌 다른 소스 값을 가지는 행을 억제하더라도, 환경(400B)에 표시(render)될 수 있다. 이 경우, 충돌하는 행(409)은 무효인 제안된 변경을 나타내는 문제가 되는(offending) 행(410)의 인접한 곳에 표시된다. 또한, 무효인 제안된 변경로 사용자의 주의를 끌기 위하여 하나 이상의 통지(414, 416)가 생성될 수 있다. 무효인 제안된 변경을 수정하기 위하여, 사용자는 제안된 변경을 삭제하거나, 또는 제안된 변경 및/또는 충돌하는 값을 수정하여 위반된 인증 규칙을 만족하도록 할 수 있다.
환경(400B)은 또한 사용자에 의해 활성화될 수 있는 저장 제어(418), 저장 및 제출 제어(420)를 포함한다. 일례에서, 저장 제어(418)의 활성화는 사용자에 의해 입력된 임의의 제안된 변경을 저장하지만, 그 제안된 변경을 기록 세트에 적용하지는 않는다(예를 들면, 기록 세트와 관련된 데이터가 저장 제어(418)를 활성화시키는 것에 대응하여 변경되지 않는다). 그 대신, 저장 제어(418)의 활성화는 아직 기록 세트에 적용되지 않은 저장된 제안된 변경을 포함하는 파일(예를 들면, 체인지세트)의 생성을 야기한다(예를 들면, 도 1에 도시된 계류 중인 기록 변경(114)). 저장 및 제출 제어(420)는 제안된 변경을 저장하고 또한 그 저장된 변경을 기록 세트에 적용하기 위하여 사용자에 의해 활성화될 수 있다. 따라서, 만약 제안된 변경이 유효한 것으로 결정되면(예를 들면, 도 2에 도시된 프로세스(200)에 의하여), 기록 세트는 제안된 변경에 따라 변경된다. 일례에서, 사용자는 체인지세트에 의해 나타난 변경을 실현하거나 또는 체인지세트를 더 수정하기 위하여 체인지세트에 액세스할 수 있다. 레코드 콜렉션에 대한 체인지세트의 실현은 프로세스(200)(도 2)와 유사한 인증 프로세스의 대상일 수 있다. 체인지세트를 실현(예를 들면, 레코드 콜렉션에 대한 변호 세트에서의 제안된 변경을 적용)하는 경우, 변호 세트는 제안된 변경(104)을 나타낼 수 있고, 계류 중인 기록 변경(114)은 인증되고 있는 체인지세트와는 상이한 하나 이상의 체인지세트일 수 있다.
전술된 레코드 콜렉션에 대한 변경 관리 기술은 컴퓨터 상에서의 실행을 위한 소프트웨어를 이용하여 구현될 수 있다. 예를 들어, 소프트웨어는 각각이 적어도 하나의 프로세서와, 적어도 하나의 데이터 저장 시스템(휘발성 및 비휘발성 메모리 및/또는 저장 콤포넌트), 적어도 하나의 입력 장치 또는 입력 포트, 및 적어도 하나의 출력 장치 또는 출력 포트를 포함하는 하나 이상의 프로그래밍된 또는 프로그래밍 가능한 컴퓨터 시스템(분산 클라이언트/서버, 또는 그리드와 같은 다양한 아키텍처에 관한 것일 수 있는) 상에서실행되는 하나 이상의 컴퓨터 프로그램으로 프로시저를 형성한다. 본 소프트웨어는 더 큰 프로그램의 하나 이상의 모듈, 예컨대 데이터 흐름 그래프의 설계 및 구성에 관련된 다른 서비스들을 제공하는 모듈을 형성할 수 있다. 위 그래프의 노드와 콤포넌트는, 컴퓨터 판독 가능한 매체에 저장된 데이터 구조 또는 데이터 저장소에 저장된 데이터 모델과 일치하는 다른 구성된 데이터로서 구현될 수 있다.
소프트웨어는 범용 또는 전용의 프로그래밍 가능한 컴퓨터로 판독가능한 CD-ROM과 같은 저장 매체에 제공되거나, 네트워크의 통신 매체를 통하여 이러한 소프트웨어가 실행되는 컴퓨터로 전달(전파 신호로 부호화된 상태로)될 수 있다. 모든 동작은 전용의 컴퓨터상에서 수행될 수도 있고, 또는 코프로세서와 같은 전용의 하드웨어를 사용해서 수행될 수도 있다. 소프트웨어는 해당 소프트웨어에 의해 특정된 연산의 상이한 부분이 상이한 컴퓨터에 의해 수행되는 분산형 방식으로 구현되어도 된다. 이러한 각각의 컴퓨터 프로그램은, 저장 매체 또는 저장 장치가 컴퓨터 시스템에 의해 판독될 때에 컴퓨터로 하여금 본 명세서에서 설명된 프로시저를 수행하도록 구성하고 동작시키기 위한, 범용 또는 전용의 프로그래밍 가능한 컴퓨터에 의해 판독 가능한 저장 매체 또는 저장 장치(예컨대, 솔리드 스테이트 메모리 또는 매체, 또는 자기 또는 광학 매체)에 저장되거나 다운로드되는 것이 바람직하다. 본 발명의 시스템은 컴퓨터 프로그램을 이용하여 구성된 컴퓨터 판독가능 저장 매체로서 구현될 수도 있으며, 이와 같이 구성된 저장 매체는 컴퓨터 시스템을 본 명세서에 설명된 동작의 수행을 위해 특정되고 미리 정해진 방식으로 동작하게 한다.
본 발명에 대하여 많은 실시예를 설명하였다. 그렇지만, 본 발명의 사상 및 범위를 벗어남이 없이 다양한 변형이 가능하다는 점을 이해할 것이다. 예컨대, 전술한 단계들 중 몇몇은 반드시 그 순서대로 수행되지 않아도 되며, 설명된 것과 다른 순서로 수행되어도 된다.
이상의 설명은 본 발명의 범위를 제한하기 위한 것이 아니라 예시하기 위한 것이며, 본 발명의 범위는 첨부된 청구범위에 의해 정해진다는 점을 이해할 것이다. 예컨대, 전술한 많은 동작적 단계들은 전체적인 처리에 실질적인 영향을 미치지 않으면서 다른 순서로 수행되어도 된다. 다른 실시예가 이하의 청구항들의 범위에 포함된다.

Claims (15)

  1. 컴퓨터로 하여금 레코드 콜렉션에 대한 제한된 변경을 인증하고 계류 중인 변경을 관리하는 관리 방법으로서,
    상기 계류 중인 변경은, 상기 레코드 콜렉션에 아직 반영되지 않은 것이고, 이전에 제안되고 인증된 적어도 몇몇의 계류 중인 변경을 포함하고,
    상기 방법은,
    데이터 저장 시스템에 저장된 제1 세트의 기록 및 제2 세트의 기록에 액세스하는 단계 - 상기 제1 세트의 기록은 하나 이상의 소스 값을 하나 이상의 타겟 값에 맵핑하는 메타데이터 맵을 각각 포함하는 적어도 몇몇의 기록을 포함하고, 상기 제2 세트의 기록은 상기 계류 중인 변경을 나타냄 -; 및
    사용자 인터페이스를 통하여 수신된 입력에 의해 특정된, 레코드 콜렉션에 대한 제안된 변경을 인증하는 단계
    를 포함하고,
    상기 인증하는 단계는,
    상기 제안된 변경과 관련된 하나 이상의 인증 기준(validation criteria)에 기초하여 상기 데이터 저장 시스템에 질의하는 단계,
    상기 질의에 응답하여 상기 제1 세트의 기록 중 상기 제안된 변경에 의해 영향을 받을 정보를 포함하는 임의의 기록을 표시하는 제1 결과를 수신하는 단계,
    상기 제2 세트의 기록 중 이전에 제안되고 인증되었으나 상기 레코드 콜렉션에 아직 반영되지 않은 변경을 나타내는 적어도 하나의 계류 중인 변경을 처리하는 단계 - 상기 계류 중인 변경은 상기 제안된 변경과 상이함 -;
    상기 적어도 하나의 계류 중인 변경의 처리에 기초하여, 상기 제2 세트의 기록 중 상기 제안된 변경과 잠재적인 충돌을 나타내는 임의의 충돌하는 기록이 존재하는지 여부를 표시하는 제2 결과를 결정하는 단계,
    상기 제2 결과에 기초하여 상기 제1 결과를 갱신하여, 상기 제1 세트의 기록 중 또는 상기 충돌하는 기록 중 상기 제안된 변경에 의해 영향을 받을 정보를 포함하는 임의의 기록을 표시하는 제3 결과를 생성하는 단계, 및
    상기 제안된 변경이 상기 하나 이상의 인증 기준에 따라 유효한지 여부를 결정하도록 상기 제3 결과를 처리하는 단계를 포함하는, 관리 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 제3 결과를 처리하는 단계는,
    상기 하나 이상의 소스 값 중 하나가 2 이상의 상이한 타겟 값에 맵핑되어 있는 경우, 상기 제안된 변경을 무효화하는 단계를 포함하는 관리 방법.
  4. 제1항에 있어서,
    상기 제3 결과를 처리하는 단계는,
    상기 제안된 변경이 하나 이상의 중복된 기록의 생성을 야기하는지 여부를 식별하는 단계를 포함하는, 관리 방법.
  5. 제4항에 있어서,
    상기 제안된 변경이 하나 이상의 중복된 기록의 생성을 야기하는지 여부를 식별하는 단계는, 하나 이상의 중복된 열(row)을 식별하는 단계를 포함하는, 관리 방법.
  6. 제5항에 있어서,
    상기 하나 이상의 중복된 열은, 상기 하나 이상의 소스 값을 상기 하나 이상의 인증 기준으로 사용함으로써 식별되는, 관리 방법.
  7. 제1항에 있어서,
    상기 제2 세트의 기록은 상기 사용자 인터페이스를 통하여 입력된 상기 제1 세트의 기록에 대한 제안된 변경을 나타내는 하나 이상의 체인지세트(changesets)를 포함하는, 관리 방법.
  8. 제1항에 있어서,
    상기 입력은 이전에 저장된 체인지세트와 관련된 변경을 상기 제1 세트의 기록에 적용하는 명령어를 포함하는, 관리 방법.
  9. 제1항에 있어서,
    상기 레코드 콜렉션에 대한 제안된 변경을 인증하는 단계는, 상기 사용자 인터페이스에서 상기 입력에 의해 특정된 다른 제안된 변경에 대하여 상기 제안된 변경을 인증하는 단계를 포함하는, 관리 방법.
  10. 제1항에 있어서,
    상기 사용자 인터페이스는 기록 세트의 하나 이상의 서브세트를 선택적으로 디스플레이하기 위해 하나 이상의 필터를 포함하는, 관리 방법.
  11. 제1항에 있어서,
    상기 레코드 콜렉션에 대한 제안된 변경을 인증하는 단계는, 상기 제안된 변경이 인증되지 않는 경우에 통지를 생성하는 단계를 더 포함하는 관리 방법.
  12. 제11항에 있어서,
    상기 통지는, 상기 제안된 변경 중, 상기 하나 이상의 인증 기준을 위반하는 부분을 나타내는, 관리 방법.
  13. 레코드 콜렉션에 대한 제한된 변경을 인증하고 계류 중인 변경을 관리하는 컴퓨터 프로그램이 저장된 컴퓨터-판독가능 저장 매체로서,
    상기 계류 중인 변경은, 상기 레코드 콜렉션에 아직 반영되지 않은 것이고, 이전에 제안되고 인증된 적어도 몇몇의 계류 중인 변경을 포함하고,
    상기 컴퓨터 프로그램은 컴퓨팅 시스템으로 하여금 제1항 또는 제3항 내지 제12항 중 어느 한 항의 방법을 수행하도록 하는 명령어를 포함하는, 컴퓨터-판독가능 저장 매체.
  14. 레코드 콜렉션에 대한 제한된 변경을 인증하고 계류 중인 변경을 관리하는 컴퓨팅 시스템으로서,
    상기 계류 중인 변경은, 상기 레코드 콜렉션에 아직 반영되지 않은 것이고, 이전에 제안되고 인증된 적어도 몇몇의 계류 중인 변경을 포함하고,
    상기 컴퓨팅 시스템은,
    제1 세트의 기록 및 제2 세트의 기록을 저장하는 데이터 저장 시스템 - 상기 제1 세트의 기록은 하나 이상의 소스 값을 하나 이상의 타겟 값에 맵핑하는 메타데이터 맵을 각각 포함하는 적어도 몇몇의 기록을 포함하고, 상기 제2 세트의 기록은 상기 계류 중인 변경을 나타냄 -; 및
    제1항 또는 제3항 내지 제12항 중 어느 한 항의 방법을 수행하도록 구성된 적어도 하나의 프로세서를 포함하는, 컴퓨팅 시스템.
  15. 레코드 콜렉션에 대한 제한된 변경을 인증하고 계류 중인 변경을 관리하는 컴퓨팅 시스템으로서,
    상기 계류 중인 변경은, 상기 레코드 콜렉션에 아직 반영되지 않은 것이고, 이전에 제안되고 인증된 적어도 몇몇의 계류 중인 변경을 포함하고,
    상기 컴퓨팅 시스템은,
    제1 세트의 기록 및 제2 세트의 기록을 저장하는 수단 - 상기 제1 세트의 기록은 하나 이상의 소스 값을 하나 이상의 타겟 값에 맵핑하는 메타데이터 맵을 각각 포함하는 적어도 몇몇의 기록을 포함하고, 상기 제2 세트의 기록은 상기 계류 중인 변경을 나타냄 -; 및
    사용자 인터페이스를 통하여 수신된 입력에 의해 특정된, 레코드 콜렉션에 대한 제안된 변경을 인증하는 수단
    을 포함하고,
    상기 인증은,
    상기 제안된 변경과 관련된 하나 이상의 인증 기준(validation criteria)에 기초하여 상기 저장하는 수단에 질의하는 단계,
    상기 질의에 응답하여 상기 제1 세트의 기록 중 상기 제안된 변경에 의해 영향을 받을 정보를 포함하는 임의의 기록을 표시하는 제1 결과를 수신하는 단계,
    상기 제2 세트의 기록 중 이전에 제안되고 인증되었으나 상기 레코드 콜렉션에 아직 반영되지 않은 변경을 나타내는 적어도 하나의 계류 중인 변경을 처리하는 단계 - 상기 계류 중인 변경은 상기 제안된 변경과 상이함 -;
    상기 적어도 하나의 계류 중인 변경의 처리에 기초하여, 상기 제2 세트의 기록 중 상기 제안된 변경과 잠재적인 충돌을 나타내는 임의의 충돌하는 기록이 존재하는지 여부를 표시하는 제2 결과를 결정하는 단계,
    상기 제2 결과에 기초하여 상기 제1 결과를 갱신하여, 상기 제1 세트의 기록 중 또는 상기 충돌하는 기록 중 상기 제안된 변경에 의해 영향을 받을 정보를 포함하는 임의의 기록을 표시하는 제3 결과를 생성하는 단계, 및
    상기 제안된 변경이 상기 하나 이상의 인증 기준에 따라 유효한지 여부를 결정하도록 상기 제3 결과를 처리하는 단계를 포함하는, 컴퓨팅 시스템.
KR1020137020872A 2011-01-14 2012-01-13 데이터 콜렉션에 대한 변경 관리 방법 KR101872748B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161433082P 2011-01-14 2011-01-14
US61/433,082 2011-01-14
PCT/US2012/021286 WO2012097278A1 (en) 2011-01-14 2012-01-13 Managing changes to collections of data

Publications (2)

Publication Number Publication Date
KR20140051819A KR20140051819A (ko) 2014-05-02
KR101872748B1 true KR101872748B1 (ko) 2018-06-29

Family

ID=45615045

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137020872A KR101872748B1 (ko) 2011-01-14 2012-01-13 데이터 콜렉션에 대한 변경 관리 방법

Country Status (8)

Country Link
US (1) US9418095B2 (ko)
EP (1) EP2663937B1 (ko)
JP (1) JP5940560B2 (ko)
KR (1) KR101872748B1 (ko)
CN (1) CN103329130B (ko)
AU (1) AU2012205339B2 (ko)
CA (1) CA2824282C (ko)
WO (1) WO2012097278A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150042866A (ko) 2008-12-02 2015-04-21 아브 이니티오 테크놀로지 엘엘시 데이터 관리 시스템 내의 데이터 집합의 맵핑 인스턴스
KR101688555B1 (ko) * 2009-09-16 2016-12-21 아브 이니티오 테크놀로지 엘엘시 데이터세트 요소의 매핑
WO2012061109A1 (en) 2010-10-25 2012-05-10 Ab Initio Technology Llc Managing data set objects in a dataflow graph that represents a computer program
WO2012097278A1 (en) 2011-01-14 2012-07-19 Ab Initio Technology Llc Managing changes to collections of data
US9165035B2 (en) * 2012-05-10 2015-10-20 Microsoft Technology Licensing, Llc Differential dataflow
US10489360B2 (en) * 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US9832068B2 (en) 2012-12-17 2017-11-28 Microsoft Technology Licensing, Llc Reachability-based coordination for cyclic dataflow
US10140269B2 (en) * 2013-03-12 2018-11-27 Microsoft Technology Licensing, Llc Viewing effects of proposed change in document before committing change
CN104598374B (zh) * 2013-10-30 2017-12-01 国际商业机器公司 校正失效脚本的方法和设备
US20150242389A1 (en) * 2014-02-27 2015-08-27 Netapp, Inc. Techniques to identify user interface elements associated with model violation events
US9910883B2 (en) 2014-04-07 2018-03-06 International Business Machines Corporation Enhanced batch updates on records and related records system and method
KR102279859B1 (ko) 2014-07-18 2021-07-20 아브 이니티오 테크놀로지 엘엘시 파라미터 세트의 관리
US10204134B2 (en) 2014-08-14 2019-02-12 International Business Machines Corporation Automatic detection of problems in a large-scale multi-record update system and method
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
US9942091B2 (en) * 2015-02-27 2018-04-10 Roche Diabetes Care, Inc. Pump configuration software wizard for configuring parameters of a handheld insulin pump
US11514448B1 (en) * 2016-07-11 2022-11-29 Chicago Mercantile Exchange Inc. Hierarchical consensus protocol framework for implementing electronic transaction processing systems
US11521242B2 (en) * 2016-08-31 2022-12-06 Meta Platforms, Inc. Asynchronous execution of tasks and ordering of task execution
US11507571B2 (en) * 2019-04-16 2022-11-22 Snowflake Inc. Materialized views over external tables in database systems
WO2022119848A1 (en) * 2020-12-03 2022-06-09 Merck Sharp & Dohme Corp. Chemistry, manufacturing, and controls change assessment system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144189A1 (en) 2002-07-19 2005-06-30 Keay Edwards Electronic item management and archival system and method of operating the same
US20060020570A1 (en) 2004-07-23 2006-01-26 Yuh-Cherng Wu Conflict resolution engine
US20070294312A1 (en) 2006-06-13 2007-12-20 Microsoft Corporation Declarative management framework
US20090094291A1 (en) * 2007-09-14 2009-04-09 Oracle International Corporation Support for compensation aware data types in relational database systems
US20100138383A1 (en) * 2008-12-02 2010-06-03 Ab Initio Software Llc Data Maintenance System

Family Cites Families (94)

* 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
JPH10133920A (ja) * 1996-09-03 1998-05-22 Fujitsu Ltd データベース管理装置及びデータベース管理制御プログラムを記録したコンピュータ読取可能な記録媒体
US6216140B1 (en) 1997-09-17 2001-04-10 Hewlett-Packard Company Methodology for the efficient management of hierarchically organized information
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
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
JP2000029896A (ja) * 1998-07-13 2000-01-28 Nec Corp 未検証データを分離したデータベースシステムおよびその管理方法
JP2000267909A (ja) * 1999-03-19 2000-09-29 Hitachi Software Eng Co Ltd データベースシステム
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
US6633875B2 (en) * 1999-12-30 2003-10-14 Shaun Michael Brady Computer database system and method for collecting and reporting real estate property and loan performance information over a computer driven network
GB2358072B (en) 2000-01-07 2004-01-28 Mitel Corp Tabular range editing mechanism
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
US7143076B2 (en) * 2000-12-12 2006-11-28 Sap Aktiengesellschaft Method and apparatus for transforming data
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
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
US7185317B2 (en) * 2002-02-14 2007-02-27 Hubbard & Wells Logical data modeling and integrated application framework
US6820077B2 (en) 2002-02-22 2004-11-16 Informatica Corporation Method and system for navigating a large amount of data
EP1349080A1 (en) * 2002-03-26 2003-10-01 Deutsche Thomson-Brandt Gmbh Methods and apparatus for using metadata from different sources
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
US7167850B2 (en) 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
JP4502305B2 (ja) * 2003-02-10 2010-07-14 共同印刷株式会社 データベース問合せ文作成装置及びその方法並びにプログラム
US7257603B2 (en) * 2003-05-08 2007-08-14 Microsoft Corporation Preview mode
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
US7865507B2 (en) 2003-09-15 2011-01-04 Oracle International Corporation Data quality analyzer
CN102982065B (zh) 2003-09-15 2016-09-21 起元科技有限公司 数据处理方法、数据处理装置及计算机可读存储介质
US7765529B1 (en) 2003-10-31 2010-07-27 The Mathworks, Inc. Transforming graphical objects in a graphical modeling environment
US20080052687A1 (en) 2003-11-03 2008-02-28 Agustin Gonzales-Tuchmann Development environment for data transformation applications
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 三洋電機株式会社 データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
JP2006085224A (ja) * 2004-09-14 2006-03-30 Canon Inc データメンテナンスシステム
US20060074879A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Easy-to-use data context filtering
US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
US8768877B2 (en) 2005-03-07 2014-07-01 Ca, Inc. System and method for data manipulation
JP4550641B2 (ja) 2005-03-30 2010-09-22 大陽日酸エンジニアリング株式会社 データ照合装置及び方法
US8255363B2 (en) * 2005-06-08 2012-08-28 rPath Methods, systems, and computer program products for provisioning software using dynamic tags to identify and process files
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
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata 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
US9798781B2 (en) 2005-10-25 2017-10-24 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
US20070179956A1 (en) * 2006-01-18 2007-08-02 Whitmyer Wesley W Jr Record protection system for networked databases
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
US7647298B2 (en) 2006-03-23 2010-01-12 Microsoft Corporation Generation of query and update views for object relational mapping
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
US7689565B1 (en) * 2006-06-28 2010-03-30 Emc Corporation Methods and apparatus for synchronizing network management data
EP2050013A4 (en) 2006-08-10 2010-01-06 Ab Initio Software Llc DISTRIBUTION SERVICES IN DIAGRAM-BASED CALCULATIONS
US8423564B1 (en) * 2006-10-31 2013-04-16 Ncr Corporation Methods and apparatus for managing and updating stored information
US7890509B1 (en) 2006-12-05 2011-02-15 First American Real Estate Solutions Llc Parcel data acquisition and processing
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
US8069129B2 (en) 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
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
US8103704B2 (en) * 2007-07-31 2012-01-24 ePrentise, LLC Method for database consolidation and database separation
EP2191362B1 (en) 2007-09-20 2015-08-19 Ab Initio Technology LLC Managing data flows in graph-based computations
JP2009211599A (ja) * 2008-03-06 2009-09-17 Hitachi Ltd マッピング定義作成システムおよびマッピング定義作成プログラム
JP4224126B1 (ja) * 2008-06-09 2009-02-12 パナソニック株式会社 データベース管理サーバ装置、データベース管理システム、データベース管理方法およびデータベース管理プログラム
US20090319494A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Field mapping for data stream output
CA2729304C (en) 2008-06-30 2016-12-13 Ab Initio Technology Llc Data logging in graph-based computations
US8082228B2 (en) 2008-10-31 2011-12-20 Netapp, Inc. Remote office duplication
EP2356581A4 (en) 2008-11-12 2012-05-02 Ab Initio Technology Llc MANAGEMENT AND AUTOMATIC CONNECTION OF DATA OBJECTS
KR20150042866A (ko) 2008-12-02 2015-04-21 아브 이니티오 테크놀로지 엘엘시 데이터 관리 시스템 내의 데이터 집합의 맵핑 인스턴스
CN105243422B (zh) 2009-01-30 2018-07-06 起元技术有限责任公司 使用矢量字段处理数据
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
KR101688555B1 (ko) 2009-09-16 2016-12-21 아브 이니티오 테크놀로지 엘엘시 데이터세트 요소의 매핑
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
WO2012061109A1 (en) 2010-10-25 2012-05-10 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
US20130166515A1 (en) 2011-12-22 2013-06-27 David Kung Generating validation rules for a data report based on profiling the data report in a data processing tool
US8516008B1 (en) 2012-05-18 2013-08-20 Splunk Inc. Flexible schema column store
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144189A1 (en) 2002-07-19 2005-06-30 Keay Edwards Electronic item management and archival system and method of operating the same
US20060020570A1 (en) 2004-07-23 2006-01-26 Yuh-Cherng Wu Conflict resolution engine
US20070294312A1 (en) 2006-06-13 2007-12-20 Microsoft Corporation Declarative management framework
US20090094291A1 (en) * 2007-09-14 2009-04-09 Oracle International Corporation Support for compensation aware data types in relational database systems
US20100138383A1 (en) * 2008-12-02 2010-06-03 Ab Initio Software Llc Data Maintenance System

Also Published As

Publication number Publication date
JP5940560B2 (ja) 2016-06-29
AU2012205339A1 (en) 2013-05-02
US20120185449A1 (en) 2012-07-19
AU2012205339B2 (en) 2015-12-03
US9418095B2 (en) 2016-08-16
CN103329130A (zh) 2013-09-25
EP2663937A1 (en) 2013-11-20
CA2824282A1 (en) 2012-07-19
KR20140051819A (ko) 2014-05-02
CA2824282C (en) 2019-05-21
EP2663937B1 (en) 2018-08-29
JP2014507713A (ja) 2014-03-27
WO2012097278A1 (en) 2012-07-19
CN103329130B (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
KR101872748B1 (ko) 데이터 콜렉션에 대한 변경 관리 방법
US11734564B2 (en) Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization
US10915590B2 (en) Controlling access to protected information
KR101213798B1 (ko) 복합 데이터 액세스
KR102220246B1 (ko) 데이터 생성
US11947567B2 (en) System and method for computing and managing datasets using hierarchical analytics
CN107409040A (zh) 用于推荐数据加密而不影响程序语义的代码分析工具
US20230289331A1 (en) Model generation service for data retrieval
US11741255B2 (en) System and method of block chain based protection for customized data integration processes
US11188228B1 (en) Graphing transaction operations for transaction compliance analysis
US11971909B2 (en) Data processing system with manipulation of logical dataset groups
US11507628B1 (en) Process automation platform using document database
US20230099901A1 (en) Dynamic query resource control
CN106687999B (zh) 产生实现被设计为更新根据应用数据模型指定的对象的规则的指令集
Jafarov Comparison of PostgreSQL & Oracle Database
CN116868182A (zh) 可操纵逻辑数据集组的数据处理系统

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