KR101675409B1 - 부분 데이터베이스의 증분 업데이트를 수행하는 방법, 시스템 및 장치 - Google Patents
부분 데이터베이스의 증분 업데이트를 수행하는 방법, 시스템 및 장치 Download PDFInfo
- Publication number
- KR101675409B1 KR101675409B1 KR1020127003567A KR20127003567A KR101675409B1 KR 101675409 B1 KR101675409 B1 KR 101675409B1 KR 1020127003567 A KR1020127003567 A KR 1020127003567A KR 20127003567 A KR20127003567 A KR 20127003567A KR 101675409 B1 KR101675409 B1 KR 101675409B1
- Authority
- KR
- South Korea
- Prior art keywords
- record
- database
- time window
- type
- partial representation
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 369
- 230000008859 change Effects 0.000 claims description 54
- 238000012217 deletion Methods 0.000 claims description 40
- 230000037430 deletion Effects 0.000 claims description 40
- 238000003780 insertion Methods 0.000 claims description 14
- 230000037431 insertion Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims 11
- 230000008569 process Effects 0.000 description 131
- 230000001960 triggered effect Effects 0.000 description 86
- 238000001057 Duncan's new multiple range test Methods 0.000 description 46
- 229920001690 polydopamine Polymers 0.000 description 36
- 230000001360 synchronised effect Effects 0.000 description 19
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000001914 filtration Methods 0.000 description 11
- 239000003795 chemical substances by application Substances 0.000 description 8
- 238000007792 addition Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 108090000248 Deleted entry Proteins 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009579 opioid replacement therapy Methods 0.000 description 2
- 239000000344 soap Substances 0.000 description 2
- 235000017276 Salvia Nutrition 0.000 description 1
- 241001072909 Salvia Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- RDYMFSUJUZBWLH-UHFFFAOYSA-N endosulfan Chemical compound C12COS(=O)OCC2C2(Cl)C(Cl)=C(Cl)C1(Cl)C2(Cl)Cl RDYMFSUJUZBWLH-UHFFFAOYSA-N 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005204 segregation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
도 1은, 본 발명에 따라 동기화될 수 있는 서버와 클라이언트를 포함하는 시스템을 도시하는 다이어그램이다.
도 2는, 본 발명에 따라 데이터베이스 클라이언트의 동기화 전과 후의 선택 테이블의 예시적인 값을 도시하는 다이어그램이다.
도 3은, 본 발명에 따라 테이블의 예 및 그들이 데이터베이스 동작에서 서로 어떻게 관련되는지를 도시한다.
도 4는, 데이터베이스의 다른 부분들이 다른 이유를 위해 클라이언트의 동기화에 어떻게 관련될 수 있는지를 도시하는 다이어그램이다.
도 5는, 본 발명에 따른 동기화의 방법을 도시하는 플로우차트이다.
도 6은, 동기화 중에 클라이언트를 업데이트하는 후보들인 데이터베이스 엔트리를 확인하는 방법을 도시하는 플로우차트이다.
도 7은, 확인된 데이터베이스 엔트리가 클라이언트를 업데이트할 지를 결정하고 업데이트를 위한 적절한 데이터베이스 명령을 찾는 방법을 도시하는 플로우차트이다.
도 8은, 제 1 타입의 데이터베이스 레코드가 특정 시간 포인트에서 클라이언트에서 수용되거나 수용되었는지의 결정을 도시하는 플로우차트이다.
도 9는, 제 2 타입의 데이터베이스 레코드가 특정 시간 포인트에서 클라이언트에서 수용되거나 수용되었는지의 결정을 도시하는 플로우차트이다.
도 10은, 어떤 제2 타입의 데이터베이스 레코드가 특정 시간 포인트에서 클라이언트에서 수용되었는지의 결정에 대한 방법의 특정 상세를 도시하는 플로우차트이다.
Claims (36)
- 서버 컴퓨터(-상기 서버 컴퓨터는 복수의 데이터베이스 레코드와 상기 서버 컴퓨터에 의해 수행된 데이터베이스 동작에 대한 로그를 포함하는 제 1 데이터베이스를 포함함-)에서 클라이언트 장치(-상기 클라이언트 장치는 상기 클라이언트 장치에서 받아들인 데이터베이스 레코드를 포함하는 상기 제 1 데이터베이스의 부분 리프리젠테이션(partial representation)을 포함함-)를 업데이트하는 방법에 있어서,
상기 로그를 스캔하여, 상기 클라이언트 장치의 이전 업데이트 이후에, 상기 제 1 데이터베이스에 삽입되거나 삭제되거나 변경된 제 1 레코드, 또는 선언된 수용 규칙에 의해 상기 클라이언트 장치에서 수용(acceptance)을 변경시킨 제 1 레코드를 확인하는 단계;
상기 이전 업데이트 이후에, 상기 제 1 데이터베이스에 추가, 삭제 또는 변경되지 않은 제 2 레코드, 또는 선언된 규칙에 의해 상기 클라이언트 장치에서 수용을 변경시키지 않은 제 2 레코드를 확인하는 단계로서, 상기 제 2 레코드는 외래 키 제약(foreign key constraint)을 통하여 상기 제 1 레코드와 관련되어 있고, 상기 외래 키 제약은 상기 제 1 레코드 및 상기 제 2 레코드 중의 하나에서의 외래 키가 상기 제 1 레코드 및 상기 제 2 레코드 중의 다른 것을 유일하게 식별하는 요건인, 제 2 레코드를 확인하는 단계;
제 1 데이터를 상기 서버 컴퓨터로부터 상기 클라이언트 장치로 전송하는 단계로서, 상기 제 1 데이터는, 상기 클라이언트 장치가 상기 제 1 레코드의 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션 내로의 관련 삽입, 상기 부분 리프리젠테이션으로부터의 관련 삭제, 또는 상기 부분 리프리젠테이션 내의 관련 변경을 실행하도록 하는 명령을 나타내거나, 또는 레코드에 대한 수용이 변경되고 레코드가 그때 받아들여진 경우 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션 내로의 삽입을 실행하고, 레코드에 대한 수용이 변경되고 레코드가 더 이상 받아들여지지 않는 경우 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션으로부터의 삭제를 실행하도록 하는 명령을 나타내는, 제 1 데이터를 상기 클라이언트 장치로 전송하는 단계; 및
상기 제 2 데이터를 상기 서버 컴퓨터로부터 상기 클라이언트 장치로 전송하는 단계로서, 상기 제 2 데이터는, 상기 외래 키 제약이 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션 내에서 준수되도록, 상기 클라이언트 장치가 상기 제 2 레코드를 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션 내로 삽입하거나 또는 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션으로부터 삭제하도록 하는 명령을 나타내는, 제 2 데이터를 상기 클라이언트 장치로 전송하는 단계;를 포함하는 업데이트 방법. - 제 1 항에 있어서,
제 1 레코드를 확인하는 단계는,
시간 윈도우의 시작과 종료를 결정하는 단계로서, 상기 시작은 상기 클라이언트 장치의 이전 업데이트와 관련된 시점을 나타내고 상기 종료는 상기 클라이언트 장치의 현재 업데이트와 관련된 시점을 나타내는, 결정하는 단계; 및
상기 시간 윈도우 동안에 적어도 하나의 데이터베이스 동작에 대한 레코드로서 상기 제 1 레코드를 확인하기 위해 상기 서버 컴퓨터에 의해 수행된 데이터베이스 동작의 로그를 스캔하는 단계;를 포함하는 업데이트 방법. - 제 2 항에 있어서,
상기 클라이언트 장치로 상기 제 1 데이터를 전송하기 이전에,
- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값을 결정하기 위해 상기 로그를 스캔하고, 그리고,
-- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값,
-- 상기 제 1 레코드가 속하는 레코드 타입에 대한 선언된 규칙(rule), 그리고
-- 상기 제 1 레코드와 다르고 서브셋 제약을 통해 상기 제 1 레코드와 연관된 레코드에 대한 대응하는 결정
중 적어도 하나로부터, 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이, 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되었는지 결정하며; 및
- 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값을 결정하기 위해 상기 로그를 스캔하고, 그리고,
-- 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값,
-- 상기 제 1 레코드가 속하는 레코드 타입에 대한 선언된 규칙(rule), 그리고
-- 상기 제 1 레코드와 다르고 서브셋 제약을 통해 상기 제 1 레코드와 연관된 레코드에 대한 대응하는 결정
중 적어도 하나로부터, 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이, 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는지 결정하는;
것 중 적어도 하나를 수행하고;
상기 데이터베이스 동작이 상기 제 1 데이터베이스로의 상기 제 1 레코드의 삽입을 나타내고, 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것으로 결정되는 경우, 상기 제 1 레코드를 삽입하는 지시를 나타내도록 상기 제 1 데이터를 구성하고;
상기 데이터베이스 동작이 상기 제 1 데이터베이스로부터 상기 제 1 레코드의 삭제를 나타내고, 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용된 것으로 결정되는 경우, 상기 제 1 레코드를 삭제하는 지시를 나타내도록 상기 제 1 데이터를 구성하고; 및
상기 데이터베이스 동작이 상기 제 1 데이터베이스에서 상기 제 1 레코드의 변경을 나타내는 경우,
- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용된 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것으로 결정되는 경우, 상기 제 1 레코드를 변경하는 지시를 나타내도록 상기 제 1 데이터를 구성하거나,
- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용된 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어서는 안 되는 것으로 결정되는 경우, 상기 제 1 레코드를 삭제하는 지시를 나타내도록 상기 제 1 데이터를 구성하거나, 또는
- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되지 않은 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것으로 결정되는 경우, 상기 제 1 레코드를 삽입하는 지시를 나타내도록 상기 제 1 데이터를 구성하는,
것을 특징으로 하는 업데이트 방법. - 제 2 항에 있어서,
상기 제 2 데이터를 상기 클라이언트 장치로 전송하는 단계 이전에,
- 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값을 결정하기 위해 상기 로그를 스캔하고, 그리고,
-- 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값,
-- 상기 제 2 레코드가 속하는 레코드 타입에 대한 선언된 규칙(rule), 그리고
-- 상기 제 2 레코드와 다르고 서브셋 제약을 통해 상기 제 2 레코드와 연관된 레코드에 대한 대응하는 결정
중 적어도 하나로부터, 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이, 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되었는지 결정하며; 및
- 상기 시간 윈도우의 끝에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값을 결정하기 위해 상기 로그를 스캔하고, 그리고,
-- 상기 시간 윈도우의 끝에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값,
-- 상기 제 2 레코드가 속하는 레코드 타입에 대한 선언된 규칙(rule), 그리고
-- 상기 제 2 레코드와 다르고 서브셋 제약을 통해 상기 제 2 레코드와 연관된 레코드에 대한 대응하는 결정
중 적어도 하나로부터, 상기 시간 윈도우의 끝에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이, 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는지 결정하는;
것 중 적어도 하나를 수행하고;
- 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용된 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어서는 안 되는 것으로 결정되는 경우, 상기 제 2 레코드를 삭제하는 지시를 나타내도록 상기 제 2 데이터를 구성하거나, 또는
- 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되지 않은 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것으로 결정되는 경우, 상기 제 2 레코드를 삽입하는 지시를 나타내도록 상기 제 2 데이터를 구성하는;
것을 특징으로 하는 업데이트 방법. - 제 3 항 또는 제 4 항에 있어서,
다른 레코드에 대한 상기 대응하는 결정은,
대표 값을 결정하기 위해 로그를 스캔하고 상기 다른 레코드에 대한 상기 클라이언트 장치에서의 상기 대표 값의 수용을 결정하는 단계를 반복함으로써 수행되는 것을 특징으로 하는 업데이트 방법. - 제 3 항 또는 제 4 항에 있어서,
레코드 타입에 대한 적어도 하나의 선언된 규칙은,
규칙이 선언된 레코드 타입의 레코드의 상태를 대표하는 값을 입력으로서 수용하고, 상기 클라이언트 장치에서 상기 규칙이 선언된 레코드 타입의 레코드의 상태를 대표하는 값에 대한 수용의 대응하는 결정을 생산하는 기능인 것을 특징으로 하는 업데이트 방법. - 제 3 항 또는 제 4 항에 있어서,
적어도 하나의 선언된 규칙은 프로그래머 또는 상기 제 1 데이터베이스의 부분 리프리젠테이션의 사용자에 의해 선언되는 것을 특징으로 하는 업데이트 방법. - 제 1 항에 있어서,
상기 제 1 데이터베이스에 추가되지 않거나, 상기 제 1 데이터베이스로부터 삭제되지 않거나, 또는 상기 제 1 데이터베이스에서 변경되지 않으며, 외래 키 제약을 통해 상기 제 2 레코드에 의해 참조되는, 제 3 레코드를 확인하는 단계;
상기 외래 키 제약이 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 준수되도록, 상기 클라이언트 장치가 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에 상기 제 3 레코드를 삽입하도록 하거나 또는 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션으로부터 상기 제 3 레코드를 삭제하도록 지시하는 제 3 데이터를, 상기 클라이언트 장치로 전송하는 단계; 및
모든 제약이 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 준수될 때까지 상기 레코드를 확인하는 단계와 상기 데이터를 전송하는 단계를 반복하는 단계;를 더 포함하는 업데이트 방법. - 제 1 항에 있어서,
상기 제 1 레코드는,
선언된 규칙과 연관된 레코드 타입으로서, 클라이언트 장치에서 상기 선언된 규칙과 연관된 레코드 타입의 레코드의 상태를 대표하는 값의 수용을 결정하기 위한 선언된 규칙과 연관된 레코드 타입이고,
상기 제 2 레코드는,
상기 제 1 레코드의 레코드 타입에 관한 서브셋 멤버 레코드 타입의 레코드 타입인 것을 특징으로 하는 업데이트 방법. - 제 1 항에 있어서,
상기 제 1 레코드는,
선언된 규칙과 연관된 레코드 타입의 서브셋 멤버 레코드 타입으로서, 클라이언트 장치에서 상기 선언된 규칙과 연관된 레코드 타입의 레코드의 상태를 대표하는 값의 수용을 결정하기 위한 선언된 규칙과 연관된 레코드 타입의 서브셋 멤버 레코드 타입이고,
상기 제 2 레코드는,
상기 제 1 레코드의 레코드 타입에 관한 서브셋 멤버 레코드 타입의 레코드 타입인 것을 특징으로 하는 업데이트 방법. - 제 1 항에 있어서,
상기 제 1 레코드는, 상기 제 2 레코드의 레코드 타입의 서브셋 멤버인 레코드 타입이고, 레코드 타입의 서브셋 멤버는 상기 제 1 레코드의 레코드 타입 및 상기 제 2 레코드의 레코드 타입과 다르고;
상기 제 1 레코드 및 상기 제 2 레코드와 다른 레코드 타입의 레코드는, 클라이언트 장치에서의 선언된 규칙과 연관된 레코드 타입의 레코드의 상태를 대표하는 값의 수용을 결정하기 위한 선언된 규칙과 연관되고;
상기 제 2 레코드는, 제 1 레코드의 레코드 타입의 적어도 하나의 레코드에 관련된 제약을 준수하는 것이 요구되는 경우, 선언된 규칙과 연관된 레코드 타입의 레코드가 오직 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것을 명시하는 선언된 규칙과 연관된 레코드 타입인 것을 특징으로 하는 업데이트 방법. - 제 1 항에 있어서,
상기 제 1 레코드는,
상기 제 1 레코드 및 상기 제 2 레코드와 다른 레코드 타입의 적어도 하나의 레코드에 관련된 제약을 준수하는 것이 요구되는 경우, 제 1 레코드 타입의 레코드들은 오직 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것을 명시하는 선언된 규칙과 연관된 레코드 타입이고,
상기 제 2 레코드는,
상기 제 1 레코드 타입에 관한 서브셋 멤버 레코드 타입의 레코드 타입인 것을 특징으로 하는 업데이트 방법. - 클라이언트 장치를 업데이트하는 서버로서,
상기 서버는, 복수의 데이터베이스 레코드 및 상기 서버에 의해 수행되는 데이터베이스 동작들의 로그를 갖는 제 1 데이터베이스를 포함하고,
상기 클라이언트 장치는 상기 클라이언트 장치에서 수용된 데이터베이스 레코드를 포함하는 상기 제 1 데이터베이스의 부분 리프리젠테이션을 포함하며,
상기 서버는, 프로세서 및, 기록매체에 기록된 프로그램을 포함하고,
상기 프로그램은, 상기 프로세서가:
상기 클라이언트 장치의 이전 업데이트 이후에 상기 제 1 데이터베이스에 삽입되거나, 상기 제 1 데이터베이스로부터 삭제되거나 또는 제 1 데이터베이스에서 변경된 제 1 레코드를 확인하고;
상기 제 1 데이터베이스에 삽입되지 않거나, 상기 제 1 데이터베이스로부터 삭제되지 않거나 또는 제 1 데이터베이스에서 변경되지 않으면서, 외래 키 제약을 통해 상기 제 1 레코드에 의해 참조된, 제 2 레코드를 확인하며;
상기 서버로부터 제 1 데이터를 전송하는 것으로서, 상기 제 1 데이터는, 상기 클라이언트 장치가 상기 제 1 레코드의 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션 내로의 관련 삽입을 수행하도록 하거나, 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션으로부터 관련 삭제를 수행하도록 하거나, 또는 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션 내의 관련 변경을 수행하도록 지시하고;
상기 서버로부터 제 2 데이터를 전송하는 것으로서, 상기 제 2 데이터는, 상기 외래 키 제약이 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 준수되도록, 상기 클라이언트 장치가 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에 상기 제 2 레코드를 삽입하도록 하거나, 또는 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션으로부터 상기 제 2 레코드를 삭제하도록 지시하는;
것을 수행할 수 있게 하는 명령들을 포함하는, 서버. - 제 13 항에 있어서,
상기 프로그램은, 상기 프로세서가:
시간 윈도우의 시작과 종료를 결정하고 -상기 시작은 상기 클라이언트 장치의 상기 이전 업데이트와 연관된 시간에서의 포인트를 나타내고, 상기 종료는 상기 클라이언트 장치의 현재 업데이트와 연관된 시간에서의 포인트를 나타냄-; 그리고
상기 시간 윈도우 동안 적어도 하나의 데이터베이스 동작이 수행되는 시점에서의 레코드로서 상기 제 1 레코드를 확인하기 위해, 상기 서버에 의해 수행되는 데이터베이스 동작의 상기 로그를 스캔하여;
상기 제 1 레코드를 확인하는 것을 수행할 수 있게 하는 명령들을 더 포함하는, 서버, - 제 14 항에 있어서,
상기 프로그램은, 상기 프로세서가:
상기 서버로 하여금 상기 제 1 데이터를 상기 클라이언트 장치로 전송하도록 하기 전에,
- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값을 결정하기 위해 상기 로그를 스캔하고, 그리고,
-- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값,
-- 상기 제 1 레코드가 속하는 레코드 타입에 대한 선언된 규칙(rule), 그리고
-- 상기 제 1 레코드와 다르고 서브셋 제약을 통해 상기 제 1 레코드와 연관된 레코드에 대한 대응하는 결정
중 적어도 하나로부터, 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이, 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되었는지 결정하며; 및
- 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값을 결정하기 위해 상기 로그를 스캔하고, 그리고,
-- 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값,
-- 상기 제 1 레코드가 속하는 레코드 타입에 대한 선언된 규칙(rule), 그리고
-- 상기 제 1 레코드와 다르고 서브셋 제약을 통해 상기 제 1 레코드와 연관된 레코드에 대한 대응하는 결정
중 적어도 하나로부터, 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이, 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는지 결정하는;
것 중 적어도 하나를 수행하고;
상기 데이터베이스 동작이 상기 제 1 데이터베이스로의 상기 제 1 레코드의 삽입을 나타내고, 상기 시간 윈도우의 끝에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것으로 결정되는 경우, 상기 제 1 레코드를 삽입하는 지시를 나타내도록 상기 제 1 데이터를 구성하고;
상기 데이터베이스 동작이 상기 제 1 데이터베이스로부터 상기 제 1 레코드의 삭제를 나타내고, 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용된 것으로 결정되는 경우, 상기 제 1 레코드를 삭제하는 지시를 나타내도록 상기 제 1 데이터를 구성하고; 및
상기 데이터베이스 동작이 상기 제 1 데이터베이스에서 상기 제 1 레코드의 변경을 나타내는 경우,
- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용된 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것으로 결정되는 경우, 상기 제 1 레코드를 변경하는 지시를 나타내도록 상기 제 1 데이터를 구성하거나,
- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용된 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어서는 안 되는 것으로 결정되는 경우, 상기 제 1 레코드를 삭제하는 지시를 나타내도록 상기 제 1 데이터를 구성하거나, 또는
- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되지 않는 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것으로 결정되는 경우, 상기 제 1 레코드를 삽입하는 지시를 나타내도록 상기 제 1 데이터를 구성하는,
것을 수행할 수 있게 하는 명령들을 더 포함하는, 서버. - 제 14 항에 있어서,
상기 프로그램은, 상기 프로세서가:
상기 서버로 하여금 상기 제 2 데이터를 상기 클라이언트 장치로 전송하도록 하기 전에,
- 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값을 결정하기 위해 상기 로그를 스캔하고, 그리고,
-- 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값,
-- 상기 제 2 레코드가 속하는 레코드 타입에 대한 선언된 규칙(rule), 그리고
-- 상기 제 2 레코드와 다르고 서브셋 제약을 통해 상기 제 2 레코드와 연관된 레코드에 대한 대응하는 결정
중 적어도 하나로부터, 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이, 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되었는지 결정하며; 및
- 상기 시간 윈도우의 종료에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값을 결정하기 위해 상기 로그를 스캔하고, 그리고,
-- 상기 시간 윈도우의 종료에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값,
-- 상기 제 2 레코드가 속하는 레코드 타입에 대한 선언된 규칙(rule), 그리고
-- 상기 제 2 레코드와 다르고 서브셋 제약을 통해 상기 제 2 레코드와 연관된 레코드에 대한 대응하는 결정
중 적어도 하나로부터, 상기 시간 윈도우의 종료에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이, 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는지 결정하는;
것 중 적어도 하나를 수행하고;
- 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용된 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어서는 안 되는 것으로 결정되는 경우, 상기 제 2 레코드를 삭제하는 지시를 나타내도록 상기 제 2 데이터를 구성하거나, 또는
- 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되지 않은 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것으로 결정되는 경우, 상기 제 2 레코드를 삽입하는 지시를 나타내도록 상기 제 2 데이터를 구성하는;
것을 수행할 수 있게 하는 명령들을 더 포함하는, 서버. - 제 15 항 또는 제 16 항에 있어서,
다른 레코드에 대한 상기 대응하는 결정은,
대표 값을 결정하기 위해 상기 로그를 스캔하고 상기 다른 레코드에 대한 상기 클라이언트 장치에서의 상기 대표 값의 수용을 결정하는 단계를 반복함으로써 수행되는 것을 특징으로 하는 서버. - 제 15 항 또는 제 16 항에 있어서,
레코드 타입에 대한 적어도 하나의 선언된 규칙은,
규칙이 선언된 레코드 타입의 레코드의 상태를 대표하는 값을 입력으로서 수용하고, 상기 클라이언트 장치에서 상기 규칙이 선언된 레코드 타입의 레코드의 상태를 대표하는 값에 대한 수용의 대응하는 결정을 생산하는 기능인 것을 특징으로 하는 서버. - 제 15 항 또는 제 16 항에 있어서,
적어도 하나의 선언된 규칙은 프로그래머 또는 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션의 사용자에 의해 선언되는 것을 특징으로 하는 서버. - 제 13 항에 있어서,
상기 프로그램은, 상기 프로세서가:
상기 제 1 데이터베이스에 추가되지 않거나, 상기 제 1 데이터베이스로부터 삭제되지 않거나, 또는 상기 제 1 데이터베이스에서 변경되지 않으며, 외래 키 제약을 통해 상기 제 2 레코드에 의해 참조되는, 제 3 레코드를 확인하고;
상기 외래 키 제약이 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 준수되도록, 서버로 하여금, 상기 클라이언트 장치가 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에 상기 제 3 레코드를 삽입하도록 하거나 또는 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션으로부터 상기 제 3 레코드를 삭제하도록 지시하는 제 3 데이터를, 상기 클라이언트 장치로 전송하도록 하며; 및
모든 제약이 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 준수될 때까지 상기 레코드를 확인하는 과정과 상기 서버로 하여금 데이터를 전송하게 하는 과정을 반복하도록;
하는 것을 수행할 수 있게 하는 명령들을 더 포함하는, 서버. - 제 13 항에 있어서,
상기 제 1 레코드는,
선언된 규칙과 연관된 레코드 타입으로서, 클라이언트 장치에서 상기 선언된 규칙과 연관된 레코드 타입의 레코드의 상태를 대표하는 값의 수용을 결정하기 위한 선언된 규칙과 연관된 레코드 타입이고,
상기 제 2 레코드는,
상기 제 1 레코드의 레코드 타입에 관한 서브셋 멤버 레코드 타입의 레코드 타입인 것을 특징으로 하는 서버. - 제 13 항에 있어서,
상기 제 1 레코드는,
선언된 규칙과 연관된 레코드 타입의 서브셋 멤버 레코드 타입으로서, 클라이언트 장치에서 상기 선언된 규칙과 연관된 레코드 타입의 레코드의 상태를 대표하는 값의 수용을 결정하기 위한 선언된 규칙과 연관된 레코드 타입의 서브셋 멤버 레코드 타입이고,
상기 제 2 레코드는,
상기 제 1 레코드의 레코드 타입에 관한 서브셋 멤버 레코드 타입의 레코드 타입인 것을 특징으로 하는 서버. - 제 13 항에 있어서,
상기 제 1 레코드는, 상기 제 2 레코드의 레코드 타입의 서브셋 멤버인 레코드 타입이고, 레코드 타입의 서브셋 멤버는 상기 제 1 레코드의 레코드 타입 및 상기 제 2 레코드의 레코드 타입과 다르고;
상기 제 1 레코드 및 상기 제 2 레코드와 다른 레코드 타입의 레코드는, 클라이언트 장치에서의 선언된 규칙과 연관된 레코드 타입의 레코드의 상태를 대표하는 값의 수용을 결정하기 위한 선언된 규칙과 연관되고;
상기 제 2 레코드는, 제 1 레코드의 레코드 타입의 적어도 하나의 레코드에 관련된 제약을 준수하는 것이 요구되는 경우, 상기 선언된 규칙과 연관된 레코드 타입의 레코드가 오직 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것을 명시하는 선언된 규칙과 연관된 레코드 타입인 것을 특징으로 하는 서버. - 제 13 항에 있어서,
상기 제 1 레코드는,
상기 제 1 레코드 및 상기 제 2 레코드와 다른 레코드 타입의 적어도 하나의 레코드에 관련된 제약을 준수하는 것이 요구되는 경우, 제 1 레코드 타입의 레코드들은 오직 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것을 명시하는 선언된 규칙과 연관된 레코드 타입이고,
상기 제 2 레코드는,
상기 제 1 레코드 타입에 관한 서브셋 멤버 레코드 타입의 레코드 타입인 것을 특징으로 하는 서버. - 서버 컴퓨터가 클라이언트 장치를 업데이트할 수 있도록 하는 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체로서,
상기 서버 컴퓨터는, 복수의 데이터베이스 레코드 및 상기 서버 컴퓨터에 의해 수행되는 데이터베이스 동작들의 로그를 갖는 제 1 데이터베이스를 포함하고,
상기 클라이언트 장치는 상기 클라이언트 장치에서 승인된 데이터베이스 레코드를 포함하는 상기 제 1 데이터베이스의 부분 리프리젠테이션을 포함하며,
상기 컴퓨터 프로그램은, 실행될 때, 서버 컴퓨터로 하여금,
상기 클라이언트 장치의 이전 업데이트 이후에 상기 제 1 데이터베이스에 삽입되거나, 상기 제 1 데이터베이스로부터 삭제되거나 또는 제 1 데이터베이스에서 변경된 제 1 레코드를 확인하고;
상기 제 1 데이터베이스에 추가되지 않거나, 상기 제 1 데이터베이스로부터 삭제되지 않거나 또는 제 1 데이터베이스에서 변경되지 않은, 외래 키 제약을 통해 상기 제 1 레코드에 의해 참조되는, 제 2 레코드를 확인하며;
상기 서버 컴퓨터로부터 제 1 데이터를 전송하는 것으로서, 상기 제 1 데이터는, 상기 클라이언트 장치가 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에 관련 삽입을 수행하도록 하거나, 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션으로부터 삭제를 수행하도록 하거나, 또는 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 상기 제 1 레코드의 변경을 수행하도록 지시하고;
상기 서버 컴퓨터로부터 제 2 데이터를 전송하는 것으로서, 상기 제 2 데이터는, 상기 외래 키 제약이 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 준수되도록, 상기 클라이언트 장치가 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에 상기 제 2 레코드를 삽입하도록 하거나, 또는 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션으로부터 상기 제 2 레코드를 삭제하도록 지시하는;
것을 수행하도록 하는 명령을 포함하는, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 25 항에 있어서,
상기 제 1 레코드를 확인하는 것은,
시간 윈도우의 시작과 종료를 결정하고 -상기 시작은 상기 클라이언트 장치의 상기 이전 업데이트와 연관된 시간에서의 포인트를 나타내고, 상기 종료는 상기 클라이언트 장치의 현재 업데이트와 연관된 시간에서의 포인트를 나타냄-; 그리고
상기 시간 윈도우 동안 적어도 하나의 데이터베이스 동작이 수행되는 시점에서의 레코드로서 상기 제 1 레코드를 확인하기 위해, 상기 서버 컴퓨터에 의해 수행되는 데이터베이스 동작의 상기 로그를 스캔하는;
것을 포함하는, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 26 항에 있어서,
상기 컴퓨터 프로그램은, 실행될 때, 서버 컴퓨터로 하여금,
상기 제 1 데이터를 상기 클라이언트 장치로 전송하도록 하기 전에,
- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값을 결정하기 위해 상기 로그를 스캔하고, 그리고,
-- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값,
-- 상기 제 1 레코드가 속하는 레코드 타입에 대한 선언된 규칙(rule), 그리고
-- 상기 제 1 레코드와 다르고 서브셋 제약을 통해 상기 제 1 레코드와 연관된 레코드에 대한 대응하는 결정
중 적어도 하나로부터, 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이, 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되었는지 결정하며; 및
- 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값을 결정하기 위해 상기 로그를 스캔하고, 그리고,
-- 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값,
-- 상기 제 1 레코드가 속하는 레코드 타입에 대한 선언된 규칙(rule), 그리고
-- 상기 제 1 레코드와 다르고 서브셋 제약을 통해 상기 제 1 레코드와 연관된 레코드에 대한 대응하는 결정
중 적어도 하나로부터, 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이, 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는지 결정하는;
것 중 적어도 하나를 수행하고;
상기 데이터베이스 동작이 상기 제 1 데이터베이스로의 상기 제 1 레코드의 삽입을 나타내고, 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것으로 결정되는 경우, 상기 제 1 레코드를 삽입하는 지시를 나타내도록 상기 제 1 데이터를 구성하고;
상기 데이터베이스 동작이 상기 제 1 데이터베이스로부터 상기 제 1 레코드의 삭제를 나타내고, 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용된 것으로 결정되는 경우, 상기 제 1 레코드를 삭제하는 지시를 나타내도록 상기 제 1 데이터를 구성하고; 및
상기 데이터베이스 동작이 상기 제 1 데이터베이스에서 상기 제 1 레코드의 변경을 나타내는 경우,
- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용된 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것으로 결정되는 경우, 상기 제 1 레코드를 변경하는 지시를 나타내도록 상기 제 1 데이터를 구성하거나,
- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용된 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어서는 안 되는 것으로 결정되는 경우, 상기 제 1 레코드를 삭제하는 지시를 나타내도록 상기 제 1 데이터를 구성하거나, 또는
- 상기 시간 윈도우의 시작에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되지 않은 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 1 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되여야 하는 것으로 결정되는 경우, 상기 제 1 레코드를 삽입하는 지시를 나타내도록 상기 제 1 데이터를 구성하는,
것을 수행하도록 하는 명령을 더 포함하는, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 26 항에 있어서,
상기 컴퓨터 프로그램은, 실행될 때, 서버 컴퓨터로 하여금,
상기 제 2 데이터를 상기 클라이언트 장치로 전송하도록 하기 전에,
- 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값을 결정하기 위해 상기 로그를 스캔하고, 그리고,
-- 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값,
-- 상기 제 2 레코드가 속하는 레코드 타입에 대한 선언된 규칙(rule), 그리고
-- 상기 제 2 레코드와 다르고 서브셋 제약을 통해 상기 제 2 레코드와 연관된 레코드에 대한 대응하는 결정
중 적어도 하나로부터, 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이, 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되었는지 결정하며; 및
- 상기 시간 윈도우의 종료에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값을 결정하기 위해 상기 로그를 스캔하고, 그리고,
-- 상기 시간 윈도우의 끝에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값,
-- 상기 제 2 레코드가 속하는 레코드 타입에 대한 선언된 규칙(rule), 그리고
-- 상기 제 2 레코드와 다르고 서브셋 제약을 통해 상기 제 2 레코드와 연관된 레코드에 대한 대응하는 결정
중 적어도 하나로부터, 상기 시간 윈도우의 끝에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이, 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는지 결정하는;
것 중 적어도 하나를 수행하고;
- 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용된 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어서는 안 되는 것으로 결정되는 경우, 상기 제 2 레코드를 삭제하는 지시를 나타내도록 상기 제 2 데이터를 구성하거나, 또는
- 상기 시간 윈도우의 시작에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 시작에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되지 않은 것으로 결정되고, 그리고 상기 시간 윈도우의 종료에서 상기 제 2 레코드의 상태를 대표하는 적어도 하나의 값이 상기 시간 윈도우의 종료에서 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것으로 결정되는 경우, 상기 제 2 레코드를 삽입하는 지시를 나타내도록 상기 제 2 데이터를 구성하는;
것을 수행하도록 하는 명령을 더 포함하는, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 27 항 또는 제 28 항에 있어서,
다른 레코드에 대한 상기 대응하는 결정은,
대표 값을 결정하기 위해 상기 로그를 스캔하고 상기 다른 레코드에 대한 상기 클라이언트 장치에서의 상기 대표 값의 수용을 결정하는 단계를 반복함으로써 수행되는 것을 특징으로 하는, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 27 항 또는 제 28 항에 있어서,
레코드 타입에 대한 적어도 하나의 선언된 규칙은,
규칙이 선언된 레코드 타입의 레코드의 상태를 대표하는 값을 입력으로서 수용하고, 상기 클라이언트 장치에서 상기 규칙이 선언된 레코드 타입의 레코드의 상태를 대표하는 값에 대한 수용의 대응하는 결정을 생산하는 기능인 것을 특징으로 하는, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 27 항 또는 제 28 항에 있어서,
적어도 하나의 선언된 규칙은 프로그래머 또는 제 1 데이터베이스의 상기 부분 리프리젠테이션의 사용자에 의해 선언되는 것을 특징으로 하는, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 25 항에 있어서,
상기 컴퓨터 프로그램은, 실행될 때, 서버 컴퓨터로 하여금,
상기 제 1 데이터베이스에 추가되지 않거나, 상기 제 1 데이터베이스로부터 삭제되지 않거나, 또는 상기 제 1 데이터베이스에서 변경되지 않은, 외래 키 제약을 통해 상기 제 2 레코드에 의해 참조되는, 제 3 레코드를 확인하고;
상기 클라이언트 장치로 제 3 데이터를 전송하는 것으로서, 상기 제 3 데이터는, 상기 외래 키 제약이 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 준수되도록, 상기 클라이언트 장치가 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에 상기 제 3 레코드를 삽입하도록 하거나 또는 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션으로부터 상기 제 3 레코드를 삭제하도록 지시하는; 및
모든 제약이 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 준수될 때까지 상기 레코드를 확인하는 과정과 데이터를 전송하게 하는 과정을 반복하는;
것을 수행하도록 하는 명령을 더 포함하는, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 25 항에 있어서,
상기 제 1 레코드는,
선언된 규칙과 연관된 레코드 타입으로서, 클라이언트 장치에서 상기 선언된 규칙과 연관된 레코드 타입의 레코드의 상태를 대표하는 값의 수용을 결정하기 위한 선언된 규칙과 연관된 레코드 타입이고,
상기 제 2 레코드는,
상기 제 1 레코드의 레코드 타입에 관한 서브셋 멤버 레코드 타입의 레코드 타입인 것을 특징으로 하는, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 25 항에 있어서,
상기 제 1 레코드는,
선언된 규칙과 연관된 레코드 타입의 서브셋 멤버 레코드 타입인 레코드 타입으로서, 클라이언트 장치에서 상기 선언된 규칙과 연관된 레코드 타입의 레코드의 상태를 대표하는 값의 수용을 결정하기 위한 선언된 규칙과 연관된 레코드 타입의 서브셋 멤버 레코드 타입의 레코드 타입이고,
상기 제 2 레코드는,
상기 제 1 레코드의 레코드 타입에 관한 서브셋 멤버 레코드 타입의 레코드 타입인 것을 특징으로 하는, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 25 항에 있어서,
상기 제 1 레코드는 상기 제 2 레코드의 레코드 타입의 서브셋 멤버인 레코드 타입이고, 레코드 타입의 서브셋 멤버는 상기 제 1 레코드의 레코드 타입 및 상기 제 2 레코드의 레코드 타입과 다르며;
상기 제 1 레코드 및 상기 제 2 레코드와 다른 레코드 타입의 레코드는, 클라이언트 장치에서의 선언된 규칙과 연관된 레코드 타입의 레코드의 상태를 대표하는 값의 수용을 결정하기 위한 선언된 규칙과 연관되고;
상기 제 2 레코드는, 제 1 레코드의 레코드 타입의 적어도 하나의 레코드에 관련된 제약을 준수하는 것이 요구되는 경우, 선언된 규칙과 연관된 레코드 타입의 레코드가 오직 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것을 명시하는 선언된 규칙과 연관된 레코드 타입인 것을 특징으로 하는, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 25 항에 있어서,
상기 제 1 레코드는,
상기 제 1 레코드 및 상기 제 2 레코드와 다른 레코드 타입의 적어도 하나의 레코드에 관련된 제약을 준수하는 것이 요구되는 경우, 제 1 레코드 타입의 레코드들은 오직 상기 제 1 데이터베이스의 상기 부분 리프리젠테이션에서 수용되어야 하는 것을 명시하는 선언된 규칙과 연관된 레코드 타입이고,
상기 제 2 레코드는,
상기 제 1 레코드 타입에 관한 서브셋 멤버 레코드 타입인 레코드 타입인 것을 특징으로 하는, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/500,370 | 2009-07-09 | ||
US12/500,370 US8918380B2 (en) | 2009-07-09 | 2009-07-09 | Methods, systems and devices for performing incremental updates of partial databases |
PCT/NO2010/000260 WO2011005106A1 (en) | 2009-07-09 | 2010-07-02 | Methods, systems and devices for performing incremental updates of partial databases |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120052301A KR20120052301A (ko) | 2012-05-23 |
KR101675409B1 true KR101675409B1 (ko) | 2016-11-11 |
Family
ID=42762577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127003567A KR101675409B1 (ko) | 2009-07-09 | 2010-07-02 | 부분 데이터베이스의 증분 업데이트를 수행하는 방법, 시스템 및 장치 |
Country Status (9)
Country | Link |
---|---|
US (1) | US8918380B2 (ko) |
EP (1) | EP2452277B1 (ko) |
JP (1) | JP5676598B2 (ko) |
KR (1) | KR101675409B1 (ko) |
CN (1) | CN102483759B (ko) |
CA (1) | CA2767533C (ko) |
HU (1) | HUE039928T2 (ko) |
IL (1) | IL217442A (ko) |
WO (1) | WO2011005106A1 (ko) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533240B2 (en) * | 2010-09-22 | 2013-09-10 | International Business Machines Corporation | Write behind cache with M-to-N referential integrity |
US9158803B2 (en) * | 2010-12-20 | 2015-10-13 | Google Inc. | Incremental schema consistency validation on geographic features |
US20130097116A1 (en) * | 2011-10-17 | 2013-04-18 | Research In Motion Limited | Synchronization method and associated apparatus |
US8751549B2 (en) * | 2012-01-06 | 2014-06-10 | International Business Machines Corporation | Persistent data management in multi-image code load systems |
US20130339838A1 (en) * | 2012-06-13 | 2013-12-19 | Arun Kumar Venkata Swamy Ananda | Methods for column deletion in sharepoint |
US9910929B2 (en) * | 2012-10-24 | 2018-03-06 | International Business Machines Corporation | Web browser-based content management system |
US9430543B2 (en) | 2013-03-15 | 2016-08-30 | Wal-Mart Stores, Inc. | Incrementally updating a large key-value store |
US9367806B1 (en) | 2013-08-08 | 2016-06-14 | Jasmin Cosic | Systems and methods of using an artificially intelligent database management system and interfaces for mobile, embedded, and other computing devices |
WO2015074382A1 (en) | 2013-11-19 | 2015-05-28 | Huawei Technologies Co., Ltd. | Method for optimizing index, master database node and subscriber database node |
EP3080726A4 (en) | 2013-12-13 | 2017-09-20 | Fuze, Inc. | Systems and methods of address book management |
WO2016074370A1 (zh) * | 2014-11-12 | 2016-05-19 | 华为技术有限公司 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
US10255302B1 (en) | 2015-02-27 | 2019-04-09 | Jasmin Cosic | Systems, methods, apparatuses, and/or interfaces for associative management of data and inference of electronic resources |
JP6727775B2 (ja) * | 2015-08-31 | 2020-07-22 | キヤノン株式会社 | サーバ装置、制御システム、制御方法、及び、プログラム |
CN106570036B (zh) * | 2015-10-13 | 2019-11-12 | 北京国双科技有限公司 | 基于HBase数据库的数据添加方法和装置 |
US10922301B1 (en) * | 2016-07-26 | 2021-02-16 | Amdocs Development Limited | Apparatus, computer program, and method for trigger-based tracking of database modifications |
CN106802817A (zh) * | 2016-12-29 | 2017-06-06 | 杭州迪普科技股份有限公司 | SQLite数据库的升级方法及装置 |
KR101908556B1 (ko) * | 2017-01-03 | 2018-10-17 | (주)비아이매트릭스 | 갱신 레코드를 자동 추출하는 스프레드시트 기반 데이터베이스 자동 갱신 시스템 |
US10594560B2 (en) | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
KR102034679B1 (ko) | 2018-01-17 | 2019-10-23 | (주)비아이매트릭스 | 그리드 인터페이스 기반 데이터 입출력 시스템 |
CN110958287B (zh) * | 2018-09-27 | 2022-06-24 | 阿里云计算有限公司 | 操作对象数据同步方法、装置及系统 |
CN109460288B (zh) * | 2018-10-30 | 2022-04-12 | 腾讯科技(成都)有限公司 | 一种事务处理方法、管理服务器、事务处理系统和存储介质 |
US11243956B1 (en) * | 2019-07-10 | 2022-02-08 | Amazon Technologies, Inc. | Enforcing foreign key constraints for efficient materialized view updates |
CN112825069B (zh) * | 2019-11-21 | 2024-05-24 | 阿里巴巴集团控股有限公司 | 数据库数据的分析方法、设备、系统及存储介质 |
CN111339058B (zh) * | 2020-03-24 | 2023-05-16 | 中国人民解放军国防科技大学 | 一种集合同步方法及装置 |
CN111651519B (zh) * | 2020-05-08 | 2023-04-25 | 携程计算机技术(上海)有限公司 | 数据同步方法、数据同步装置、电子设备及存储介质 |
US11687523B2 (en) * | 2020-11-25 | 2023-06-27 | Salesforce, Inc. | System and method for efficiently transferring data for offline use |
US11675800B2 (en) | 2020-11-30 | 2023-06-13 | Salesforce, Inc. | Version control and execution on a mobile device |
CN113608683B (zh) * | 2021-06-30 | 2024-05-07 | 山东海量信息技术研究院 | 一种双活磁盘的清理方法、系统及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998038586A1 (en) * | 1997-02-26 | 1998-09-03 | Siebel Systems, Inc. | Method of determining the visibility to a remote databaseclient of a plurality of database transactions using simplified visibility rules |
US20040215670A1 (en) * | 2001-08-15 | 2004-10-28 | Holenstein Paul J. | Synchronization of plural databases in a database replication system |
KR100592647B1 (ko) * | 2001-06-30 | 2006-06-23 | 인터내셔널 비지네스 머신즈 코포레이션 | 서로 다른 클라이언트 사이의 데이터 동기화 시스템, 클라이언트들간의 업데이트 동기화 방법, 업데이트의 복제 방법, 및 컴퓨터 판독 가능 기록 매체 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758355A (en) * | 1996-08-07 | 1998-05-26 | Aurum Software, Inc. | Synchronization of server database with client database using distribution tables |
US5758337A (en) * | 1996-08-08 | 1998-05-26 | Microsoft Corporation | Database partial replica generation system |
AU6183698A (en) * | 1997-02-26 | 1998-09-18 | Siebel Systems, Inc. | Method of determining visibility to a remote database client of a plurality of database transactions having variable visibility strengths |
AU6669198A (en) * | 1997-02-28 | 1998-09-18 | Siebel Systems, Inc. | Partially replicated distributed database with multiple levels of remote clients |
US6098075A (en) * | 1997-12-16 | 2000-08-01 | International Business Machines Corporation | Deferred referential integrity checking based on determining whether row at-a-time referential integrity checking would yield the same results as deferred integrity checking |
JP3810577B2 (ja) | 1999-03-26 | 2006-08-16 | 株式会社日立製作所 | ディレクトリ同期方法 |
US6651047B1 (en) * | 1999-05-19 | 2003-11-18 | Sun Microsystems, Inc. | Automated referential integrity maintenance |
JP2001117800A (ja) | 1999-10-21 | 2001-04-27 | Matsushita Electric Ind Co Ltd | 共用機器と1つ以上の端末機器のデ−タ同期システムおよび共用機器および端末機器 |
JP4025475B2 (ja) | 1999-11-10 | 2007-12-19 | 日本電気株式会社 | データベース交換システム |
US6643669B1 (en) | 2000-03-14 | 2003-11-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for optimization of synchronization between a client's database and a server database |
US7058663B2 (en) * | 2001-03-13 | 2006-06-06 | Koninklijke Philips Electronics, N.V. | Automatic data update |
EP1498815A3 (en) * | 2003-06-30 | 2006-11-29 | Gravic, Inc. | Methods for ensuring referential integrity in multi-threaded replication engines |
US7526486B2 (en) * | 2006-05-22 | 2009-04-28 | Initiate Systems, Inc. | Method and system for indexing information about entities with respect to hierarchies |
US8195606B2 (en) * | 2008-12-12 | 2012-06-05 | Microsoft Corporation | Batch data synchronization with foreign key constraints |
-
2009
- 2009-07-09 US US12/500,370 patent/US8918380B2/en not_active Expired - Fee Related
-
2010
- 2010-07-02 CN CN201080038075.9A patent/CN102483759B/zh not_active Expired - Fee Related
- 2010-07-02 HU HUE10736851A patent/HUE039928T2/hu unknown
- 2010-07-02 JP JP2012519492A patent/JP5676598B2/ja not_active Expired - Fee Related
- 2010-07-02 CA CA2767533A patent/CA2767533C/en not_active Expired - Fee Related
- 2010-07-02 EP EP10736851.6A patent/EP2452277B1/en active Active
- 2010-07-02 WO PCT/NO2010/000260 patent/WO2011005106A1/en active Application Filing
- 2010-07-02 KR KR1020127003567A patent/KR101675409B1/ko active IP Right Grant
-
2012
- 2012-01-09 IL IL217442A patent/IL217442A/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998038586A1 (en) * | 1997-02-26 | 1998-09-03 | Siebel Systems, Inc. | Method of determining the visibility to a remote databaseclient of a plurality of database transactions using simplified visibility rules |
KR100592647B1 (ko) * | 2001-06-30 | 2006-06-23 | 인터내셔널 비지네스 머신즈 코포레이션 | 서로 다른 클라이언트 사이의 데이터 동기화 시스템, 클라이언트들간의 업데이트 동기화 방법, 업데이트의 복제 방법, 및 컴퓨터 판독 가능 기록 매체 |
US20040215670A1 (en) * | 2001-08-15 | 2004-10-28 | Holenstein Paul J. | Synchronization of plural databases in a database replication system |
Also Published As
Publication number | Publication date |
---|---|
KR20120052301A (ko) | 2012-05-23 |
CA2767533C (en) | 2018-02-13 |
US20110010344A1 (en) | 2011-01-13 |
EP2452277A1 (en) | 2012-05-16 |
JP5676598B2 (ja) | 2015-02-25 |
CN102483759B (zh) | 2015-12-09 |
IL217442A0 (en) | 2012-02-29 |
EP2452277B1 (en) | 2018-08-22 |
WO2011005106A1 (en) | 2011-01-13 |
US8918380B2 (en) | 2014-12-23 |
CA2767533A1 (en) | 2011-01-13 |
IL217442A (en) | 2015-11-30 |
CN102483759A (zh) | 2012-05-30 |
JP2012533108A (ja) | 2012-12-20 |
HUE039928T2 (hu) | 2019-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101675409B1 (ko) | 부분 데이터베이스의 증분 업데이트를 수행하는 방법, 시스템 및 장치 | |
US7930215B2 (en) | Contextual computing system | |
US10114849B2 (en) | Managing changes to information | |
US10069892B2 (en) | Versatile information management system and method thereof | |
US8849693B1 (en) | Techniques for advertising in electronic commerce | |
US20090083341A1 (en) | Ensuring that the archival data deleted in relational source table is already stored in relational target table | |
JP2004528636A (ja) | 自動データ更新 | |
US20090063555A1 (en) | File formats for external specification of object-relational mapping | |
WO2001082142A1 (en) | System and method for determining user identity fraud using similarity searching | |
JP4796538B2 (ja) | コメントデータを関連付ける方法 | |
US8386503B2 (en) | Method and apparatus for entity removal from a content management solution implementing time-based flagging for certainty in a relational database environment | |
US20110078218A1 (en) | Event history storage device, event history tracking device, event history storage method, event history storage program, and data structure | |
US11153379B2 (en) | Metadata synchronization system | |
JP5984355B2 (ja) | 分散型データベースシステムおよび分散型データ処理システム | |
US20050086250A1 (en) | Select/refresh method and apparatus | |
US20080091450A1 (en) | Act support program, method, and apparatus | |
He et al. | Automatic extraction of web search interfaces for interface schema integration | |
US20140279869A1 (en) | Transaction-Based Traversal-Free Data Synchronization Among Multiple Sites | |
Banush et al. | Rehabilitating killer serials: An automated strategy for maintaining E-journal metadata | |
KR102768564B1 (ko) | Nft를 이용한 디지털 진품 인증서의 관리 방법 및 이에 사용되는 관리 서버 | |
JP3689596B2 (ja) | 製品開発工程管理システム | |
JP2000099373A (ja) | 履歴情報管理システム | |
CN119149179A (zh) | 数据库的多版本并发控制方法、装置、设备和介质 | |
CN118569862A (zh) | 数字资产管理方法、装置、电子设备和可读存储介质 | |
CN117251463A (zh) | 数据对接方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20120209 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20150611 Comment text: Request for Examination of Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160314 Patent event code: PE09021S01D |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160317 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20160831 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20161107 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20161107 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20191111 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20201030 Start annual number: 5 End annual number: 5 |
|
PC1903 | Unpaid annual fee |