KR100953137B1 - 원격 데이터베이스를 업데이트하기 위한 방법 및 시스템 - Google Patents

원격 데이터베이스를 업데이트하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR100953137B1
KR100953137B1 KR1020047006649A KR20047006649A KR100953137B1 KR 100953137 B1 KR100953137 B1 KR 100953137B1 KR 1020047006649 A KR1020047006649 A KR 1020047006649A KR 20047006649 A KR20047006649 A KR 20047006649A KR 100953137 B1 KR100953137 B1 KR 100953137B1
Authority
KR
South Korea
Prior art keywords
update
periodic
identifier
start time
initialization
Prior art date
Application number
KR1020047006649A
Other languages
English (en)
Other versions
KR20040053254A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26987480&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100953137(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 베리사인 인코포레이티드 filed Critical 베리사인 인코포레이티드
Publication of KR20040053254A publication Critical patent/KR20040053254A/ko
Application granted granted Critical
Publication of KR100953137B1 publication Critical patent/KR100953137B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • 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/2358Change logging, detection, and notification
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/964Database arrangement
    • Y10S707/966Distributed
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Security & Cryptography (AREA)
  • Fuzzy Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Selective Calling Equipment (AREA)

Abstract

네트워크 기반 위에 원격 데이터베이스(210)의 업데이트를 위한 방법과 시스템이다. 센드파일(300-F)로 불리우는 다수의 주기적 업데이트가 점증적 변화의 기반 위에 로컬 업데이트(200)에 생성된다. 주기적 업데이트 각각은 적어도 하나의 트랜스액션을 포함한다. 초기화 센드파일이라고 불리우는 초기화 업데이트는 스타트 타임에 로컬 데이터베이스의 버전을 포함하는 것으로 생성된다. 덧붙여 스타트 타임 이전에 생성된 최종 주기적 업데이트와 연관된 아이덴티파이어와 스타트 타임 이전에 언급된 최종 트랜스액션에 연관된 아이덴티파이어가 발생되는 것이다.









Figure R1020047006649
원격 데이터베이스, 업데이트, 센드파일, 트랜스액션, 로컬 데이터베이스, 초기화 센드파일, 네트워크

Description

원격 데이터베이스를 업데이트하기 위한 방법 및 시스템 {Method and system for updating a remote database}
본 출원은 2001년 11월 1일 출원된 미국 프로비져널 특허 60/330,842호의 전부와 2002년 3월 19일 출원된 미국 프로비져널 특허 60/365,169호의 전부를 참조하여 결합하여 출원된 것이다.
본 발명의 실시태양은 일반적으로 컴퓨터 데이터베이스에 관한 것이다. 특히, 본 실시태양은 데이터베이스의 신뢰할 수 있는 업데이팅을 위한 방법과 시스템을 제공한다.
증가하는 사이즈와 고도로 분화된 데이터베이스의 구조로 인해, 네트워크 상에서 동일한 버전의 데이터를 포함하는 관련된 데이터베이스를 확신시키는 것이 점점 어려워지고 있다. 만약 하나의 데이터베이스로부터 중요한 변화가 있을 경우, 다른 데이터베이스는 가능한 빨리 이들 변화를 포함하기 위하여 업데이트될 필요가 있다. 업데이트를 실시하는 것은 멀티플 데이터베이스에 많은 양의 업데이팅 데이터를 수시로 이동하는 것을 포함한다. 이러한 프로세스의 잠재적 복잡성은 매우 번거로울 수 있다.
이 문제점은 통신이 신뢰할 수 없는 곳의 시스템에서 더욱 복잡하게 될 것이다. 이 경우, 데이터는 전송되는 동안 손실될 수 있다. 그러므로, 데이터는 재전송되어야 하고 다른 데이터베이스는 다시 모두 업데이트되어야한다. 이와 같은 반복은 데이터베이스의 업-투-데이트 데이터를 포함하는 정도로 실시태양 상의 효율성을 크게 저하시킨다.
도 1은 본 발명의 실시태양에 의한 시스템 블록 다이어그램이다.
도 2는 본 발명의 실시태양에 의한 시스템 허브의 블록 다이어그램이다.
도 3은 본 발명의 실시태양에 따른 로컬 데이터베이스로부터 원격 데이터베이스로의 데이터베이스의 업데이트를 위한 전송의 실시예를 나타낸 것이다.
도 4는 본 발명의 실시태양에 의한 센드파일을 나타낸 것이다.
도 5는 본 발명의 실시태양에 의한 초기화 센드파일을 나타낸 것이다.
도 6은 본 발명의 실시태양에 따른 센드파일의 타이밍 차트와 초기화 센드파일 제너레이션을 나타낸 것이다.
도 7은 로컬 데이터베이스의 업데이트 파일이 제너레이트되는 본 발명의 실시태양의 플로우 차트이다.
도 8은 원격 데이터베이스가 로컬 데이터베이스로부터 업데이트 파일을 수령하는 본 발명의 실시태양을 나타내는 플로우 차트이다.
도 9는 원격 데이터베이스가 로컬 데이터베이스로부터 업데이트 파일을 수령하고 유효화시키는 본 발명의 또 다른 실시태양을 나타내는 플로우 차트이다.
도 10A는 업데이트 파일을 유효화시키는 본 발명의 실시태양의 플로우 차트이다.
도 10B는 업데이트 파일을 유효화시키는 본 발명의 또 다른 실시태양을 나타 내는 플로우 차트이다.
도 11은 본 발명의 실시태양에 따라 업데이트 파일을 유효화시키는 모식도이다.
본 발명의 실시태양은 네트워크 기반의 원격 데이터베이스 업데이트를 유효화(validating)시키기 위한 방법 및 시스템을 제공하는 것이다. 로컬 데이터베이스 레코드와 원격 데이터베이스 레코드는 비교될 수 있고 익셉션이 생성될 수 있다. 각각의 익셉션은 원격 데이터베이스와 로컬 데이터베이스간의 디스크레펀시(discrepancy)로 기술된다. 익셉션 아이덴티파이어(exception identifier)는 각각의 익셉션과 결합되어 있고 그곳에서 익셉션 아이덴티파이어는 레코드의 아이덴티파이어와 결합될 수 있다. 이벤트 아이덴티파이어는 그 이벤트 아이덴티파이어가 레코드의 아이덴티파이어와 결합되는 곳에서 업데이트 상에 각각의 이벤트와 결합될 수 있다. 이벤트와 익셉션은 레코드에 상응하고 업데이트가 유효한지를 결정하기 위해 비교될 수 있다.
도 1은 본 발명의 실시태양에 따른 시스템을 나타내는 블록 다이어그램이다. 일반적으로 시스템(100)은 네트워크 기반의 큰 메모리를 지니는 데이터베이스를 지 닐 수 있고 서치 리퀘스트를 수령하고 서치 리스폰스를 제공한다. 예를 들면 시스템(100)은 대칭적이고 International Business Machines Corporation of Armonk에서 제조된 IBM RS/6000ⓡ M80 또는 S80, 캘리포니아주 산타클라라의 Sun Microsystems, Inc.에서 제조된 Sun EnterpriseTM 10000과 같은 멀티프로세싱(SMP) 컴퓨터이다. 시스템(100)은 예를 들면 캘리포니아주 팔로 알토에 소재한 Hewlett-Packard Company에 의해 제조된 Compaq ProLiantMLTM530(두개 의 인텔 펜티엄Ⅲ 866㎒ 프로세서를 포함하는) 멀티프로세서 퍼스널 컴퓨터일 수 있다. 시스템(100)은 IBM AIXⓡ4, Sun SolarisTM8 Operating Environment, Red Hat Linuxⓡ6.2와 같은 멀티프로세싱 오퍼레이팅 시스템일 수 있다. 시스템(100)은 네트워크(124) 기반의 주기적 업데이트를 수령하고 이것은 동시에 데이터베이스 내에 합체될 수 있는 것이다. 본 발명의 실시태양은 데이터베이스 록 또는 어세스 컨트롤의 사용 없이 데이터베이스에 각각 업데이트를 합체하여 고도의 데이터베이스 서치와 업데이트된 스루 풋을 성취하는 것이다.
본 실시태양에 있어서, 시스템(100)은 버스(101)에 커플된 적어도 하나의 프로세서(102-1)를 포함한다. 프로세서(102-1)는 내부의 메모리 캐쉬(예를 들면 L1 캐쉬, 정확하게 나타나지는 않음)를 포함한다. 두 번째 메모리 캐쉬(103-1)(예를 들면 L2 캐쉬, L2/L3 캐쉬 등)는 프로세서(102-1)와 버스(101) 사이에 위치한다. 바람직한 실시태양에서 시스템(100)은 버스(101)에 커플된 다수의 프로세서(102- 1.....102-P)를 포함한다. 다수의 두 번째 메모리 캐쉬(103-1.....103-P)는 다수의 프로세서(102-1....102-P)와 버스(101)(예를 들면 록-스루 설계) 사이에 위치한다. 선택적으로 두 번째 메모리 캐쉬(103-1)의 적어도 하나는 버스(101)(예를 들면 록-어사이드 설계)에 커플될 수 있다. 시스템(100)은 예를 들면 랜덤 어세스 메모리(RAM)와 같은 메모리(104)를 포함하고 버스(101)에 커플되며 다수의 프로세서(102-1....102-P)에 의해 수행되는 정보와 지시를 저장한다.
메모리(104)는 예를 들면 인터넷 도메인 이름을 인터넷 도메인 어드레스로 번역하기 위하여, 이름 또는 전화번호를 네트워크 어드레스로 번역하기 위하여, 가입자 프로파일 데이터를 업데이트 하거나 제공하기 위하여, 유저 프레즌스 데이터를 업데이트하거나 제공하기 위하여 많은 양의 데이터베이스를 저장한다. 데이터베이스의 사이즈와 초당 번역 수 모두를 만족하기 위해서는 매우 큰 것이다. 예를 들면 메모리(104)는 적어도 64GB의 램과 500M(500 ×10^6)의 레코드 도메인 네임 데이터베이스를 포함하고 500M의 서브스크라이버 데이터베이스와 450M의 레코드 전화번호 포터빌리티 데이터베이스등을 포함하는 것이다.
64비트 설계의 하나의 예로써, 예를 들면 적어도 하나의 64비트 빅 앤디안 프로세서(102-1)와 64비트 버스(101) 및 64비트 메모리(104)를 포함하는 시스템과 8비트 포인터 밸류는 단일 연속된 조작을 통해 8비트 바운더리(예를 들면 8로 나누어지는 메모리 어드레스 또는 8N)위에 메모리 어드레스를 작성할 수 있다. 일반 적으로 두 번째 메모리 캐쉬(103-1)의 존재는 메모리(104)에 8비트 포인터 라이트를 단순히 지연시킬 수 있다. 예를 들면 하나의 실시태양에서 두 번째 메모리 캐쉬(103-1)은 라이트-스루 모드 속에 작동되는 룩-스루 캐쉬이고, 이는 단일한 8비트 저장 지시를 프로세서(102-1)로부터 메모리(104)로의 8비트 데이터를 중단없이 이동시키고 두 개의 시스템 클록은 순환된다. 또 다른 실시태양에서 두 번째 메모리 캐쉬(103-1)은 라이트-백 모드 안에 작동되는 룩-스루 캐쉬 일 수 있고 이는 8비트 포인터가 두 번째 메모리 캐쉬(103-1)에 처음 쓰여지게 되고 이는 그 후에, 예를 들면 8비트 포인터가 저장되어 있는 캐쉬 라인이 메모리(104)에 쓰여질 때(예를 들면 특정한 캐쉬 라인 또는 전체의 두 번째 메모리 캐쉬가 "flushed" 일 때) 메모리(104)에 8비트 포인터를 쓰게 되는 것이다.
결과적으로, 프로세서(102-1)의 시각으로부터 일단 데이터가 프로세서(102-1)의 아웃풋 핀으로 래치되면 모든 8비트 데이터는 하나에 인접한 연속적인 전달 속에 메모리(104)에 쓰여지고 이는 만약 존재한다면 두 번째 메모리 캐쉬(103-1)의 효과를 지연시킬 수 있는 것이다. 프로세서(100-2....100-P)의 시각으로부터 일단 데이터가 프로세서(102-1)의 아웃풋 핀으로 래치되면 모든 8비트 데이터는 하나에 인접한 연속적인 전달 속에 메모리(104)에 쓰여지고 이것은 두 번째 메모리 캐쉬(103-1.....103-P)에 엇갈린 캐쉬 코히어런시 프로토콜에 의해 영향받고 이 역시 만약 존재한다면 메모리(104)에 지연을 야기시킬 수 있는 것이다.
그러나, 만약 8비트 포인터 밸류가 8비트 바운더리를 크로스하는 메모리 어드레스와 같은 메모리(104)속에 잘못 배열된 위치에 쓰여진다면 모든 8비트의 데이터는 프로세서(102-1)로부터 단일 8비트 저장 지시를 이용하여 전달될 수 없을 것이다. 대신에 프로세서(102-1)은 두 개의 별개 저장 지시를 발행한다. 예를 들면 만약 메모리 어드레스가 8비트 바운더리(예를 들면 8N-4)전에 4비트를 시작한다면 첫 번째 저장 지시는 메모리(104)(예를 들면 8N-4)에 네 개의 가장 중요한 바이트를 전달할 것이다. 반면 두 번째 저장 지시는 메모리(104)(예를 들면 8N)에 네 개의 최소한의 바이트를 전달할 것이다. 중요하게도 이 두 개의 별개의 저장 지시 사이에 프로세서(102-1)이 삽입될 수 있고, 프로세서(102-1)은 버스(101)의 콘트롤을 다른 시스템 콤포넌트(예를들면 프로세서(102-P))에 루스 시킬 수 있다. 결과적으로 메모리(104)에 위치하는 포인터 밸류는 프로세서(102-1)이 두 번째 저장지시를 완성할 때까지 유효하지 않을 것이다. 만약 또 다른 콤포넌트가 단일, 연속적인 메모리 리드를 이 메모리 위치에 시작한다면 이와 같은 유효하지 않은 밸류가 아마도 유효한 것과 같이 되돌아 올 것이다.
이와 유사하게 새로운 4비트 포인터 밸류는 단일 연속적 조작을 통해 4(4N)에 의해 나누어 질 수 있는 메모리 어드레스로 쓰여질 것이다. 상기 예에서 언급한 바를 주목하여 보면 4비트 포인트 밸류는 8N-4 메모리 위치에 단일 저장 지시를 이용하여 쓰여질 것이다. 물론 만약 4비트 포인터 밸류가 4비트 바운더리를 거슬리는(예를 들면 4N-2) 위치에 쓰여진다면 모든 4비트 데이터는 프로세서(102-1)로 부터 단일 저장 지시를 이용하여 전달될 수 없을 것이다. 그리고 메모리(104)에 위치하는 포인터 밸류는 어느 기간동안 유효하지 않을 것이다.
시스템(100)은 리드 온리 메모리(ROM)를 포함할 수 있고 또는 다른 정적 저장 기구와 버스(101)를 커플시켜 프로세서(102-1)를 위한 정보와 지시를 저장하기 위해 사용할 수 있다. 마그네틱 또는 옵티칼 디스크와 같은 저장기구(108)은 정보와 지시를 저장하기 위해 버스(101)에 커플될 수 있다. 시스템(100)은 또한 디스플레이(110)(예를 들면 LCD 모니터)와 인풋 기구(112)(예를 들면 키보드, 마우스, 트랙볼 등)를 버스(101)과 커플시켜 포함할 수 있다. 시스템(100)은 다수의 네트워크 인터페이스(114-1...114-O)를 포함할 수 있고 이것은 전기적, 전자기적 또는 옵티칼 시그널을 전송하거나 수령할 수 있고 이를 통해 여러 종의 정보를 표시하는 디지털 데이터 스트림을 처리할 수 있다. 본 발명의 실시태양에서 네트워크 인터페이스(114-1)은 버스(101) 및 로컬 에어리어 네트워크(LAN)(122)에 커플될 수 있고, 또한 네트워크 인터페이스(114-O)는 버스(101)과 와이드 에어리어 네트워크(WAN)(124)에 커플될 수 있다. 다수의 네트워크 인터페이스(114-1...114-O)는 다양한 네트워크 프로토콜을 지지할 수 있고 예를 들면 Gigabit Ethernet(예를 들면 IEEE Standard 802.3-2002, 2002년 발행), Fiber Channel(예를 들면, ANSI Standard X. 3230-1994, 1994년 발행)등을 포함할 수 있다. 다수의 네트워크 컴퓨터(120-1...120-N)는 LAN (122)와 WAN(124)에 커플될 수 있다. 하나의 실시태양에서 LAN(122)와 WAN(124)는 네트워크 게이트웨이를 통하거나 라우터(명확하게 도시되지 않음)를 통할 수 있다. 선택적으로 LAN(122)와 WAN(124)는 같은 네트워크일 수 있다.
상기한 바와 같이 시스템(100)은 DNS 레졸루션 서비스를 제공할 수 있다. DNS 레졸루션 실시태양에서 DNS 레졸루션 서비스는 네트워크 트랜스포트와 데이터 룩-업 기능으로 일반적으로 나뉠 수 있다. 예를 들면 시스템(100)은 큰 데이터 세트 위에 데이터 룩-업을 위해 최적화된 백-앤드룩-업 엔진(LUE)일 수 있다. 한편 다수의 네트워크 컴퓨터(120-1...120-N)은 네트워크 프로세싱과 트랜스포트를 위해 최적화된 다수의 프론트-앤드프로토콜 엔진(PEs)이다. LUE는 초고속 하이 스루푸트 서칭과 업데이팅을 가능케 하는 메모리(104) 속에 전체의 DNS 레코드 세트를 저장할 수 있는 강력한 멀티 프로세서 서버일 것이다. 선택적 실시태양에서 DNS 레졸루션 서비스는 강력한 멀티 프로세서 서버 또는 LUE에 의해 제공되고, 이와 같은 고속 하이 tm루푸트 서칭과 업데이팅을 가능케하는 메모리(104)속에 전체 DNS 레코드의 서브세트를 저장하는 것이다.
이와는 대조적으로 다수의 PEs는 일반적이고 낮은 프로파일 PC-베이스 머신으로 효율적인 멀티 테스킹 오퍼레이팅 시스템(예를 들면 Red Hat Linux 6.2)을 작동시킬 수 있고 DNS 레졸루션을 위한 이용가능한 자원을 최대화하기 위해 LUE 위에 네트워크 프로세싱 트랜스포트 로드를 최소화하는 것이다. PEs는 LAN(122)위에 LUE로 유효하지 않은 DNS 퀘어리와 멀티플렉스 유효 DNS 퀘어리에 응답하여 와이어 라인 DNS 프로토콜의 뉘앙스를 핸들한다. DNS 레코드 서브 세트를 저장하는 다수의 LUE를 포함하는 선택적 실시태양에서 PE는 어느 LUE가 각각의 유효한 DNS 퀘어리를 수령할 지를 결정하고 다양한 유효한 DNS 퀘어리는 LUE에 도달케 한다. 단일 LUE를 위한 PE의 넘버가 결정될 수 있고 예를 들면 초당 처리되는 DNS 퀘어리의 숫자와 특정 시스템의 수행 특성에 의해 결정될 수 있다. 다른 메트릭이 적절한 맵핑 비율과 행동를 결정하기 위해 사용될 수 있다.
일반적으로 다른 큰 볼륨 퀘어리 베이스 실시태양이 지지될 수 있고 예를 들면 전화번호 레졸루션, SS7 시그널링 프로세싱, 지오로케이션 결정, 전화번호-투-가입자 맵핑, 가입자 로케이션과 프레즌스 결정 등을 포함할 수 있다.
하나의 실시태양에서 중앙 온라인 트랜스액션 프로세싱(OLTP)서버(140-1)는 WAN(124)에 커플될 수 있고 추가, 수정 및 삭제(예를 들면 업데이트 트래픽)를 여러 소스로부터 데이터베이스(142-1)에 가할 수 있다. OLTP 서버(140-1)는 시스템(100)에 업데이트를 전송하고 이는 WAN(124)위에 데이터베이스(142-1)의 로컬 카피를 포함하는 것이다. OLTP서버(140-1)는 여러종의 포맷과 프로토콜 속에서 업데이트 트래픽을 처리하기 위해 최적화 시킬 수 있고 예를 들면 Hyper Text Transmission Protocol(HTTP), Registry Registrar Protocol(RRP), Extensible Provisioning Protocol(EPP), Service Management System/ 800 Mechanized Generic Interface(MGI) 및 다른 온라인 프로비져닝 프로토콜 등을 포함할 수 있다. 리드 온리 LUE의 배치는 허브 속에 위치할 수 있고 초고속 서치 기능과 연관된 높은 볼륨 증가하는 OLTP서버(140-1)의 업데이트를 제공하기 위해 설계될 수 있다.
선택적 실시태양에서 데이터는 다수의 OLTP서버(140-1...140-S)에 분포되고 이들의 각각은 WAN(124)에 커플될 수 있다. OLTP 서버(140-1...140-S)는 추가, 수정, 삭제(예를 들면 업데이트 트래픽)를 다양한 공급원으로부터 각각의 데이터베이스(142-1...142-S)(명확히 도시하지 않음)에 수령할 수 있다. OLTP서버(140-1...140-S)는 데이터베이스(142-1...142-S)의 카피와 다른 역동적으로 창출된 데이터를 WAN(124)밖에서 포함하는 시스템(100)에 업데이트를 전송할 수 있다. 예를 들면 지오로케이션 실시태양에서 OLTP서버(140-1...140-S)는 원격센서 그룹으로부터 업데이트 트래픽을 수령할 수 있다. 또 다른 실시태양에서 다수의 네트워크 컴퓨터(120-1...120-N)는 WAN(124) 또는 LAN(122) 위에 다양한 정보로부터 추가, 수정, 삭제(예를 들면 업데이트 트래픽)등을 수령할 수 있다. 이와 같은 실시태양에서 다수의 네트워크 컴퓨터(120-1...120-N)는 시스템(100)에 퀘어리 뿐만 아니라 업데이트를 전송할 수 있는 것이다.
DNS 레졸루션 실시태양에서 각각의 PE(예를 들면 다수의 네트워크 컴퓨터(200-1...200-N)각각)은 단일 Request SuperPacket을 통한 광역 에어리어 네트워크(예를 들면 WAN(124))를 수령하고 로컬 에어리어 네트워크(예를 들면 LAN(122))로의 Request SuperPacket to the LUE(예를 들면 시스템(100))을 전송함 으로써 각각의 DNS 퀘어리 메시지를 결합하거나 멀티플렉스 할 수 있다. LUE는 단일 Response SuperPacket에 각각의 DNS 퀘어리 메시지 리플라이를 결합하거나 멀티플렉스 할 수 있고 로컬 에어리어 네트워크 기반위에 적정한 PE Response SuperPacket를 전송한다. 일반적으로 리퀘스트 또는 리스폰스 SuperPacket의 사이즈를 최대화함으로써 물리적 네트워크 레이어(예를 들면 Gigabit Ethernet)의 최대 전송 유니트(MTU)에 의해 제한될 수 있다. 예를 들면 100바이트 및 200바이트 이내의 통상적인 DNS 퀘어리와 리플라이 메시지는 각각 단일 Request SuperPacket에 멀티플렉스되어 30개 이상의 퀘어리를 가능케 하고 단일 Response SuperPacket에 멀티플렉스되어 15개 이상의 리플라이를 가능케 한다. 그러나 적은 수의 퀘어리(예를 들면 20 퀘어리)는 리스폰스(예를 들면 10 리플라이) 위에 MTU의 오버플로우를 피하기 위해 단일 Request SuperPacket에 포함될 수 있다. 더 큰 MTU 규모에서 멀티플렉스 퀘어리와 리플라이의 수는 이에 따라 증가한다.
각각의 멀티태스킹 PE는 DNS 퀘어리와 리플라이를 관리하기 위해 인바운드 쓰레드와 아웃바운드 쓰레드를 포함할 수 있다. 예를 들면 인바운드 쓰레드는 광역 에어리어 네트워크 위에 수령된 인커밍 DNS 퀘어리 패킷으로부터 DNS 퀘어리 콤포넌트를 언마셜할 수 있고 단일 Request SuperPacket으로 밀리세컨드 퀘어리를 멀티플렉스한다. 인바운드 쓰레드는 로컬 에어리어 네트워크 위에 LUE에로 Request SuperPacket을 전송한다. 그 반대로 아웃바운드 쓰레드는 LUE로부터 Response SuperPacket를 수령하고 여기에 함유된 리플라이를 디-멀티플렉스 시킨다. 유효 한 DNS 리플라이를 각종 필드에 정렬시키고 이는 광역 에어리어 네트워크 위에 전송되는 것이다. 일반적으로 상기한 바와 같이 다른 볼륨 퀘어리 기반 실시태양이 지지될 수 있다.
하나의 실시태양에서 Request SuperPacket은 예를 들면 소스어드레스, 프로토콜 타입과 같은 각각의 DNS 퀘어리를 결합시킨 스테이트 정보를 포함할 수 있다. LUE는 스테이트 정보를 포함하고 Response SuperPacket속에서 DNS 리플라이를 연합시킨다. 각각의 PE는 구축되고 LUE로부터 전송된 정보를 이용하여 유효한 DNS 리플라이 메시지를 리턴시킨다. 결과적으로 각각의 PE는 스테이트레스 머신처럼 유리하게 작동되고 유효한 DNS 리플라이가 Response SuperPacket속에 함유된 정보로부터 형성될 수 있다. 일반적으로 LUE는 인커밍 SuperPacket이 생성되는 PE에 Response SuperPacket를 리턴시킨다. 그러나 다른 변형이 가능하다.
또 다른 실시태양에서 각각의 PE는 DNS 퀘어리와 결합된 스테이트 정보를 유지하고 레퍼런스를 포함하며 Request SuperPacket 속에 스테이트 정보를 핸들링 한다. LUE는 스테이트 정보 레퍼런스를 포함하고 DNS 리플라이를 Response SuperPacket속에서 결합시킨다. 각각의 PE는 구축되고 LUE로부터 전송된 스테이트 정보 레퍼런스를 이용하여 유효한 DNS 리플라이 메시지를 리턴시키며 이때 스테이트 정보를 유지한다. 이러한 실시태양에서 LUE는 인커밍 SuperPacket에 기인한 것으로부터 PE에 Response SuperPacket를 리턴시킨다.
도 2는 본 발명의 실시태양에 따른 허브와 스포크의 블록 다이어그램이다. 일반적으로 시스템은 로컬 데이터베이스(200)(중앙 OLTP허브(140)속에 포함되어 있는)를 포함한다. 하나 또는 그 이상의 원격 데이터베이스(210)(LUE(100)을 포함한다)는 연결 메카니즘 예를 들면 인터넷 또는 LAN(122)를 통해 연결된다. 데이터베이스는 업데이트 데이터를 전송하고 수령한다.
도 3을 참조하여 본 발명의 실시태양에서 로컬 데이터베이스(200)은 F 센드파일(300-1...300-F)을 전송하고 원격 데이터베이스(210)을 업데이트시키기 위해 원격데이터베이스(210)에 센드파일(310)을 초기화한다. 업데이트 파일은 각각 또는 배치로 전송되고 이는 멀티플 센드파일(300), 하나의 센드파일(300)과 초기화 센드파일(310), 멀티플 센드파일(300)과 하나의 초기화 센드파일(310), 센드파일(300) 단일, 또는 초기화 센드파일(310)단일 등의 형태로 전송되는 것이다.
본 발명의 하나의 실시태양에서 프로세서(104)는 센드파일(300)을 수령하고 로컬 데이터베이스(200)으로부터 업데이트된 데이터를 포함하는 초기화 센드파일(310)을 수령할 수 있다. 실시태양(150)은 센드파일(300)을 수령하고 커뮤니케이션 인터페이스(118)을 통해 원격 데이터베이스(210)에 초기화 센드파일(310)을 수령한다. 프로세서(104)는 초기화 센드파일(310) 또는 센드파 일(300)속의 업데이트 데이터를 원격 데이터베이스(210)속에 상응하는 데이터와 비교한다. 만약 데이터가 원격 데이터베이스(210) 와 다르다면 프로세서(104)는 센드파일(300) 또는 초기화 센드파일(310)을 원격 데이터베이스(210)에 적용한다. 이에 따라 원격 데이터베이스(210)은 로컬 데이터베이스(200)속에 업데이팅 데이터에 매치하는 연속적인 업데이트 데이터를 지닌다.
도 4는 본 발명의 실시태양에 따른 센드파일(300)을 나타낸 것이다. 파일(300)의 분야는 예를 들면 파일 아이덴티파이어(400), 파일 생성 타임(402), 파일 속에 트랜스액션 N 의 회수(404), 파일의 총 사이즈(406), 체크섬 또는 어떤 에러-체킹 인디케이터(408), 와 트랜스액션(400-1...400-N)(트랜스액션 아이덴티파이어를 포함함)을 포함하는 것이다. 이러한 센드파일의 분야는 예시된 것으로 본 발명의 실시태양의 범위에 한정되지 않는다. 어떠한 유용한 기술이 센드파일(300)에 포함될 수 있다.
센트파일(300)은 시간 내 두 포인트 간에 로컬 데이터베이스(200)의 변화를 포함한다. 이러한 변화는 예를 들면 새로운 아이덴티파이어의 첨가(예를 들면 데이터 레코드의 아이덴티파이어), 존재하는 아이덴티파이어의 삭제, 아이덴티파이어와 결합된 하나 또는 그 이상의 데이터 레코드의 수정, 아이덴티파이어의 리네이밍, no-op 등을 포함할 수 있다. 하나 또는 그 이상의 이러한 변화는 연속적으로 발생하고 트랜스액션이라 불리운다. 센드파일(300)은 이러한 트랜스액션의 유니 크한 아이덴티파이어를 포함한다. 트랜스액션은 로컬 데이터베이스(200)에서 발생된 오더속에 센드파일(300)속에 기록된다. 부수적으로 하나 이상의 변화를 포함하는 트랜스액션을 위해 이러한 변화는 로컬 데이터베이스(200) 속에 발생하는 오더 속에서 트랜스 액션에 레코드된다.
일반적으로 트랜스액션 아이덴티파이어는 어떠한 오더 순으로 트랜스액션을 정렬한다. 이는 트랜스액션 아이덴티파이어가 시간적으로 단조롭게 증가할 필요가 없다는 것이다. 예를 들면 두 개의 연속적인 트랜스액션은 10002에 뒤따른 10004 트랜스액션 아이덴티파이어를 지닐 수 있다. 이에 따라 트랜스액션을 유발하는 오더는 커런트 파일(300-F)의 배치에 의하거나 이전파일(300-(F-1))의 배치에 결정될 수 있다. 일반적으로 트랜스액션은 하나의 센드파일 적용 속에 원격 데이터베이스 업데이트를 완성하기 위해 인접파일(300)을 포함하지 않을 수 있다. 이는 원격 데이터베이스(210)에 에러를 야기할 수 있는 네트워크 지연에 의한 업데이트의 불연속을 방지하기 위한 것이다.
도 5는 본 발명에 따른 실시태양에 의한 초기화 센드파일(310)을 나타낸 것이다. 초기화 센드파일(310)의 분야는 예를 들면 파일 아이덴티파이어(500), 파일 제너레이션 타임(502), 파일 속에서 트랜스액션 N의 회수(504), 파일의 총 사이즈(506), 체크섬 또는 에러-체킹 인디케이터(508)와 전체 로컬 데이터베이스의 카피(516)을 포함한다. 초기화 센드파일(310)은 분야(510)을 더욱 포함할 수 있고 이것은 파일의 제너레이션(310)전에 형성된 마지막 센드파일(300)의 파일 아이덴티파이어(400)을 포함할 수 있고 초기화 센드파일(310)의 생성 전에 로컬 데이터베이스(200)에 언급된 마지막 트랜스액션의 아이덴티파이어에 관한 분야(512)를 포함할 수 있다. 로컬 및 원격 데이터베이스(200,210) 속에 데이터는 데이터베이스(200,210)속에 위치하는 테이블에 분배된다. 데이터베이스(200,210)은 임의의 수의 테이블을 지지한다. 그러므로 데이터베이스가 테이블을 가졌을 때 초기화 센드파일(310)은 그 테이블 속에 기록된 레코드의 수를 지적하는 각각의 테이블을 위한 분야를 포함할 수 있다. 예를 들면 도메인 네임 데이터베이스는 도메인 테이블과 네임서버 테이블을 포함한다. 그러므로 초기화 센드파일은 도메인 테이블 속에 레코드의 수를 나타내는 분야와 네임서버 테이블 속에 레코드의 수를 나타내는 분야를 포함할 수 있다. 이와 같은 분야는 예를 들면 테이블 네임, 테이블 속에 인덱스 레코드에 사용된 키, 테이블 속에 레코드의 수로 상세화 될 수 있다. 덧붙여서 초기화 센드파일(310)은 통상 1.0의 초기화 센드파일 버전(310)을 지시하는 분야를 포함한다. 이 초기화 센드파일 분야는 본 발명의 실시태양의 범위에서 특별히 한정되는 것은 아니고 예시적으로 사용된 것이다. 유용한 분야는 초기화 센드파일(310)속에 포함될 수 있다.
초기화 센드파일(310)은 예를 들면 로컬 데이터베이스(200) 전체의 리드-콘시스턴트 카피를 이미 상술한 바와 같이 포함할 수 있다. 초기화 센드파일(310)은 ts와 tf사이의 시간 t의 시점에서 로컬 데이터베이스(200)과 양립할 수 있다. 이곳에서 ts는 초기화 센드파일(310)의 생성이 시작되는 시간이고 tf는 생성이 완료되는 시간이다. 이와 같이 초기화 센드파일(310)을 발생시키는 조작은 'add'조작이다. 이는 초기화 센드파일(310)이 생성됨에 따라 시간 t에 전체 로컬 데이터베이스(200)의 카피는 초기화 센드파일(310) 속에서 기록된다. 그러므로 'add' 조작은 초기화 센드파일(310) 속에 로컬 데이터베이스(200)을 레코드 하기 위해 수행되는 것이다. 아이덴티파이어는 어떠한 오더속에서 초기화 센드파일(310)을 기록할 수 있다. 선택적으로 외부 아이덴티파이어의 존재하에 레퍼런스 데이터 레코드는 레퍼런싱 데이터 레코드 이전에 기록되는 것이다.
분야(510)과 (512)의 첨가는 초기화 센드파일(310)에 초기화 센드파일(310)이 생성되는 동안에 원격 데이터베이스(210)에 언급되고 생성되는 센드파일(300)의 인지를 제공하는 것이다. 그러나 센드파일(300)의 생성과 초기화 센드파일(310)의 생성은 서로 디커플드되고 서로간에 생성에 의존하지 않는 것이다. 이와 같은 구조와 과정은 효과적이지 못한 방법일 수 있다. 그 이유는 센드파일의 생성과 응용이 초기화 센드파일의 생성이 완료될 때 까지 중지될 수 있기 때문이다. 초기화 센드파일(310)의 생성중에 센드파일(300)의 생성과 응용의 연속을 위해 본 발명의 상세한 실시태양에서 강한 에러-체킹 센드파일(300)이 행해지고 원격 데이터베이스(212)에 배열이 행해진다. 예를 들면 유니크 콘스트레인트 또는 외부 아이덴티파이어 콘스트레인트 등이 행해질 수 있다. 콘스트레인트의 배치는 원격 데이터베이스(212)의 관련된 모델을 위배하는 트랜스액션을 허용하지 않음으로써 원 격데이터베이스(210)속에 데이터베이스의 인테그리티를 보호한다. 예를 들면 유니크 콘스트레인트는 한 번 이상 데이터베이스(210) 속에 저장되어 있는 것으로부터 동일한 키를 방지하는 것이다.
도 6은 본 발명의 실시태양에 따른 센드파일의 타이밍 차트와 초기화 센드파일의 생성을 나타낸 것이다. 도 6에서 센드파일(300)(sf-1 내지 s-21) 은 일정한 시간간격에 의해 생성된다. 선택적 실시태양에서 센드파일(300)은 불규칙적 시간간격에서 생성될 수 있다. 일반적으로 센드파일 생성은 전체 시간 인터벌을 요하지 않는다. 예를 들면 만약 파일이 5분 간격으로 생성된다면 이것은 파일이 생성되기 위해 총 5분이 소요된다는 것을 의미하지 않는다. 또한 만약 센드파일(300)이 생성되는 동안 로컬 데이터베이스(200)에 변화가 발생한다면, 이러한 변화는 다음 센드파일(300)에서 포착될 것이다. 예를 들면 만약 센드파일 sf-4 의 시작이 12:05:00 이고 완료가 12:05:02이면 12:05:00에서 12:05:02 사이에 발생한 로컬 데이터베이스(200)의 어떠한 변화는 센드파일 sf-5(예를 들면 300-5)에서 포착되고 이것은 12:05:00 내지 12:10:00의 기간 중에 포착되는 것이다.
센드파일(300-5)와 (300-19)는 도 6에 나타나 있다. 이러한 파일은 다른 분야 중에서 파일 아이덴티파이어(601)(sf-5, sf-19), 파일생성시간(603) 및 트랜스액션 아이덴티파이어(605)(예를 들면 10002)를 나타내는 것이다. 이러한 트랜스액션 아이덴티파이어가 단조롭게 오더되지 않음을 주목하라. 이미 전술한 바와 같이, 트랜스액션 아이덴티파이어는 랜덤 밸류를 지닌다. 그러나 결합된 트랜스액션 자체는 로컬데이터베이스(200) 속에서 발생하는 오더로 센드파일(300)에 기록된다.
초기화 센드파일(310)의 생성과 센드파일(300)의 생성이 디커플드 되기 때문에 초기화 센드파일(310)은 언제든지 생성될 수 있다. 예를 들면 초기화 센드파일(310)은 센드파일(300)의 생성 전,후, 중간 어느 때던지 생성될 수 있다. 도 6은 네 번째 다섯 번째 센드파일(예를 들면 sf-4 및 sf-5)의 사이에 생성되는 초기화 센드파일(310)을 나타낸 것이다.
바람직한 실시태양에서 초기화 센드파일(310)은 다른 분야중에 파일 아이덴티파이어(610)(isf-1), 초기화 센드파일 생성전에 생성된 마지막 센드파일의 파일 아이덴티파이어(615), 및 초기화 센드파일 생성 이전에 언급된 트랜스액션 아이덴티파이어(620)을 포함하는 것이다. 이와 같은 실시예에서 마지막으로 생성된 센드파일은 센드파일 sf-4이고 마지막 언급된 트랜스액션은 트랜스액션 10001이다. 초기화 센드파일(310)은 12:07:29에서 생성(611)을 시작한다. 센드파일(300-5)(sf-5)속에 트랜스액션의 전반부, 트랜스액션 (10002, 10005) 및 (10001)은 초기화 센드파일(312) 생성될 때 로컬 데이터베이스(200)에 이미 언급된 것이다. 따라서 초기화 센드파일(310)은 이러한 트랜스액션의 인식을 통해 이루어지며 초기화 센드파일(310)속에 이 같은 트랜스액션이 포착되는 것이다. 그러나 초기화 센드 파일(310)은 연차적인 트랜스액션 10003과 10004를 인지하지 못하며 이는 초기화 센드파일 생성이 시작된 뒤에 발생한 것이기 때문이다.
초기화 센드파일(310)이 생성되는 동안에 센드파일(300-5)와 함께 시작한 센드파일은 일정한 인터벌로 발생하여 계속된다. 이러한 파일은 원격데이터베이스(210)에 전달되고 응용된다.
초기화 센드파일(310)은 1;15:29에 완전히 생성되고 센드파일 (300)의 18번째 및 19번째 (sf-18 및 sf-19) 생성 중간에 위치한다. 또한 센드파일(300-19)의 19번째 생성에 영향을 주지 않는다.
원격 데이터베이스(210)에 초기화 센드파일(310)에 수령 및 로딩 후에 원격 데이터베이스(210)은 초기화 센드파일(310)의 생성 이전에 생성된 센드파일을 고려하지 않는다. 이것은 예를 들면 이전 센드파일(300)에 기록된 로컬 데이터베이스(200)의 모든 변화를 포함하는 초기화 센드파일(310)에 기인하기 때문이다. 예를 들면 원격 데이터베이스(210)은 첫 번째부터 네 번째 센드파일(sf-1 내지 sf-4)를 고려할 필요가 없다. sf-1 내지 sf-4에 센드파일 속에 기록된 변화는 초기화 센드파일(310)속에 기록될 수 있다. 이와 같은 이전 센드파일(sf-1 내지 sf-4)는 삭제되거나 선택적으로 아키브 될 수 있다. 이와 유사하게 원격 데이터베이스(210)은 그 후에 생성된 센드파일(300)속에 포함된 초기화 센드파일(310) 의 생성에 앞서 언급된 트랜스액션을 고려하지 않는다. 초기화 센드파일(310)은 초기화 센드파일(310)이 생성되었을 때 트랜스액션을 포함할 수 있다. 예를 들면 원격 데이터베이스(210)은 센드파일 sf-5의 첫 번째 세 개의 트랜스액션 10002, 10005, 10001을 고려할 필요가 없다. 이와 같은 센드파일 sf-5에 기록된 트랜스액션은 초기화 센드파일(310)에 기록되기 때문이다. 이와 같이 언급된 트랜스액션은 삭제되거나 선택적으로 아키브될 수 있다.
도 7은 로컬 데이터베이스 파일의 업데이트 생성에 관련된 본 발명의 실시태양의 플로우 차트이다. 시스템은 로컬 데이터 파일의 점증적인 변화에 기인한 다수의 주기적 업데이트를 생성(705)한다. 각각의 업데이트는 하나 또는 그 이상의 트랜스액션을 포함한다. 시스템은 원격 데이터베이스에 주기적 업데이트를 송부(710)한다. 주기적 업데이트가 생성되는 동안 시스템은 스타트 시간에 업데이트 초기화를 생성(715)한다. 업데이트의 초기화는 로컬 데이터베이스 전체의 버전을 포함한다. 시스템은 스타트 타임 이전에 생성된 마지막 주기적 업데이트와 스타트 타임 이전에 언급된 마지막 트랜스액션을 결정(720)한다. 그리고 시스템은 원격 데이터베이스에 초기화 업데이트를 송부(725)한다. 초기화 업데이트는 최종 주기적 업데이트의 생성과 관련된 업데이트 아이덴티파이어와 언급된 최종 트랜스액션에 관련된 트랜스액션 아이덴티파이어를 포함하는 것이다.
예를 들면 OLTP (140)은 규칙적 또는 불규칙적 시간 간격으로 센드파일(300) 을 생성(705)한다. OLTP(140)은 원격 데이터베이스(210)에 센드파일(300)을 전송(710)한다. 센드파일(300)이 생성되는 동안 OLTP(140)은 스타트 타임(611)에 초기화 센드파일(310)의 생성(715)를 시작한다. 초기화 센드파일(310)은 전체 로컬 데이터베이스(200) 카피를 포함한다. OLTP(140)은 초기화 센드파일(310)의 생성을 위한 스타트 타임(611)이전에 생성된 마지막 센드파일(300)과 초기화 센드파일(310)의 생성을 위한 스타트 타임(611)이전에 언급된 마지막 트랜스액션을 결정(720)하는 것이다. OLTP(140)은 원격 데이터베이스(210)에 초기화 센드파일(310)을 전송(725)한다. 초기화 센드파일(310)은 마지막 생성된 센드파일(300)과 결합된 센드파일 아이덴티파이어(615)와 마지막 언급된 트랜스액션과 관련된 트랜스액션 아이덴티파이어(620)을 포함하는 것이다.
도 8은 원격 데이터베이스가 로컬 데이터베이스로부터 업데이트 파일을 수령하는 것에 관한 본 발명의 실시태양을 나타내는 플로우 차트이다. 시스템은 다수의 주기적 업데이트를 수령(805)한다. 각각의 업데이트는 하나 또는 그 이상의 트랜스액션을 포함한다. 주기적 업데이트는 별개로 또는 배취상으로 수령된다. 시스템은 어느 시간에 업데이트 초기화를 수령(810)한다. 초기화 업데이트는 전체 로컬 데이터베이스 버전을 포함한다. 시스템은 마지막 주기적 업데이트 아이덴티파이어와 트랜스액션 아이덴티파이어와 결합된 마지막 트랜스액션을 판독(820)한다. 주기적 업데이트와 트랜스액션은 각각 초기화 업데이트 생성이전에, 생성되고 언급된 마지막 것이다. 시스템은 원격 데이터베이스에 주기적 업데이트에 상응하는 잔존된 언급되지 않은 트랜스액션을 적용(825)한다. 시스템은 원격 데이터베이스에 최종 주기적 업데이트 후에 생성된 잔존된 주기적 업데이트를 적용(830)한다. 초기화 업데이트를 적용하는 것은 이미 잃어버린 주기적 업데이트를 위한 것이다.
예를 들면 LUE(100)은 규칙적 또는 불규칙적 시간 간격속에 센드파일(300)을 수령(805)한다. 센드파일(300)은 각각 또는 배취로 수령된다. LUE(100)은 어떤 시간에 초기화 센드파일(310)을 수령(810)한다. LUE(100)은 초기화 센드파일(310)로부터 센드파일 아이덴티파이어(615)와 트랜스액션 아이덴티파이어(620)을 판독(815)한다. LUE(100)은 센드파일 아이덴티파이어(615)와 결합된 센드파일(300)과 트랜스액션 아이덴티파이어(620)과 결합된 트랜스액션(605)을 결정(820)한다. 센드파일과 트랜스액션은 초기화 센드파일(310) 생성 이전에 각각 생성되고 언급된 마지막의 것에 의한다. LUE(100)은 원격 데이터베이스(210)에 상응하는 센드파일(300) 속의 잔존하는 언급되지 않은 트랜스액션(605)을 적용(825)한다. LUE(100)은 원격 데이터베이스(210)에 마지막 센드파일 sf-4 후에 잔존하는 센드파일(300)을 적용(830)한다.
선택적인 실시태양으로 예를 들면 LUE(100)은 초기화 센드파일 생성시간(611)이전에 생성시간(603)을 지닌 원격 데이터베이스(210)에 적용되지 않은 센드파일(300)을 디스카드 하거나 아키브 할 수 있다. 디스카드 되거나 아키 브된 센드파일(300)은 센드파일 아이덴티파이어(615)와 연관된 센드파일 sf-4를 포함할 수 있다.
초기화 센드파일(310)이 적용된 후에 원격 데이터베이스(210)에 적용된 어느 이후 센드파일(300)은 버려질 수 있는 것으로 인식되며 그 이유는 원격 데이터베이스(210)가 초기화 센드파일(310)과 리드-콘시스턴트 되기 때문이다. 따라서 그 이후 센드파일(300)은 재적용 될 수 있다.
본 발명의 실시태양에 따라, 센드파일(300)과 초기화 센드파일(310)은 로컬 데이터베이스(200)으로부터 원격 데이터베이스(210)으로 애크날리지먼트 없이 예를 들면 파일이 성공적으로 수령되었다는 것을 표현하는 ACK/NACK 시그널 없이 전송될 수 있다. ACK/NACK 시그널이 생성되는 것을 효과적으로 줄일 수 있다.
선택적 실시태양에서 ACK/NACK 시그널은 성공적인 파일의 접수를 표시하기 위해 원격 데이터베이스(210)으로부터 전송될 수 있다. 이와같은 실시태양에서 ACK/NACK 시그널은 신뢰할 수 없는 커뮤니케이션으로부터 시스템에 전송되는 것이다.
도 9는 로컬 데이터베이스로부터 송부된 업데이트 파일과 원격 데이터베이스로부터 접수된 업데이트파일의 유효화에 관한 본 발명의 또 다른 실시태양을 나타 내는 플로우 차트이다. 여기에서 시스템은 다수의 주기적 업데이트를 송부(905)한다. 각각의 업데이트는 하나 또는 그 이상의 트랜스액션을 포함한다. 주기적 업데이트는 각각 또는 배취로 전송된다. 시스템은 어떤 시간에 초기화 업데이트를 전송(910)하고 원격 데이터베이스에 초기화 업데이트를 적용한다. 초기화 업데이트는 전체의 로컬 업데이트 버전을 포함한다. 시스템은 데이터베이스를 비교함으로써 로컬과 원격 데이터베이스간에 디스크레펀시를 일단 확인(915)한다. 시스템은 이와 같은 디스크레펀시가 유효한지 또는 잘못된 것인지를 결정(920)한다. 시스템은 본 발명의 실시태양에 따라 원격 데이터베이스에 주기적 업데이트를 적용(925)한다. 효과적인 실시태양에서 로컬 데이터베이스로부터 업데이트 수령의 결과가 원격 데이터베이스에 에러가 없는지를 확인시킨다.
예를 들면 OLTP(140)은 원격 데이터베이스(210)에 규칙적 또는 불규칙적 시간 간격으로 센드파일(300)을 전송(905)한다. 센드파일(300)은 각각 또는 배취로 전송된다. OLTP(140)은 어느 시기에 LUE(100)에 초기화 센드파일(310)을 전송(910)하고 LUE(100)은 원격 데이터베이스(210)에 초기화 센드파일(310)을 적용한다. OLTP(140)은 원격 데이터베이스(210)과 로컬 데이터베이스(200)을 비교하고 그들간의 디스크레펀시를 확인(915)한다. OLTP(140)은 디스크레펀시가 유효한 것인지 잘못된 것인지를 결정(920)한다. OLTP(140)은 본 발명의 실시태양에 따라 원격 데이터베이스(210)에 센드파일(300)을 적용(925)하는 것을 LUE(100)에 통보할 수 있다. LUE(100)은 원격 데이터베이스(210)에 센드파일(300)을 적용한다.
본 발명의 선택적 실시태양에서 시스템은 디스크레펀시의 확인과 유효화 이전에 센드파일과 초기화 센드파일 모두를 적용할 수 있다. 선택적으로 시스템은 디스크레펀시의 확인과 유효화 이후에 센드파일과 초기화 센드파일 모두를 적용할 수 있다.
소스로부터 데이터를 적용하기 위한 목적으로 데스티네이션에 네트워크를 통해 전송된 어떠한 데이터는 유효화 과정을 수행하는 것으로 이해되어야 한다.
도 10A는 본 발명에 따른 센드파일과 초기화 센드파일의 유효화의 실시태양을 나타낸 플로우 차트이다. 다수의 주기적 업데이트와 초기화 업데이트를 원격 데이터베이스에 전송한 후에 시스템은 이러한 업데이트를 유효화시킨다. 각각의 업데이트는 로컬 데이터베이스에서 수행되는 하나 또는 그 이상의 트랜스액션을 포함한다. 각각의 트랜스액션은 하나 또는 그 이상의 이벤트를 포함한다. 이벤트는 데이터베이스 액션 또는 출현이다. 예를 들면 데이터베이스 속에 각각의 데이터의 추가, 수정, 삭제 등이다.
먼저 시스템은 로컬 데이터베이스에 기록된 것과 상응하는 원격 데이터베이스의 기록을 비교(1000)한다. 시스템은 원격 데이터베이스와 로컬 데이터베이스 기록간에 디스크레펀시를 기재한 익셉션을 생성(1005)한다. 익셉션은 각각의 디 스크레펀시를 위해 생성되는 것이다. 하나의 동일한 기록의 두 개의 버전 간에 적어도 하나 데이터 밸류의 차이가 디스크레펀시이다. 예를 들면 로컬 데이터베이스에 기록된 데이터는 (12345, xyz.com, 123.234.345) 일 수 있다. 원격 데이터베이스에 기록된 상응하는 데이터는 이와 동일한 것으로 추정되지만 (12345, abc.com , 123.234.345)일 수 있다. 따라서 기록의 두 번째 데이터 밸류는 디스크레펀시인 것이다. 그러므로 이러한 디스크레펀시를 기재한 익셉션을 생성하는 것이 본 발명의 실시태양이다. 익셉션은 디스크레펀시의 존재를 단순히 지시하는 디스크레펀시를 기재할 수도 있고 디스크레펀시의 위치를 상세화 할 수도 있고, 디스크레펀시 속에 두 개의 데이터 밸류 간의 차이를 기술할 수도 있다. 만약 동일한 데이터를 포함하는 것으로 예측되는 두 개의 기록이 있다면 로컬 데이터베이스에 기록된 데이터는 원격 데이터베이스에 기록된 데이터와 상응할 것이다.
디스크레펀시는 하나 또는 그 이상의 데이터 밸류의 기록상의 차이 또는 전체 기록상의 차이로 언급될 수 있는 것으로 이해되는 것이다.
시스템은 익셉션 아이덴티파이어가 기록의 아이덴티파이어와 결합되는 곳에서 각각의 익셉션과 결합된 익셉션 아이덴티파이어와 관련(1010)되어 있다. 예를 들면 데이터 기록(12345, xyz.com , 123.234.345)은 아이덴티파이어 d10일 수 있다. 따라서 익셉션 아이덴티파이어는 d10일 수 있다. 각각의 익셉션은 하나 또는 많은 익셉션(또는 디스크레펀시) 타입에 따라 분류될 수 있다. 익셉션 리스트 는 익셉션 아이덴티파이어가 속하는 익셉션의 형태를 포함하도록 작성될 수 있다. 익셉션 리스트와 서로 다른 익셉션 형태는 후에 상술하기로 한다. 시스템은 이벤트 아이덴티파이어와 기록의 아이덴티파이어가 결합되는 곳에서 각각의 이벤트의 업데이트를 포함하는 이벤트 아이덴티파이어와 결합(1015)될 수 있다. 예를 들면 데이터 레코드 (12345, xyz.com , 123.234.345)는 아이덴티파이어 d10을 지닐 수 있다. 따라서 이벤트 아이덴티파이어는 d10일 수 있다. 업데이트상의 각각의 이벤트는 이벤트 히스토리로부터 발견된다. 이벤트 히스토리는 리스팅이고 이것은 일정한 시간동안 로컬 데이터베이스 속에 기록된 이벤트 등이다. 이벤트 히스토리는 추후 상술할 것이다.
시스템은 만약 기록의 업데이트가 유효한 지를 결정(1020)한다. 도 10B는 유효화 결정의 실시태양을 나타낸 플로우 차트이다. 이와 같은 결정은 다음과 같이 행해진다. 각각의 이벤트는 각각의 익셉션과 비교(1022)한다. 만약 익셉션이 이벤트에 의해 정당화(1024)된다면 업데이트는 유효한 것으로 지시(1026)된다. 또한 업데이트는 원격 데이터베이스에 적용될 수 있는 것이다. 한편 만약 각각의 익셉션이 이벤트에 의해 정당화되지 않는다(1024)면 업데이트는 유효하지 않은 것으로 지시(1028)되고 익셉션은 에러로 로그된다. 익셉션은 이벤트 아이덴티파이어가 익셉션 아이덴티파이어와 상응할 때 및 관련된 이벤트와 익셉션 타입에 관련된 이벤트의 서열이 유효하게 상응할 때 정당화 되는 것이다. 유효한 서열은 추후 상술할 것이다. 만약 익셉션이 정당화되면 시스템은 익셉션 리스트로부터 익 셉션 아이덴티파이어를 제거시킨다. 정당화된 익셉션은 디스크레펀시가 유효한 것으로 지시되고 예를 들면 원격 데이터베이스는 업데이트를 수령하지 않았고 업데이트를 수령할 때 로컬 데이터베이스가 진정하게 매치될 것이다.
유효화 기간동안 시스템은 주기적으로 초기화 업데이트의 잠재적인 에러와 폴트를 아이덴티파이한다. 시스템은 이러한 업데이트가 구조적으로 정확하고 이러한 업데이트는 익셉션의 생성없이 성공적으로 적용되며 그렇지 않으면 로컬 및 원격 데이터베이스간에 차이를 통해 정확하게 에러를 감지할 수 있고 고도의 프로파일 데이터는 우연하게 삭제되지 않는다는 것을 명확히 인식 시킬 수 있는 것이다. 또한 시스템은 주기적 초기화 업데이트가 원격 데이터베이스에 성공적으로 적용되는 것을 확신시킬 수 있다.
많은 에러는 유효화 기간동안 원격 데이터베이스의 업데이트 시도를 통해 발견될 것이다. 예를 들면 데이터-센트릭 에러 원격데이터베이스에 존재하는 객관적인 경고 또는 외부 아이덴티파이어 침해에 의한 경고 등이 이러한 시도를 통해 발견될 것이다. 그러므로 본 발명의 유효화 실시태양을 수행한 후에 시스템은 원격 데이터베이스에 이와 같은 업데이트를 적용하도록 시도될 수 있는 것이다. 시도는 업데이트를 무효화 할수 있는 추가적 에러를 지니는 경우에 실패할 수 있다. 따라서 원격 데이터베이스에 이러한 업데이트의 적용은 더 이상 시도할 필요가 없어진다.
선택적인 실시태양에서 유효화 수행이전에 적어도 하나의 업데이트를 적용하는 시도가 가능하다. 만약 시도가 실패한다면 유효화는 스킵되며 업데이트는 버려질 것이다. 한편 만약 시도가 성공한다면 유효화를 수행하고 유효한 업데이트는 유지되고 유효하지 않은 업데이트는 디스크레펀시로 로그된다.
예시적인 실시태양에서 OLTP(140)은 센드파일(300)과 초기화 센드파일(310)을 유효화 시키고 이는 센드파일(300)과 초기화 센드파일(310)이 원격 데이터베이스(210)에 성공적으로 적용시킬 수 있는 것이다.
선택적인 실시태양에서 네트워크 컴퓨터(121), LUE(100) 또는 이들의 결합 시스템은 유효화를 위해 사용될 수 있다.
도 10A를 참조하여 OLTP(140)은 로컬 데이터베이스(200)와 원격 데이터베이스(210)간에 존재하는 익셉션(또는 디스크레펀시)를 결정하기 위해 비교된다. 익셉션은 세 가지 형태를 포함한다. 원격 데이터베이스(210)의 데이터가 로컬 데이터베이스(200)에 존재하지 않는 경우, 로컬 데이터베이스(200)의 데이터가 원격 데이터베이스(210)에 존재하지 않는 경우 로컬 데이터베이스(200)과 원격 데이터베이스(210)에 존재하는 상응하는 데이터가 서로 다른 경우 등이다. 물론 로컬 데이터베이스(200)과 원격 데이터베이스(210)의 상응하는 데이터가 서로 동일하다면 이 경우 데이터는 신뢰할 수 있는 것으로 인정되고 OLTP(140)에 더 이상의 프로세스를 할 필요는 없다.
디스크레펀시는 레코드 상의 하나 또는 그 이상의 데이터 밸류 또는 전체 레코드로 언급될 수 있는 것으로 이해될 것이다.
따라서 OLTP(140)는 로컬 데이터베이스(200)과 원격 데이터베이스(210)에 상응하는 레코드를 비교(1000)한다. OLTP(140)은 원격 데이터베이스(210)의 기록과 로컬 데이터베이스(200)의 기록 상에 디스크레펀시를 기록하는 익셉션을 생성(1005)한다. 이 때 익셉션은 각각의 디스크레펀시에 따라 생성되는 것이다. OLTP(140)은 각각의 익셉션과 함께 익셉션 아이덴티파이어를 결합(1010)시킨다. 이때 익셉션 아이덴티파이어는 레코드의 아이덴티파이어와 결합되는 것이다. 익셉션 리스트는 익셉션 타입이 속하는 익셉션을 위한 익셉션 아이덴티파이어와 익셉션 타입을 포함하도록 형성되어 있다. 실시태양에서 익셉션은 만약 첫 번째 익셉션 타입에 속한다면 'List 1'익셉션(또는 디스크레펀시)로 지시될 수 있다. 한편 만약 두 번째 익셉션 타입에 속한다면 'List 2'로 지시될 수 있고, 만약 세 번째 익셉션 타입에 속한다면 'List 3'로 지시될 수 있다. 도 11은 익셉션 리스트(1140)의 예시를 나타낸 것이다.
익셉션 리스트 위에 익셉션 아이덴티파이어의 존재는 센드파일(300) 또는 초기화 센드파일(310)이 잘못되었다는 것을 의미하는 것은 아니다. 그 이유는 예를 들면 모두 세 개 타입의 익셉션은 적절하게 발생될 수 있으며 이는 로컬 데이터베이스(200)의 변화와 원격 데이터베이스(210)의 업데이트 적용간의 시간적 지연에 기인할 수 있기 때문이다. 이와 같은 지연은 네트워크의 복잡에 의한 것일 수 있고 따라서 잘못된 데이터로부터 레지티메이트를 제거하기 위한 메카니즘을 부여하여 유효화 시킬 수 있다.
초기화 센드파일(310)을 위해 OLTP(140)은 데이터베이스(200,210) 모두를 이중 방향으로 모든 테이블 스캔을 수행함으로써 로컬 데이터베이스(200)과 원격 데이터베이스(210)을 비교할 수 있다. 이것은 로컬 데이터베이스(200)의 모든 데이터는 원격 데이터베이스(210)의 모든 데이터와 비교될 수 있는 것이다. 그러므로 원격 데이터베이스(210)의 모든 데이터는 로컬 데이터베이스(200)의 모든 데이터와 비교한다. 이는 모든 디스크레펀시를 발견하기 위해 데이터베이스(200,210)의 전체적인 비교를 제공하는 것이다.
센드파일(300)을 위해 OLTP(140)은 센드파일(300)에 기록된 로컬 데이터베이스(200)과 원격 데이터베이스(210)의 데이터 레코드 만을 비교할 수 있다. 이것은 목적 디스크레펀시를 발견할 수 있는 신속한 퀘어리를 제공하는 것이다.
선택적으로 초기화 센드파일(310)과 센드파일(300)의 랜덤 셈플링에 대한 데이터의 비교를 행할 수 있다. OLTP(140)은 이때 로컬 데이터베이스(200)과 원격 데이터베이스(210)의 랜덤하게 셈플링된 데이터만을 비교하는 것이다.
익셉션 리스트(1140)은 미싱 이벤트 예를 들면 원격 데이터베이스(210)과 불일치하는 로컬 데이터베이스(200)위에 추가(add), 수정(mod), 삭제(del)등의 미싱 이벤트에 상응하는 것이다. 그러므로 이와 같은 후보 이벤트를 확인하기 위해 OLTP(140)은 로컬 데이터베이스(200)에 언급된 최근의 트랜스액션을 심사한다. 일반적으로 각각 언급된 트랜스액션을 위해 로컬 데이터베이스(200)에 저장된 로그 테이블에 엔트리를 정할 수 있다. 이와 같은 엔트리는 변화된 기록의 아이덴티파이어, 레코드의 변화(예를 들면 추가,수정,삭제 이벤트)의 트랜스액션(또는 이벤트), 트랜스액션을 오더링하기 위해 지적되는 로그 시퀀스의 수 등을 포함할 수 있다.
예시적인 로그 테이블(1100)이 도 11에 나타나 있다. 이와 같은 예시에서 센드파일(300)은 로그 테이블(1100)에 나타난 트랜스액션(1108-1114)을 포함한다. 첫 번째 엔트리(1101)은 첫 번째 트랜스액션 (1108) 중에서 데이터(네임서버) n1 및 n2가 아이덴티파이어 d1에 결합된 데이터(도메인)를 추가하는 것을 표시한다. 그러므로 아이덴티파이어는 d1이고 이벤트는 추가되며 로그 시퀀스 번호는 11526이다. 이와 유사하게 두 번째 엔트리(1102)는 두 번째 트랜스액션 (1109) 중에서 데이터 n8 및 n9가 아이덴티파이어 d2에 결합된 데이터를 추가하는 것을 표시한다. 세 번째 엔트리(1103)은 세 번째 트랜스액션(1110) 중에서 아이덴티파이어 d3에 결 합된 데이터를 삭제하는 것을 표시한다. 네 번째 엔트리(1104)은 네 번째 트랜스액션(1111) 중에서 아이덴티파이어 d1에 결합된 데이터를 데이터 n5에 추가시켜 수정하는 것을 표시한다. 다섯 번째 엔트리(1105)는 다섯 번째 트랜스액션(1112)를 위해 아이덴티파이어 d3에 결합된 데이터를 데이터 n6 및 n7에 추가하는 것을 표시한다. 여섯 번째 엔트리(1106)은 아이덴티파이어 d4와 결합된 데이터를 데이터 n3에 삭제시켜 수정하는 것을 표시한다. R번째 엔트리(1107)은 R번째 트랜스액션(1114) 중에서 아이덴티파이어 d5와 결합된 데이터를 삭제시키는 것을 표시한다.
따라서 도10A에 나타난 바와 같이, OLTP(140)은 업데이트된 각각의 이벤트의 이벤트 아이덴티파이어와 결합(1015)된다. 이 곳에서 이벤트 아이덴티파이어는 레코드의 아이덴티파이어와 결합되는 것이다. 업데이트된 각각의 이벤트는 이벤트 히스토리로부터 발견된다. 이벤트 히스토리 , 이벤트 아이덴티파이어에 의한 인덱스와 오더는 로그 테이블(1100)으로부터 생성된다. 예시적 이벤트 히스토리(1120)은 도11에 나타나 있다. 여기에 로그테이블(1100) 속에 첫 번째(1101) 및 네 번째 엔트리(1104)는 아이덴티파이어 d1과 결합된 데이터의 변화를 표시한다. 그러므로 이벤트 히스토리(1120)은 d1 아이덴티파이어(1121)과 두 개의 이벤트(1126)을 포함하는 것으로 첨가후 수정이 아이덴티파이어 d1에 결합된 데이터 상에서 이루어짐을 포함하는 것이다. 두 번째 엔트리(1102)는 아이덴티파이어 d2와 결합된 데이터의 변화를 포함한다. 그러므로 이벤트 히스토리(1120)은 d2 아이덴티파이어(1122)와 추가 이벤트(1127)을 포함한다. 이벤트 히스토리(1120)은 d3 아이덴티파이어(1123)과 두 개의 이벤트 삭제와 첨가가 이루어진다. 지시적인 세 번째(1103) 및 다섯 번째 엔트리(1105)는 아이덴티파이어 d3과 결합된 데이터의 변화를 나타내는 것을 포함하는 것이다. 여섯 번째 엔트리(1106)은 아이덴티파이어 d4와 결합된 데이터의 변화를 지시한다. 따라서 이벤트 히스토리(1120)은 d4 아이덴티파이어(1124)와 수정 이벤트(1129)를 포함하는 것이다. R번째 엔트리(1107)은 d5 아이덴티파이어와 결합된 데이터의 변화를 지시하고 이벤트 히스토리(1120)은 d5 아이덴티파이어(1125)와 삭제이벤트(1130)을 포함한다. 아이덴티파이어(1121- 1125)는 d1으로부터 d5까지 오더되는 것이다.
도 10A를 참조하여 OLTP(140)은 업데이트가 유효한지를 결정(1020)한다. 이와 같은 결정은 예를 들면 도10B에 나타난 실시태양에 따라 수행된다. 먼저 OLTP(140)은 이벤트 아이덴티파이어(1121-1125)를 익셉션 아이덴티파이어(1140)와 이들 아이덴티파이어가 일치하는지를 결정하기 위한 비교(1022)를 행한다. 예를 들면 도 11에 있어서 이벤트 히스토리(1120) 속에 아이덴티파이어 d1(1121)은 익셉션 리스트(1140)의 List 2의 익셉션 아이덴티파이어 d1과 상응한다. 이벤트와 익셉션의 상응을 확인한 후에 OLTP(140)은 만약 이벤트가 익셉션을 정당화시킨다면 결정(1024)한다. 이와 같은 정당화 과정은 다음과 같은 방법에 따른다. 이벤트 히스토리(1120)속에 각각의 이벤트 아이덴티파이어(1121-1125)를 위해 OLTP(140)은 이벤트 히스토리(1120)속에 이벤트(1126-1130)의 각각의 순서가 유효한지 여부를 결정한다. 이것은 예를 들면 다음과 같은 절차를 요구한다. 익셉션 타입을 위한 이벤트의 유효한 순서를 결정하는 것, 상응하는 이벤트 아이덴티파이어를 위한 이벤트 히스토리(1120)과 이벤트의 이벤트 아이덴티파이어 시퀀스를 조사하는 것이다. 각각의 익셉션 타입의 유효 순서는 이하 설명한다. 이벤트 히스토리(1120) 속에 이벤트 순서(1126-1130)가 유효한 순서와 매치된다면 상응하는 이벤트 아이덴티파이어 (1121-1125)는 유효한 순서이다. 이와 같이 익셉션 아이덴티파이어와 결합된 익셉션은 정당화될 수 있다. 그리고 이벤트 아이덴티파이어를 포함하는 상응하는 트랜스액션(1108-1114)는 적법한 것이며 에러가 없는 것이다. 이와 같은 경우 OLTP(140)은 익셉션 리스트(1140)으로부터 익셉션 아이덴티파이어를 제거시킨다.
익셉션 타입의 List 1의 유효한 이벤트 순서는 (mod)*(del)이다. 이와 같은 순서는 없거나 존재하는 'mod'이벤트와 이에 따른 'del'이벤트를 포함하는 것이다. 'List 1'의 익셉션 타입은 원격 데이터베이스(210)에 존재하는 데이터와 상응한다. 그러나 로컬 데이터베이스(200)은 아니다. 이와 같은 경우 데이터는 로컬 데이터베이스(200)으로부터 최근 삭제되며 트랜스액션은 센드파일(300)에 아직 쓰여지지 않는다. 그러므로 센드파일(300)은 원격 데이터베이스(210)에 아직 적용되지 않는다. 그러므로 데이터는 원격 데이터베이스(210)에 아직 존재하는 것이다. 이것은 적법한 디스크레펀시로 여겨진다. 왜냐하면 같은 포인트에서 센드파일(300)은 원격 데이터베이스(210)에 생성되거나 적용되도록 예측되기 때문 이다. 그러므로 이와 같은 순서(1126-1130)가 익셉션 리스트(1140)의 List 1속에 익셉션 아이덴티파이어를 위한 이벤트 히스토리(1120)속에 발견된다면 상응하는 트랜스액션은 유효한 것으로 간주되는 것이다.
예를 들면 도 11에 있어서 d5 아이덴티파이어(1125)와 이와 관련된 데이터는 이벤트 히스토리(1120) 속에 인덱스된 로그테이블(1100)의 R번째 엔트리(1114)에 나타난 바와 같이 로컬 데이터베이스(200)으로부터 삭제되는 것이다. 유효화 하는 시기에 d5는 로컬 데이터베이스(200)으로부터 삭제되나 원격 데이터베이스(210)으로부터 삭제되지는 않는다. 그러므로 익셉션 리스트(1140)은 List 1 속에 아이덴티파이어 d5를 포함한다. 이벤트 히스토리(1120)에 따라 d5 아이덴티파이어(1125)와 결합된 이벤트(1130)은 'del'이다. OLTP(140)는 익셉션 타입의 List 1 의 유효한 순서를 비교한다. 예를 들면 이벤트 히스토리(1120)속에 d5 이벤트(1130)을 거슬리는 (mod)*(del) 등을 들 수 있다. List 1은 유효한 순서이고 이벤트(1130)과 매치되기 때문에 아이덴티파이어 d5와 결합된 삭제 트랜스액션(1114)는 적법하고 에러가 아닌 것으로 간주된다. 따라서 아이덴티파이어 d5는 익셉션 리스트(1140)으로부터 제거된다.
List 2 익셉션 타입을 위한 유효한 순서의 이벤트는 (add) 일 수 있다. 이 순서는 'add' 이벤트 뒤에 어느 것이 오는 지를 포함하는 것이다. 'List 2' 익셉션 타입은 로컬 데이터베이스(200)에 존재하는 데이터와 일치하나 원격 데이터베이 스(210)과는 다르다. 이 경우에 있어서 데이터는 로컬 데이터베이스(200)에 최근 첨가되었고 트랜스액션은 센드파일(300)에 아직 기재되지 않았다. 그러므로 센드파일(300)은 원격 데이터베이스(210)에 아직 적용되지 않은 것이다. 그러므로 원격 데이터베이스(210)에는 존재하지 않는 것이다. 이것은 정당한 디스크레펀시로 여겨질 것이며 그 이유는 약간의 포인터 센드파일(300)이 원격 데이터베이스(210)에 생성되고 적용될 것으로 예견되기 때문이다. 따라서 만약 이와 같은 순서(1126-1130)이 익셉션 리스트(1140)의 List 2에 익셉션 아이덴티파이어를 위한 이벤트 히스토리(1120) 속에서 발견되며 상응하는 트랜스액션은 유효한 것으로 여겨지는 것이다.
도 11을 참조하여 d2 아이덴티파이어(1121,1123)은 최초 로컬 데이터베이스(200)에 첨가된 데이터와 결합될 수 있다. 이벤트의 순서(1126,1127)이 'add' 이벤트로 시작하기 때문에 d1과 d2 아이덴티파이어(1121, 1123)은 List 2 익셉션 타입을 위한 유효한 순서에 매치된다. 따라서 이 아이덴티파이어를 포함하는 트랜스액션(1108,1109)는 유효한 것으로 간주되고 아이덴티파이어 d1 및 d2는 익셉션 리스트(1140)로부터 제외된다. d3 아이덴티파이어(1123)은 그 순서(1128) 속에 'add' 이벤트를 포함하고 있음을 주목하라. 그러나 'add' 이벤트는 순서(1128) 속에 첫 번째 것은 아니다. 따라서 순서(1128)은 List 2 타입으로 자격을 주는 것은 아니다. 덧붙여 d3 는 익셉션 리스트(1140)의 List 2에 지시되지 않았기 때문에 OLTP(140)은 이것을 List 2 유효한 순서로 체크하지 않는 다.
'List 3' 익셉션 타입을 위한 유효한 이벤트 순서는 (del)(add) 또는 (mod)이다. 이 순서는 'del' 이벤트 뒤에 'add'이벤트나 'mod'이벤트가 따라오는 것을 포함한다. List 3 익셉션 타입은 데이터베이스(200,210) 모두에 존재하는 데이터와 상응하나 다른 것이다. 이 경우에 있어서 데이터는 로컬 데이터베이스(200)에 최근 수정되고 트랜스액션은 센드파일(300)에 아직 쓰여지지 않을 수 있다. 그러므로 센드파일(300)은 원격 데이터베이스(210)에 아직 적용되지 않을 수 있는 것이다. 그러므로 아이덴티파이어와 결합된 데이터는 원격 데이터베이스(210) 속에서 아직 수정되지 않은 것이다. 또한 이것은 어떤 시점에서 센드파일(300)이 원격 데이터베이스(210)에 적용되거나 생성될 것을 예측하고 있기 때문에 적법한 디스크레펀시로 간주되는 것이다. 따라서 만약 이와 같은 순서(1126-1130)이 익셉션 리스트(1140)의 List 3 익셉션 아이덴티파이어를 위한 이벤트 히스토리(1120) 속에서 발견된다면 상응하는 트랜스액션은 유효한 것으로 간주되는 것이다.
예를 들면 도 11에 있어서 d3 및 d4 아이덴티파이어(1123,1124)는 로컬 데이터베이스(200)에 수정된 데이터와 결합되어 있다. d3 아이덴티파이어(1123)인 경우, d3 아이덴티파이어(1123)과 그 데이터가 최초로 삭제되고 새로운 데이터가 다시 추가되며, 이벤트(1128)의 순서는 'del' 과 'add'를 포함하는 순서이다. d4 아이덴티파이어(1124)인 경우에는 d4 데이터는 삭제 데이터로 수정되며 이는 이벤 트(1129)의 순서가 'mod'를 포함하기 때문이다. 이벤트의 순서(1128,1129)가 익셉션 타입 List 3을 위한 유효한 순서와 매치되기 때문에 그의 상응하는 트랜스액션(1110, 1112, 1113)은 유효한 것으로 인정되고 아이덴티파이어 d3과 d4는 익셉션 리스트(1140)으로부터 제거된다.
도 10B를 참조하여 익셉션 리스트(1140) 속에 그들의 아이덴티파이어에 의해 지시된 모든 익셉션은 이벤트에 의해 정당화(1024)된다. 예를 들면 만약 익셉션 리스트(1140)이 비어 있는 경우, OLTP(140)은 센드파일(300) 또는 초기화 센드파일(310)을 유효한 것으로 지시(1026)할 것이고 원격 데이터베이스(210)에 센드파일(300) 또는 초기화 센드파일(310)을 적용시킬 것을 LUE(100)에 통보한다. LUE(100)은 원격 데이터베이스(210)에 센드파일(300) 또는 초기화 센드파일(310)을 적용할 수 있다.
이와는 반대로 만약 모든 익셉션 들이 이벤트에 의해 정당화되지 않는다면(1024) 예를 들면 익셉션 리스트(1140)은 비어있지 않으며 남아있는 익셉션은 센드파일(300) 또는 초기화 센드파일(310)속에 에러를 지시하는 경우이다. 따라서 OLTP(140)은 센드파일(300) 또는 초기화 센드파일(310)이 유효하지 않음을 지시하고(1028) 에러파일 속에 에러를 로그시킨다.
선택적 실시태양에서 예를 들면 만약 이미 지정된 시간 후에, 센드파일(300) 또는 초기화 센드파일(310)이 유효하지 않은 것으로 지시된다면, OLTP(140)은 유효하지 않은 센드파일(300) 또는 초기화 센드파일(310)을 위에 디스크레펀시가 실지로 에러임을 확신시키기 위해 유효화 과정을 반복한다. 이와 같은 미리 결정된 지연은 센드파일(300, 310)과 데이터베이스(200,210)의 늦은 전송보다 더 많은 시간을 네트워크에 요하며 리드-콘시스턴트한 것이다.
본 발명의 실시태양에서 원격 데이터베이스(210)의 데이터는 중요한 시점에 의해 로컬 데이터베이스(200)에 데이터를 래그시킬 수 있다. 따라서 데이터베이스(200,210)를 비교하고 에러를 찾기 위해서 데이터베이스(200,210)을 서로서로 동일한 카피가 되는 특정 시점에 리드-콘시스턴트 할 것이다. 일반적으로 원격 데이터베이스(210)은 로컬 데이터베이스(200)을 향하여 로울되며 여기서 원격 데이터베이스(210)속의 데이터는 로컬 데이터베이스(200)속의 데이터와 본질적으로 동일한 것이다.
따라서, 유효화를 신속히 하기 위해 어떤 현재 생성된 초기화 센드파일(310)과 후속하는 센드파일(300)은 유효화 시기 이전에 원격 데이터베이스(210)에 적용될 수 있다. 이와 같이 디스크레펀시의 수는 현격히 줄어든다. 센드파일(300,310)의 배취 프로세싱은 천킹(chunking)이라 불리운다. 천크 속에 첫 번째 및 마지막 센드파일(300,310)은 각각 낮고 높은 워터마크를 칭한다. 첫 번째 천크, 초기 천크라 칭하는 것은 초기화 센드파일(310)을 포함한다. 모든 그 후의 천크는 터미널 천크로 불리우고 오직 센드파일(300)만을 포함한다.
천킹은 단독 유효화가 아닌 그룹 유효화를 위해 제공되는 것이다. 따라서 만약 에러가 천크 속에서 감지된다면 전체 천크는 유효하지 않은 것으로 지시되며 오직 센드파일(300) 또는 초기화 센드파일(310) 뿐만 아니라 어느 곳에서도 에러는 발생할 수 있는 것이다.
본 발명의 실시태양에 따른 메카니즘과 방법은 이와 같은 실시태양의 가르침에 따라 일반적 목적의 마이크로프로세서 프로그램의 수행을 위해 사용될 수 있다. 본 발명의 실시태양은 따라서 지시를 포함하는 기계가 판독할 수 있는 매체를 포함하며 이는 본 발명의 실시태양에 따른 방법을 수행함으로써 프로세서의 프로그램을 사용할 수 있을 것이다. 이와 같은 매체는 특히 한정되지 않으나 플로피디스크, 광디스크 및 CD 롬 등이다.
본 발명의 여러 가지 실시태양은 여기에 설명하고 도시한 바와 같다. 그러나 본 발명은 다양한 변형과 모디피케이션이 가능하고 본 발명의 정신을 벗어나지 않는다면 첨부하는 클레임의 목적 내에서 변형이 가능한 것이다.


Claims (34)

  1. 적어도 하나의 트랜스액션을 지니는 점진적인 변화에 기인하는 다수의 주기적 업데이트를 로컬 데이터베이스에 생성시키는 단계; 네트워크 기반 위에 다수의 주기적 업데이트를 원격 데이터베이스에 전송하는 단계를 포함하는 네트워크 기반 위에 원격 데이터베이스를 업데이트 시키는 방법에 있어서, 상기 다수의 주기적 업데이트의 생성은 스타트 타임에 로컬 데이터베이스의 버전을 포함하는 초기화 업데이트를 생성시키는 단계; 스타트 타임에 기반을 둔 다수의 주기적 업데이트의 마지막 주기적 업데이트를 결정하는 단계; 스타트 타임에 기반을 둔 마지막 트랜스 액션을 결정하는 단계; 및 네크워크 기반 위에 원격 데이터베이스에 초기화 업데이트, 최종 주기적 업데이트 아이덴티파이어 및 최종 트랜스액션 아이덴티파이어를 전송하는 단계를 포함함을 특징으로 하는 원격 데이터베이스를 업데이트 시키는 방법
  2. 제 1항에 있어서, 상기 초기화 업데이트를 전송하는 단계는 최종 주기적 업데이트 아이덴티파이어와 최종 주기적 업데이트를 결합하는 단계; 최종 트랜스액션 아이덴티파이어와 최종 트랜스액션을 결합하는 단계로 구성되어 있음을 특징으로 하는 방법
  3. 제 1항에 있어서, 상기 다수의 주기적 업데이트는 규칙적 또는 불규칙적 시간 간격에 생성됨을 특징으로 하는 방법
  4. 제 1항에 있어서, 상기 초기화 업데이트 생성의 스타트 타임은 주기적 업데이트 생성의 스타트 타임과 동일함을 특징으로 하는 방법
  5. 제 1항에 있어서, 상기 초기화 업데이트 생성의 스타트 타임은 주기적 업데이트 생성의 스타트 타임 이후 임을 특징으로 하는 방법
  6. 제 1항에 있어서, 상기 주기적 업데이트는 고유한 트랜스액션 아이덴티파이어를 지니는 다수의 트랜스액션을 포함함을 특징으로 하는 방법
  7. 적어도 하나의 트랜스액션을 지니는 점진적인 변화에 기인하는 다수의 주기적 업데이트를 로컬 데이터베이스에 수령하는 단계; 네트워크 기반 위에 스타트 타임에서 로컬 데이터베이스의 버전을 포함하는 초기화 업데이트를 수령하는 단계; 초기화 업데이트로부터 최종 주기적 업데이트 아이덴티파이어를 판독하는 단계; 초기화 업데이트로부터 최종 트랜스액션 아이덴티파이어를 판독하는 단계; 최종 주기적 업데이트는 스타트 타임 기반에 의한 것인 최종 주기적 업데이트 아이덴티파이어로부터 최종 주기적 업데이트를 결정하는 단계; 최종 트랜스액션은 스타트 타임 기반에 의한 것인 최종 트랜스액션 아이덴티파이어로부터 최종 트랜스액션을 결정하는 단계; 최종 트랜스액션 이후에 생성된 트랜스액션을 원격 데이터베이스에 적용하는 단계; 및 최종 주기적 업데이트 이후에 생성된 주기적 업데이트를 원격 데이터베이스에 적용하는 단계를 포함하는 네트워크 기반 위에 원격 데이터베이스를 업데이트 하는 방법
  8. 제 7항에 있어서, 초기화 업데이트의 스타트 타임이전에 생성된 주기적 업데이트를 버리는 단계를 더욱 포함함을 특징으로 하는 방법
  9. 제 7항에 있어서, 다수의 주기적 업데이트는 주기적 시간 간격으로 일정 시간에 수령하는 것을 특징으로 하는 방법
  10. 제 7항에 있어서, 다수의 주기적 업데이트는 주기적 시간 간격에 배취로 수령하는 것을 특징으로 하는 방법
  11. 제 7항에 있어서, 주기적 업데이트는 다수의 트랜스액션을 포함하고 다수의 트랜스액션 각각은 고유의 트랜스액션 아이덴티파이어를 지님을 특징으로 하는 방법
  12. 적어도 하나의 트랜스액션을 지니는 점진적인 변화에 기인하는 다수의 주기적 업데이트를 로컬 데이터베이스에 생성시키는 단계; 스타트 타임 전에 생성된 마지막 주기적 업데이트와 관련된 업데이트 아이덴티파이어, 스타트 타임 전에 언급된 마지막 트랜스액션에 관련된 트랜스액션 아이덴티파이어, 스타트 타임에 로컬 데이터베이스의 버전을 포함하는 초기화 업데이트를 생성시키는 단계; 및 네크워크 기반 위에 원격 데이터베이스에 초기화 업데이트, 최종 주기적 업데이트 아이덴티파이어 및 최종 트랜스액션 아이덴티파이어를 전송하는 단계를 포함하는 네트워크 기반위에 원격 데이터베이스를 업데이트 시키는 방법
  13. 제 12항에 있어서, 상기 다수의 주기적 업데이트는 규칙적인 시간 간격에 의해 생성됨을 특징으로 하는 방법
  14. 제 12항에 있어서, 상기 다수의 주기적 업데이트는 불규칙적인 시간 간격에 의해 생성됨을 특징으로 하는 방법
  15. 제 12항에 있어서, 초기화 업데이트 생성의 스타트 타임은 주기적 업데이트 생성의 스타트 타임과 동일함을 특징으로 하는 방법
  16. 제 12항에 있어서, 초기화 업데이트 생성의 스타트 타임은 주기적 업데이트 생성의 스타트 타임 이후 임을 특징으로 하는 방법
  17. 적어도 하나의 네트워크와 결합된 프로세서; 네트워크 기반 위에서 원격 데이터베이스를 업데이팅 하기 위한 방법을 수행하기 위한 프로세서에 의해 수행되어지는 로컬 데이터베이스와 인스트럭션을 지닌 메모리로서 프로세서와 결합된 메모리로 구성된 네트워크 기반 위에 원격 데이터베이스를 업데이트 하기 위한 시스템에 있어서, 상기 업데이트 방법은 적어도 하나의 트랜스액션을 지니는 점진적인 변화에 기인하는 다수의 주기적 업데이트를 로컬 데이터베이스에 생성시키는 단계; 네트워크 기반 위에 다수의 주기적 업데이트를 원격 데이터베이스에 전송하는 단계로 구성되며, 상기 다수의 주기적 업데이트의 생성은 스타트 타임에 로컬 데이터베이스의 버전을 포함하는 초기화 업데이트를 생성시키는 단계; 스타트 타임에 기반을 둔 다수의 주기적 업데이트의 마지막 주기적 업데이트를 결정하는 단계; 스타트 타임에 기반을 둔 마지막 트랜스 액션을 결정하는 단계; 및 네크워크 기반 위에 원격 데이터베이스에 초기화 업데이트, 최종 주기적 업데이트 아이덴티파이어 및 최종 트랜스액션 아이덴티파이어를 전송하는 단계를 포함함을 특징으로 하는 원격 데이터베이스를 업데이트 시키는 시스템
  18. 제 17항에 있어서, 상기 초기화 업데이트를 전송하는 단계는 최종 주기적 업데이트 아이덴티파이어와 최종 주기적 업데이트를 결합하는 단계; 최종 트랜스액션 아이덴티파이어와 최종 트랜스액션을 결합하는 단계로 구성되어 있음을 특징으로 하는 시스템
  19. 제 17항에 있어서, 상기 다수의 주기적 업데이트는 규칙적 또는 불규칙적 시간 간격에 생성됨을 특징으로 하는 시스템
  20. 제 17항에 있어서, 상기 초기화 업데이트 생성의 스타트 타임은 주기적 업데이트 생성의 스타트 타임과 동일함을 특징으로 하는 시스템
  21. 제 17항에 있어서, 상기 초기화 업데이트 생성의 스타트 타임은 주기적 업데이트 생성의 스타트 타임 이후 임을 특징으로 하는 시스템
  22. 제 17항에 있어서, 상기 주기적 업데이트는 고유한 트랜스액션 아이덴티파이어를 지니는 다수의 트랜스액션을 포함함을 특징으로 하는 시스템
  23. 적어도 하나의 네트워크와 결합된 프로세서; 네트워크 기반 위에서 원격 데이터베이스를 업데이팅 하기 위한 방법을 수행하기 위한 프로세서에 의해 수행되어지는 로컬 데이터베이스와 인스트럭션을 지닌 메모리로서 프로세서와 결합된 메모리로 구성된 네트워크 기반 위에 원격 데이터베이스를 업데이트 하기 위한 시스템에 있어서, 상기 업데이트 방법은 적어도 하나의 트랜스액션을 지니는 점진적인 변화에 기인하는 다수의 주기적 업데이트를 로컬 데이터베이스에 수령하는 단계; 네트워크 기반 위에 스타트 타임에서 로컬 데이터베이스의 버전을 포함하는 초기화 업데이트를 수령하는 단계; 초기화 업데이트로부터 최종 주기적 업데이트 아이덴티파이어를 판독하는 단계; 초기화 업데이트로부터 최종 트랜스액션 아이덴티파이어를 판독하는 단계; 최종 주기적 업데이트는 스타트 타임 기반에 의한 것인 최종 주기적 업데이트 아이덴티파이어로부터 최종 주기적 업데이트를 결정하는 단계; 최종 트랜스액션은 스타트 타임 기반에 의한 것인 최종 트랜스액션 아이덴티파이어로부터 최종 트랜스액션을 결정하는 단계; 최종 트랜스액션 이후에 생성된 트랜스액션을 원격 데이터베이스에 적용하는 단계; 및 최종 주기적 업데이트 이후에 생성된 주기적 업데이트를 원격 데이터베이스에 적용하는 단계를 포함하는 네트워크 기반 위에 원격 데이터베이스를 업데이트 하는 시스템
  24. 제 23항에 있어서, 초기화 업데이트의 스타트 타임이전에 생성된 주기적 업데이트를 버리는 단계를 더욱 포함함을 특징으로 하는 시스템
  25. 제 23항에 있어서, 다수의 주기적 업데이트는 규칙적 또는 불규칙적 주기적 시간 간격에 일정 시간에 수령하는 것을 특징으로 하는 시스템
  26. 제 23항에 있어서, 다수의 주기적 업데이트는 규칙적 또는 불규칙적 주기적 시간 간격에 배취로 수령하는 것을 특징으로 하는 시스템
  27. 제 23항에 있어서, 주기적 업데이트는 다수의 트랜스액션을 포함하고 다수의 트랜스액션 각각은 고유의 트랜스액션 아이덴티파이어, 랜덤 오더의 트랜스액션 아이덴티파이어를 지님을 특징으로 하는 시스템
  28. 적어도 하나의 트랜스액션을 지니는 점진적인 변화에 기인하는 다수의 주기적 업데이트를 로컬 데이터베이스에 생성시키는 단계; 네트워크 기반 위에 다수의 주기적 업데이트를 원격 데이터베이스에 전송하는 단계를 포함하고 이때, 상기 다수의 주기적 업데이트의 생성은 스타트 타임에 로컬 데이터베이스의 버전을 포함하는 초기화 업데이트를 생성시키는 단계; 스타트 타임에 기반을 둔 다수의 주기적 업데이트의 마지막 주기적 업데이트를 결정하는 단계; 스타트 타임에 기반을 둔 마지막 트랜스 액션을 결정하는 단계; 및 네크워크 기반 위에 원격 데이터베이스에 초기화 업데이트, 최종 주기적 업데이트 아이덴티파이어 및 최종 트랜스액션 아이덴티파이어를 전송하는 단계를 포함하는 원격 데이터베이스를 업데이트 시키는 방법을 수행시킬 수 있는 프로세서에 의해 수행되어지는 프로그램 인스트럭션을 포함하는 기계가 판독 가능한 매체
  29. 적어도 하나의 트랜스액션을 지니는 점진적인 변화에 기인하는 다수의 주기적 업데이트를 로컬 데이터베이스에 수령하는 단계; 네트워크 기반 위에 스타트 타임에서 로컬 데이터베이스의 버전을 포함하는 초기화 업데이트를 수령하는 단계; 초기화 업데이트로부터 최종 주기적 업데이트 아이덴티파이어를 판독하는 단계; 초기화 업데이트로부터 최종 트랜스액션 아이덴티파이어를 판독하는 단계; 최종 주기적 업데이트는 스타트 타임 기반에 의한 것인 최종 주기적 업데이트 아이덴티파이어로부터 최종 주기적 업데이트를 결정하는 단계; 최종 트랜스액션은 스타트 타임 기반에 의한 것인 최종 트랜스액션 아이덴티파이어로부터 최종 트랜스액션을 결정하는 단계; 최종 트랜스액션 이후에 생성된 트랜스액션을 원격 데이터베이스에 적용하는 단계; 및 최종 주기적 업데이트 이후에 생성된 주기적 업데이트를 원격 데이터베이스에 적용하는 단계를 포함하는 네트워크 기반 위에 원격 데이터베이스를 업데이트 하는 방법을 수행시킬 수 있는 프로세서에 의해 수행되어지는 프로그램 인스트럭션을 포함하는 기계가 판독 가능한 매체
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 적어도 하나의 트랜스액션을 지니는 로컬 데이터베이스의 점진적 변화에 기반을 둔 다수의 주기적 업데이트를 생성하는 수단; 스타트 타임에 로컬 데이터베이스의 버전, 스타트 타임 전에 생성된 최종 주기적 업데이트와 관련된 업데이트 아이덴티파이어, 스타트 타임전에 언급된 마지막 트랜스액션과 관련된 트랜스액션 아이덴티파이어를 포함하는 초기화 업데이트를 생성하기 위한 수단; 및 네크워크 기반 위에 원격 데이터베이스에 초기화 업데이트, 최종 주기적 업데이트 아이덴티파이어 및 최종 트랜스액션 아이덴티파이어를 전송하는 수단으로 구성된 업데이트 발생기
KR1020047006649A 2001-11-01 2002-11-01 원격 데이터베이스를 업데이트하기 위한 방법 및 시스템 KR100953137B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US33084201P 2001-11-01 2001-11-01
US60/330,842 2001-11-01
US36516902P 2002-03-19 2002-03-19
US60/365,169 2002-03-19
PCT/US2002/035083 WO2003038654A1 (en) 2001-11-01 2002-11-01 Method and system for updating a remote database

Publications (2)

Publication Number Publication Date
KR20040053254A KR20040053254A (ko) 2004-06-23
KR100953137B1 true KR100953137B1 (ko) 2010-04-16

Family

ID=26987480

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020047006689A KR100941350B1 (ko) 2001-11-01 2002-11-01 트랜잭셔널 메모리 매니저
KR1020047006649A KR100953137B1 (ko) 2001-11-01 2002-11-01 원격 데이터베이스를 업데이트하기 위한 방법 및 시스템
KR1020047006658A KR100977161B1 (ko) 2001-11-01 2002-11-01 원격 데이터베이스를 유효화시키기 위한 방법 및 시스템
KR1020047006695A KR100970122B1 (ko) 2001-11-01 2002-11-01 고속 논-콘커런시 제어된 데이터베이스

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020047006689A KR100941350B1 (ko) 2001-11-01 2002-11-01 트랜잭셔널 메모리 매니저

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020047006658A KR100977161B1 (ko) 2001-11-01 2002-11-01 원격 데이터베이스를 유효화시키기 위한 방법 및 시스템
KR1020047006695A KR100970122B1 (ko) 2001-11-01 2002-11-01 고속 논-콘커런시 제어된 데이터베이스

Country Status (16)

Country Link
US (10) US20030084038A1 (ko)
EP (10) EP1449062B1 (ko)
JP (4) JP4420324B2 (ko)
KR (4) KR100941350B1 (ko)
CN (4) CN1610902B (ko)
AU (5) AU2002356886A1 (ko)
BR (4) BR0213863A (ko)
CA (4) CA2466110C (ko)
EA (4) EA005646B1 (ko)
HK (1) HK1075308A1 (ko)
IL (8) IL161721A0 (ko)
MX (4) MXPA04004203A (ko)
NO (4) NO20042258L (ko)
NZ (4) NZ532773A (ko)
WO (5) WO2003038683A1 (ko)
ZA (4) ZA200403597B (ko)

Families Citing this family (268)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272604B1 (en) * 1999-09-03 2007-09-18 Atle Hedloy Method, system and computer readable medium for addressing handling from an operating system
US6745248B1 (en) * 2000-08-02 2004-06-01 Register.Com, Inc. Method and apparatus for analyzing domain name registrations
WO2002019127A1 (en) * 2000-08-25 2002-03-07 Integrated Business Systems And Services, Inc. Transaction-based enterprise application integration (eai) and development system
US20030182447A1 (en) * 2001-05-31 2003-09-25 Schilling Frank T. Generic top-level domain re-routing system
WO2003038683A1 (en) * 2001-11-01 2003-05-08 Verisign, Inc. Transactional memory manager
US20040005892A1 (en) * 2002-04-18 2004-01-08 Arnaldo Mayer System and method for managing parameter exchange between telecommunications operators
CA2384185A1 (en) * 2002-04-29 2003-10-29 Ibm Canada Limited-Ibm Canada Limitee Resizable cache sensitive hash table
JP3971984B2 (ja) * 2002-10-15 2007-09-05 松下電器産業株式会社 通信装置および通信方法
US8255361B2 (en) * 2003-01-31 2012-08-28 Oracle America, Inc. Method and system for validating differential computer system update
US7689569B2 (en) * 2003-03-31 2010-03-30 Qwest Communications International Inc. Systems and methods for managing large data environments
US20040193509A1 (en) * 2003-03-31 2004-09-30 Qwest Communications International Inc. Systems and methods for managing telephone number inventory
US7162495B2 (en) * 2003-03-31 2007-01-09 Qwest Communications Inc. Systems and methods for clearing telephone number porting assignments EN masse
US7395276B2 (en) * 2003-03-31 2008-07-01 Qwest Communications International Inc. Systems and methods for resolving telephone number discrepancies en masse
US20040193604A1 (en) * 2003-03-31 2004-09-30 Qwest Communications International Inc. Systems and methods for restricting a telephone number's availability for assignment
US7624112B2 (en) * 2003-04-03 2009-11-24 Oracle International Corporation Asynchronously storing transaction information from memory to a persistent storage
US7212817B2 (en) * 2003-04-30 2007-05-01 Hewlett-Packard Development Company, L.P. Partitioning a database keyed with variable length keys
US20040220941A1 (en) * 2003-04-30 2004-11-04 Nielson Mark R. Sorting variable length keys in a database
JP2005309550A (ja) 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
US7130975B2 (en) * 2003-06-27 2006-10-31 Hitachi, Ltd. Data processing system
JP4124348B2 (ja) 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
JP4374953B2 (ja) * 2003-09-09 2009-12-02 株式会社日立製作所 データ処理システム
TW591441B (en) * 2003-07-28 2004-06-11 Accton Technology Corp Database system and data access method thereof
US8949304B2 (en) * 2003-08-20 2015-02-03 Apple Inc. Method and apparatus for accelerating the expiration of resource records in a local cache
US8131739B2 (en) * 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7590643B2 (en) * 2003-08-21 2009-09-15 Microsoft Corporation Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system
US7606788B2 (en) * 2003-08-22 2009-10-20 Oracle International Corporation Method and apparatus for protecting private information within a database
CN100337236C (zh) * 2003-08-26 2007-09-12 华为技术有限公司 一种使前后台数据库中数据相一致的方法
US20050060566A1 (en) * 2003-09-16 2005-03-17 Chebolu Anil Kumar Online user-access reports with authorization features
US20050066290A1 (en) * 2003-09-16 2005-03-24 Chebolu Anil Kumar Pop-up capture
US7219201B2 (en) * 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
US7702628B1 (en) * 2003-09-29 2010-04-20 Sun Microsystems, Inc. Implementing a fully dynamic lock-free hash table without dummy nodes
US7158976B1 (en) * 2003-09-30 2007-01-02 Emc Corporation Spatial domain mechanism
US20060008256A1 (en) 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US20130097302A9 (en) * 2003-10-01 2013-04-18 Robert Khedouri Audio visual player apparatus and system and method of content distribution using the same
US7127587B2 (en) * 2003-12-11 2006-10-24 International Business Machines Corporation Intent seizes in a multi-processor environment
JP4412989B2 (ja) 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
CN1943140A (zh) * 2003-12-30 2007-04-04 艾利森电话股份有限公司 在共用传输协议包中传送属于不同用户的数据包的方法和装置
JP4477370B2 (ja) * 2004-01-30 2010-06-09 株式会社日立製作所 データ処理システム
US7895199B2 (en) * 2004-04-20 2011-02-22 Honda Motor Co., Ltd. Method and system for modifying orders
CA2465558A1 (en) * 2004-04-22 2005-10-22 Ibm Canada Limited - Ibm Canada Limitee Framework for retrieval and display of large result sets
US7555634B1 (en) 2004-04-22 2009-06-30 Sun Microsystems, Inc. Multiple data hazards detection and resolution unit
ATE343303T1 (de) * 2004-05-11 2006-11-15 Cit Alcatel Netzelement und verfahren zur abbildung von adressinformationen
US7483426B2 (en) * 2004-05-13 2009-01-27 Micrel, Inc. Look-up table expansion method
WO2005114490A2 (en) * 2004-05-21 2005-12-01 Computer Associates Think, Inc. Method and apparatus for handling directory operations
US20060036720A1 (en) * 2004-06-14 2006-02-16 Faulk Robert L Jr Rate limiting of events
DE602004007903T2 (de) * 2004-06-22 2008-04-17 Sap Ag Datenverarbeitungsvorrichtung von Online-Transaktionsdaten
US7774298B2 (en) * 2004-06-30 2010-08-10 Sap Ag Method and system for data extraction from a transaction system to an analytics system
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
US7359923B2 (en) * 2004-08-20 2008-04-15 International Business Machines Corporation Online incremental deferred integrity processing and maintenance of rolled in and rolled out data
US7788282B2 (en) * 2004-09-16 2010-08-31 International Business Machines Corporation Methods and computer programs for database structure comparison
JP2006127028A (ja) * 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置
US8356127B2 (en) * 2004-12-09 2013-01-15 Rambus Inc. Memory interface with workload adaptive encode/decode
US7805422B2 (en) * 2005-02-28 2010-09-28 Microsoft Corporation Change notification query multiplexing
US20060218176A1 (en) * 2005-03-24 2006-09-28 International Business Machines Corporation System, method, and service for organizing data for fast retrieval
US9547780B2 (en) * 2005-03-28 2017-01-17 Absolute Software Corporation Method for determining identification of an electronic device
US7693082B2 (en) * 2005-04-12 2010-04-06 Azimuth Systems, Inc. Latency measurement apparatus and method
CN1878164A (zh) * 2005-06-08 2006-12-13 华为技术有限公司 E.164号码域名存储和查询方法
CN100395996C (zh) * 2005-06-23 2008-06-18 华为技术有限公司 一种网络管理系统的信息同步方法
US7743028B1 (en) * 2005-07-13 2010-06-22 Symantec Corporation Incremental backup of partial volumes
US8819048B1 (en) * 2005-10-24 2014-08-26 Emc Corporation Virtual repository management to provide retention management services
US8015222B2 (en) 2005-10-24 2011-09-06 Emc Corporation Virtual repository management
US20070100783A1 (en) * 2005-10-29 2007-05-03 International Business Machines Corporation Method, system, and program for determining discrepancies between database management systems
US20070106729A1 (en) * 2005-11-04 2007-05-10 Research In Motion Limited Method and system for updating message threads
US8799882B2 (en) * 2005-12-07 2014-08-05 Microsoft Corporation Compiler support for optimizing decomposed software transactional memory operations
US7590806B2 (en) * 2005-12-07 2009-09-15 Microsoft Corporation Filtering of transactional memory operations using associative tables
CN101336535B (zh) * 2005-12-27 2011-10-12 法国电信公司 管理dnssec请求的服务器和方法
US20070192374A1 (en) * 2006-02-16 2007-08-16 Emc Corporation Virtual repository management to provide functionality
US8990153B2 (en) * 2006-02-07 2015-03-24 Dot Hill Systems Corporation Pull data replication model
US7761293B2 (en) * 2006-03-06 2010-07-20 Tran Bao Q Spoken mobile engine
US20070208564A1 (en) * 2006-03-06 2007-09-06 Available For Licensing Telephone based search system
US20070226264A1 (en) * 2006-03-22 2007-09-27 Gang Luo System and method for real-time materialized view maintenance
US7783850B2 (en) * 2006-03-28 2010-08-24 Dot Hill Systems Corporation Method and apparatus for master volume access during volume copy
KR100728983B1 (ko) * 2006-04-14 2007-06-15 주식회사 하이닉스반도체 상변환 기억 소자 및 그의 제조방법
KR100728982B1 (ko) * 2006-04-14 2007-06-15 주식회사 하이닉스반도체 상변환 기억 소자 및 그의 제조방법
US7636829B2 (en) * 2006-05-02 2009-12-22 Intel Corporation System and method for allocating and deallocating memory within transactional code
TW200743000A (en) * 2006-05-11 2007-11-16 Ming-Ta Hsu Report retrieval and presentation methods and systems
US8713188B2 (en) * 2007-12-13 2014-04-29 Opendns, Inc. Per-request control of DNS behavior
US8606926B2 (en) 2006-06-14 2013-12-10 Opendns, Inc. Recursive DNS nameserver
US7575163B2 (en) 2006-07-18 2009-08-18 At&T Intellectual Property I, L.P. Interactive management of storefront purchases
US8400947B2 (en) * 2006-07-20 2013-03-19 Tekelec, Inc. Methods, systems, and computer program products for specifying a particular ENUM service type in a communications network that utilizes a plurality of different ENUM service types
US20080034053A1 (en) * 2006-08-04 2008-02-07 Apple Computer, Inc. Mail Server Clustering
US20080052270A1 (en) * 2006-08-23 2008-02-28 Telefonaktiebolaget Lm Ericsson (Publ) Hash table structure and search method
US7921075B2 (en) * 2006-09-29 2011-04-05 International Business Machines Corporation Generic sequencing service for business integration
US9514201B2 (en) * 2006-10-13 2016-12-06 International Business Machines Corporation Method and system for non-intrusive event sequencing
US9274857B2 (en) * 2006-10-13 2016-03-01 International Business Machines Corporation Method and system for detecting work completion in loosely coupled components
US7680956B2 (en) * 2006-10-24 2010-03-16 Cisco Technology, Inc. Communicating additional information in a DNS update response by requesting deletion of a specific record
US9824107B2 (en) * 2006-10-25 2017-11-21 Entit Software Llc Tracking changing state data to assist in computer network security
KR100898995B1 (ko) * 2006-10-25 2009-05-21 노키아 코포레이션 원격 전자 거래
US7593973B2 (en) * 2006-11-15 2009-09-22 Dot Hill Systems Corp. Method and apparatus for transferring snapshot data
US20080254436A1 (en) * 2006-11-16 2008-10-16 Morgia Michael A Selection Of A Consensus From A Plurality Of Ideas
US8515912B2 (en) 2010-07-15 2013-08-20 Palantir Technologies, Inc. Sharing and deconflicting data changes in a multimaster database system
US8688749B1 (en) 2011-03-31 2014-04-01 Palantir Technologies, Inc. Cross-ontology multi-master replication
US8181187B2 (en) * 2006-12-01 2012-05-15 Portico Systems Gateways having localized in-memory databases and business logic execution
US8615635B2 (en) * 2007-01-05 2013-12-24 Sony Corporation Database management methodology
US8751467B2 (en) * 2007-01-18 2014-06-10 Dot Hill Systems Corporation Method and apparatus for quickly accessing backing store metadata
US7831565B2 (en) * 2007-01-18 2010-11-09 Dot Hill Systems Corporation Deletion of rollback snapshot partition
DE102007008293B4 (de) * 2007-02-16 2010-02-25 Continental Automotive Gmbh Verfahren und Vorrichtung zum gesicherten Speichern und zum gesicherten Lesen von Nutzdaten
US9690790B2 (en) * 2007-03-05 2017-06-27 Dell Software Inc. Method and apparatus for efficiently merging, storing and retrieving incremental data
JP2008226167A (ja) * 2007-03-15 2008-09-25 Toshiba Corp データ配布システム及びデータ配布プログラム
US7975115B2 (en) * 2007-04-11 2011-07-05 Dot Hill Systems Corporation Method and apparatus for separating snapshot preserved and write data
US7716183B2 (en) * 2007-04-11 2010-05-11 Dot Hill Systems Corporation Snapshot preserved data cloning
US8768898B1 (en) * 2007-04-26 2014-07-01 Netapp, Inc. Performing direct data manipulation on a storage device
US8856094B2 (en) * 2007-05-08 2014-10-07 Digital River, Inc. Remote segmentation system and method
US20090182718A1 (en) * 2007-05-08 2009-07-16 Digital River, Inc. Remote Segmentation System and Method Applied To A Segmentation Data Mart
US8001345B2 (en) * 2007-05-10 2011-08-16 Dot Hill Systems Corporation Automatic triggering of backing store re-initialization
US7783603B2 (en) * 2007-05-10 2010-08-24 Dot Hill Systems Corporation Backing store re-initialization method and apparatus
US8117403B2 (en) * 2007-05-14 2012-02-14 International Business Machines Corporation Transactional memory system which employs thread assists using address history tables
US8175099B2 (en) * 2007-05-14 2012-05-08 Microsoft Corporation Embedded system development platform
US8321637B2 (en) * 2007-05-14 2012-11-27 International Business Machines Corporation Computing system with optimized support for transactional memory
US8095741B2 (en) * 2007-05-14 2012-01-10 International Business Machines Corporation Transactional memory computing system with support for chained transactions
US8095750B2 (en) * 2007-05-14 2012-01-10 International Business Machines Corporation Transactional memory system with fast processing of common conflicts
US9009452B2 (en) 2007-05-14 2015-04-14 International Business Machines Corporation Computing system with transactional memory using millicode assists
US8688920B2 (en) 2007-05-14 2014-04-01 International Business Machines Corporation Computing system with guest code support of transactional memory
US7882337B2 (en) * 2007-05-19 2011-02-01 International Business Machines Corporation Method and system for efficient tentative tracing of software in multiprocessors
US8204858B2 (en) * 2007-06-25 2012-06-19 Dot Hill Systems Corporation Snapshot reset method and apparatus
US8140961B2 (en) * 2007-11-21 2012-03-20 Hewlett-Packard Development Company, L.P. Automated re-ordering of columns for alignment trap reduction
US11347771B2 (en) * 2007-11-28 2022-05-31 International Business Machines Corporation Content engine asynchronous upgrade framework
US8412700B2 (en) 2008-01-11 2013-04-02 International Business Machines Corporation Database query optimization using index carryover to subset an index
US7912867B2 (en) * 2008-02-25 2011-03-22 United Parcel Services Of America, Inc. Systems and methods of profiling data for integration
US8015191B2 (en) * 2008-03-27 2011-09-06 International Business Machines Corporation Implementing dynamic processor allocation based upon data density
US8170988B2 (en) * 2008-04-17 2012-05-01 The Boeing Company System and method for synchronizing databases
US8768349B1 (en) * 2008-04-24 2014-07-01 Sprint Communications Company L.P. Real-time subscriber profile consolidation system
US9094140B2 (en) * 2008-04-28 2015-07-28 Time Warner Cable Enterprises Llc Methods and apparatus for audience research in a content-based network
DE102008022415A1 (de) * 2008-05-06 2009-11-12 TÜV Rheinland Industrie Service GmbH Absinkverhinderungsvorrichtung
US8275761B2 (en) 2008-05-15 2012-09-25 International Business Machines Corporation Determining a density of a key value referenced in a database query over a range of rows
US8140520B2 (en) * 2008-05-15 2012-03-20 International Business Machines Corporation Embedding densities in a data structure
EP2134122A1 (en) * 2008-06-13 2009-12-16 Hewlett-Packard Development Company, L.P. Controlling access to a communication network using a local device database and a shared device database
US8312033B1 (en) 2008-06-26 2012-11-13 Experian Marketing Solutions, Inc. Systems and methods for providing an integrated identifier
CN101309177B (zh) * 2008-07-11 2012-01-11 中国移动通信集团云南有限公司 一种网络资源数据管理方法及系统
US9418005B2 (en) 2008-07-15 2016-08-16 International Business Machines Corporation Managing garbage collection in a data processing system
CN101639950B (zh) * 2008-07-29 2011-07-13 中兴通讯股份有限公司 一种车道收费系统中的数据同步方法及装置
US8751441B2 (en) * 2008-07-31 2014-06-10 Sybase, Inc. System, method, and computer program product for determining SQL replication process
US8239417B2 (en) * 2008-08-07 2012-08-07 Armanta, Inc. System, method, and computer program product for accessing and manipulating remote datasets
US8768933B2 (en) * 2008-08-08 2014-07-01 Kabushiki Kaisha Toshiba System and method for type-ahead address lookup employing historically weighted address placement
CN101727383B (zh) * 2008-10-16 2012-07-04 上海市医疗保险信息中心 数据库的仿真测试方法和系统
US9292612B2 (en) 2009-04-22 2016-03-22 Verisign, Inc. Internet profile service
US8676989B2 (en) 2009-04-23 2014-03-18 Opendns, Inc. Robust domain name resolution
US8527945B2 (en) 2009-05-07 2013-09-03 Verisign, Inc. Method and system for integrating multiple scripts
US8037076B2 (en) * 2009-05-11 2011-10-11 Red Hat, Inc. Federated indexing from hashed primary key slices
US8510263B2 (en) 2009-06-15 2013-08-13 Verisign, Inc. Method and system for auditing transaction data from database operations
US8739125B2 (en) * 2009-06-16 2014-05-27 Red Hat, Inc. Automated and unattended process for testing software applications
US20100333071A1 (en) * 2009-06-30 2010-12-30 International Business Machines Corporation Time Based Context Sampling of Trace Data with Support for Multiple Virtual Machines
US8977705B2 (en) * 2009-07-27 2015-03-10 Verisign, Inc. Method and system for data logging and analysis
US8856344B2 (en) 2009-08-18 2014-10-07 Verisign, Inc. Method and system for intelligent many-to-many service routing over EPP
US8327019B2 (en) * 2009-08-18 2012-12-04 Verisign, Inc. Method and system for intelligent routing of requests over EPP
US8874694B2 (en) * 2009-08-18 2014-10-28 Facebook, Inc. Adaptive packaging of network resources
US20110044320A1 (en) * 2009-08-21 2011-02-24 Avaya Inc. Mechanism for fast evaluation of policies in work assignment
US8175098B2 (en) 2009-08-27 2012-05-08 Verisign, Inc. Method for optimizing a route cache
US8566524B2 (en) 2009-08-31 2013-10-22 International Business Machines Corporation Transactional memory system with efficient cache support
US9269080B2 (en) 2009-10-30 2016-02-23 Verisign, Inc. Hierarchical publish/subscribe system
US8982882B2 (en) 2009-11-09 2015-03-17 Verisign, Inc. Method and system for application level load balancing in a publish/subscribe message architecture
US9569753B2 (en) 2009-10-30 2017-02-14 Verisign, Inc. Hierarchical publish/subscribe system performed by multiple central relays
US9047589B2 (en) 2009-10-30 2015-06-02 Verisign, Inc. Hierarchical publish and subscribe system
US9235829B2 (en) 2009-10-30 2016-01-12 Verisign, Inc. Hierarchical publish/subscribe system
US9762405B2 (en) 2009-10-30 2017-09-12 Verisign, Inc. Hierarchical publish/subscribe system
CN102096676B (zh) * 2009-12-11 2014-04-09 中国移动通信集团公司 数据更新及查询控制方法及系统
US20110178984A1 (en) * 2010-01-18 2011-07-21 Microsoft Corporation Replication protocol for database systems
US8825601B2 (en) * 2010-02-01 2014-09-02 Microsoft Corporation Logical data backup and rollback using incremental capture in a distributed database
US9176783B2 (en) 2010-05-24 2015-11-03 International Business Machines Corporation Idle transitions sampling with execution context
US8843684B2 (en) 2010-06-11 2014-09-23 International Business Machines Corporation Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration
US8799872B2 (en) 2010-06-27 2014-08-05 International Business Machines Corporation Sampling with sample pacing
FR2964213B1 (fr) * 2010-09-01 2013-04-26 Evidian Annuaire d'identite et procede de mise a jour d'un annuaire d'identite
US8489724B2 (en) * 2010-09-14 2013-07-16 Cdnetworks Co., Ltd. CNAME-based round-trip time measurement in a content delivery network
US20120089646A1 (en) * 2010-10-08 2012-04-12 Jain Rohit N Processing change data
US8332433B2 (en) 2010-10-18 2012-12-11 Verisign, Inc. Database synchronization and validation
US8799904B2 (en) 2011-01-21 2014-08-05 International Business Machines Corporation Scalable system call stack sampling
JP5652281B2 (ja) * 2011-03-18 2015-01-14 富士通株式会社 業務処理サーバ、業務処理方法及び業務処理プログラム
RU2480819C2 (ru) * 2011-06-28 2013-04-27 Закрытое акционерное общество "Лаборатория Касперского" Способ оптимизации работы со связными списками
US8549579B2 (en) * 2011-07-06 2013-10-01 International Business Machines Corporation Dynamic data-protection policies within a request-reply message queuing environment
WO2013016868A1 (en) * 2011-08-03 2013-02-07 Amazon Technologies, Inc. Gathering transaction data associated with locally stored data files
US8782352B2 (en) * 2011-09-29 2014-07-15 Oracle International Corporation System and method for supporting a self-tuning locking mechanism in a transactional middleware machine environment
US8738516B1 (en) 2011-10-13 2014-05-27 Consumerinfo.Com, Inc. Debt services candidate locator
IL216056B (en) 2011-10-31 2018-04-30 Verint Systems Ltd A system and method for integrating databases
US9679009B2 (en) * 2011-11-17 2017-06-13 Sap Se Component independent process integration message search
US8965850B2 (en) 2011-11-18 2015-02-24 Dell Software Inc. Method of and system for merging, storing and retrieving incremental backup data
US8782004B2 (en) 2012-01-23 2014-07-15 Palantir Technologies, Inc. Cross-ACL multi-master replication
KR101375794B1 (ko) 2012-01-27 2014-03-18 네이버비즈니스플랫폼 주식회사 데이터베이스의 성능을 향상하기 위한 방법 및 장치
JP2013182588A (ja) * 2012-03-05 2013-09-12 Oki Electric Ind Co Ltd バックアップシステムにおけるバックアップデータの同期方法
US9065855B2 (en) * 2012-06-29 2015-06-23 Verisign, Inc. Systems and methods for automatically providing Whois service to top level domains
US9244846B2 (en) 2012-07-06 2016-01-26 International Business Machines Corporation Ensuring causality of transactional storage accesses interacting with non-transactional storage accesses
US9369395B2 (en) * 2012-08-31 2016-06-14 At&T Intellectual Property I, L.P. Methods and apparatus to negotiate flow control for a communication session
US20140101150A1 (en) * 2012-10-05 2014-04-10 Axis Semiconductor, Inc. Efficient high performance scalable pipelined searching method using variable stride multibit tries
US9081975B2 (en) 2012-10-22 2015-07-14 Palantir Technologies, Inc. Sharing information between nexuses that use different classification schemes for information access control
US9501761B2 (en) 2012-11-05 2016-11-22 Palantir Technologies, Inc. System and method for sharing investigation results
US9654541B1 (en) 2012-11-12 2017-05-16 Consumerinfo.Com, Inc. Aggregating user web browsing data
US9613165B2 (en) 2012-11-13 2017-04-04 Oracle International Corporation Autocomplete searching with security filtering and ranking
US9916621B1 (en) 2012-11-30 2018-03-13 Consumerinfo.Com, Inc. Presentation of credit score factors
CN103929763A (zh) * 2013-01-11 2014-07-16 阿尔卡特朗讯 一种用于比较和重构地理冗余的数据库的方法
US10102570B1 (en) 2013-03-14 2018-10-16 Consumerinfo.Com, Inc. Account vulnerability alerts
CN105264525A (zh) * 2013-06-04 2016-01-20 马维尔国际贸易有限公司 内部搜索引擎架构
US8886601B1 (en) 2013-06-20 2014-11-11 Palantir Technologies, Inc. System and method for incrementally replicating investigative analysis data
US9589130B2 (en) * 2013-08-20 2017-03-07 White Cloud Security, L.L.C. Application trust-listing security service
GB2517932B (en) * 2013-09-04 2021-05-05 1Spatial Group Ltd Modification and validation of spatial data
US10382549B1 (en) * 2013-10-28 2019-08-13 Pivotal Software, Inc. Data management platform
US9569070B1 (en) 2013-11-11 2017-02-14 Palantir Technologies, Inc. Assisting in deconflicting concurrency conflicts
US9477737B1 (en) * 2013-11-20 2016-10-25 Consumerinfo.Com, Inc. Systems and user interfaces for dynamic access of multiple remote databases and synchronization of data based on user rules
US10095800B1 (en) 2013-12-16 2018-10-09 Amazon Technologies, Inc. Multi-tenant data store management
US9009827B1 (en) 2014-02-20 2015-04-14 Palantir Technologies Inc. Security sharing system
US9405655B2 (en) * 2014-03-19 2016-08-02 Dell Products, Lp System and method for running a validation process for an information handling system during a factory process
US9925492B2 (en) 2014-03-24 2018-03-27 Mellanox Technologies, Ltd. Remote transactional memory
US9971987B1 (en) 2014-03-25 2018-05-15 Amazon Technologies, Inc. Out of order data management
US9910883B2 (en) 2014-04-07 2018-03-06 International Business Machines Corporation Enhanced batch updates on records and related records system and method
US20170147408A1 (en) * 2014-04-22 2017-05-25 Hitachi, Ltd. Common resource updating apparatus and common resource updating method
CN106471486B (zh) 2014-04-30 2019-05-17 甲骨文国际公司 用于在事务中间件机器环境中支持自适应自调整锁定机制的系统和方法
US9778949B2 (en) * 2014-05-05 2017-10-03 Google Inc. Thread waiting in a multithreaded processor architecture
US10572496B1 (en) 2014-07-03 2020-02-25 Palantir Technologies Inc. Distributed workflow system and database with access controls for city resiliency
US9785773B2 (en) 2014-07-03 2017-10-10 Palantir Technologies Inc. Malware data item analysis
US9021260B1 (en) 2014-07-03 2015-04-28 Palantir Technologies Inc. Malware data item analysis
US9699023B2 (en) * 2014-07-18 2017-07-04 Fujitsu Limited Initializing a network interface based on stored data
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
US11176106B2 (en) * 2014-11-19 2021-11-16 Unisys Corporation Dynamic modification of database schema
CN104572881A (zh) * 2014-12-23 2015-04-29 国家电网公司 基于多任务并发的配网图模导入方法
US9734016B2 (en) * 2015-02-24 2017-08-15 Red Hat Israel, Ltd. Secure live virtual machine guest based snapshot recovery
US20160378824A1 (en) * 2015-06-24 2016-12-29 Futurewei Technologies, Inc. Systems and Methods for Parallelizing Hash-based Operators in SMP Databases
US20160378812A1 (en) * 2015-06-25 2016-12-29 International Business Machines Corporation Reduction of bind breaks
CN104965923B (zh) * 2015-07-08 2018-09-28 安徽兆尹信息科技股份有限公司 一种用于生成现金流量表的云计算应用平台构建方法
AU2016340042A1 (en) * 2015-10-15 2018-05-24 Big Ip Pty Ltd A system, method, computer program and data signal for the provision of a database of information for lead generating purposes
WO2017063049A1 (en) * 2015-10-15 2017-04-20 Big Ip Pty Ltd A system, method, computer program and data signal for conducting an electronic search of a database
IL242219B (en) * 2015-10-22 2020-11-30 Verint Systems Ltd System and method for keyword searching using both static and dynamic dictionaries
IL242218B (en) 2015-10-22 2020-11-30 Verint Systems Ltd A system and method for maintaining a dynamic dictionary
MX2018007425A (es) * 2015-12-18 2018-08-15 Walmart Apollo Llc Sistemas y metodos para resolver discrepancia de datos.
WO2017106779A1 (en) * 2015-12-18 2017-06-22 F5 Networks, Inc. Methods of collaborative hardware and software dns acceleration and ddos protection
CN105574407B (zh) * 2015-12-28 2018-09-25 无锡天脉聚源传媒科技有限公司 一种共享的处理方法和装置
US10621198B1 (en) 2015-12-30 2020-04-14 Palantir Technologies Inc. System and method for secure database replication
RU2623882C1 (ru) * 2016-02-18 2017-06-29 Акционерное общество "Лаборатория Касперского" Способ поиска входной строки в дереве поиска с индексацией узлов дерева поиска
US10353888B1 (en) * 2016-03-03 2019-07-16 Amdocs Development Limited Event processing system, method, and computer program
US10642780B2 (en) 2016-03-07 2020-05-05 Mellanox Technologies, Ltd. Atomic access to object pool over RDMA transport network
WO2017191495A1 (en) * 2016-05-05 2017-11-09 Askarov Bauyrzhan New domain name system and usage thereof
US10089339B2 (en) * 2016-07-18 2018-10-02 Arm Limited Datagram reassembly
CN106250487B (zh) * 2016-07-29 2020-07-03 新华三技术有限公司 一种数据库并发控制方法及装置
US11005977B2 (en) * 2016-08-31 2021-05-11 Viavi Solutions Inc. Packet filtering using binary search trees
US10382562B2 (en) * 2016-11-04 2019-08-13 A10 Networks, Inc. Verification of server certificates using hash codes
US10262053B2 (en) 2016-12-22 2019-04-16 Palantir Technologies Inc. Systems and methods for data replication synchronization
TWI643146B (zh) * 2016-12-22 2018-12-01 經貿聯網科技股份有限公司 動態更新金融資料的方法及其處理系統以及動態調整電源配置的方法及其處理系統
CN106790544A (zh) * 2016-12-22 2017-05-31 郑州云海信息技术有限公司 减少远程客户端与数据中心间通信数据量的方法及装置
CN111107175B (zh) * 2017-03-31 2023-08-08 贵州白山云科技股份有限公司 一种构建dns应答报文的方法及装置
GB2561176A (en) * 2017-04-03 2018-10-10 Edinburgh Napier Univ System and method for management of confidential data
US10068002B1 (en) 2017-04-25 2018-09-04 Palantir Technologies Inc. Systems and methods for adaptive data replication
US10430062B2 (en) 2017-05-30 2019-10-01 Palantir Technologies Inc. Systems and methods for geo-fenced dynamic dissemination
US11030494B1 (en) 2017-06-15 2021-06-08 Palantir Technologies Inc. Systems and methods for managing data spills
US10552367B2 (en) 2017-07-26 2020-02-04 Mellanox Technologies, Ltd. Network data transactions using posted and non-posted operations
US10380196B2 (en) 2017-12-08 2019-08-13 Palantir Technologies Inc. Systems and methods for using linked documents
US10915542B1 (en) 2017-12-19 2021-02-09 Palantir Technologies Inc. Contextual modification of data sharing constraints in a distributed database system that uses a multi-master replication scheme
US10528556B1 (en) * 2017-12-31 2020-01-07 Allscripts Software, Llc Database methodology for searching encrypted data records
US20190213271A1 (en) * 2018-01-09 2019-07-11 Unisys Corporation Method and system for data exchange critical event notification
KR102034679B1 (ko) 2018-01-17 2019-10-23 (주)비아이매트릭스 그리드 인터페이스 기반 데이터 입출력 시스템
CN110083596A (zh) * 2018-05-16 2019-08-02 陈刚 一种数据历史跟踪和数据变化历史跟踪的方法
CN108876143A (zh) * 2018-06-13 2018-11-23 亳州市药通信息咨询有限公司 一种中药材价格指数系统
CN110798332B (zh) * 2018-08-03 2022-09-06 Emc Ip控股有限公司 用于搜索目录访问组的方法和系统
US11265324B2 (en) 2018-09-05 2022-03-01 Consumerinfo.Com, Inc. User permissions for access to secure data at third-party
US11238656B1 (en) 2019-02-22 2022-02-01 Consumerinfo.Com, Inc. System and method for an augmented reality experience via an artificial intelligence bot
CN111831639B (zh) * 2019-04-19 2024-01-30 北京车和家信息技术有限公司 一种全局唯一id生成方法及装置、车辆管理系统
US11303606B1 (en) 2019-06-03 2022-04-12 Amazon Technologies, Inc. Hashing name resolution requests according to an identified routing policy
CA3148975C (en) * 2019-07-30 2023-04-25 Falkonry Inc. Fluid and resolution-friendly view of large volumes of time series data
US11941065B1 (en) 2019-09-13 2024-03-26 Experian Information Solutions, Inc. Single identifier platform for storing entity data
CN110990377B (zh) * 2019-11-21 2023-08-22 上海达梦数据库有限公司 一种数据装载方法、装置、服务器及存储介质
US11500849B2 (en) * 2019-12-02 2022-11-15 International Business Machines Corporation Universal streaming change data capture
US11269836B2 (en) 2019-12-17 2022-03-08 Cerner Innovation, Inc. System and method for generating multi-category searchable ternary tree data structure
CN111240762B (zh) * 2020-01-10 2021-11-23 珠海格力电器股份有限公司 线程管理方法、存储介质及电子设备
JP7297107B2 (ja) * 2020-02-24 2023-06-23 センストーン インコーポレイテッド 仮想コードを用いたユーザ設定情報認証方法、プログラム及び装置
EP3968253B1 (en) * 2020-02-24 2024-04-17 SSenStone Inc. Method, program, and device for authenticating user setting information by using virtual code
US20230138113A1 (en) * 2021-02-09 2023-05-04 Micro Focus Llc System for retrieval of large datasets in cloud environments
US11934377B2 (en) * 2021-02-25 2024-03-19 Microsoft Technology Licensing, Llc Consistency checking for distributed analytical database systems
WO2022221533A2 (en) * 2021-04-14 2022-10-20 Google Llc Powering scalable data warehousing with robust query performance
CN113806342A (zh) * 2021-07-21 2021-12-17 厦门莲隐科技有限公司 一种提取以太坊区块链底层数据的系统
US20240045753A1 (en) * 2022-08-02 2024-02-08 Nxp B.V. Dynamic Configuration Of Reaction Policies In Virtualized Fault Management System

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758150A (en) * 1995-10-06 1998-05-26 Tele-Communications, Inc. System and method for database synchronization
US5893117A (en) * 1990-08-17 1999-04-06 Texas Instruments Incorporated Time-stamped database transaction and version management system
US5995980A (en) * 1996-07-23 1999-11-30 Olson; Jack E. System and method for database update replication

Family Cites Families (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4412285A (en) 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
US5010478A (en) 1986-04-11 1991-04-23 Deran Roger L Entity-attribute value database system with inverse attribute for selectively relating two different entities
GB8704882D0 (en) * 1987-03-03 1987-04-08 Hewlett Packard Co Secure messaging systems
US4947366A (en) * 1987-10-02 1990-08-07 Advanced Micro Devices, Inc. Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities
US5175849A (en) * 1988-07-28 1992-12-29 Amdahl Corporation Capturing data of a database system
US5089952A (en) * 1988-10-07 1992-02-18 International Business Machines Corporation Method for allowing weak searchers to access pointer-connected data structures without locking
US5161223A (en) 1989-10-23 1992-11-03 International Business Machines Corporation Resumeable batch query for processing time consuming queries in an object oriented database management system
JP3369580B2 (ja) 1990-03-12 2003-01-20 ヒューレット・パッカード・カンパニー 直接メモリアクセスを行うためのインターフェース装置及び方法
CA2045705A1 (en) * 1990-06-29 1991-12-30 Richard Lee Sites In-register data manipulation in reduced instruction set processor
US5287496A (en) * 1991-02-25 1994-02-15 International Business Machines Corporation Dynamic, finite versioning for concurrent transaction and query processing
US5369757A (en) * 1991-06-18 1994-11-29 Digital Equipment Corporation Recovery logging in the presence of snapshot files by ordering of buffer pool flushing
US6188428B1 (en) * 1992-02-11 2001-02-13 Mark Koz Transcoding video file server and methods for its use
US5749079A (en) * 1992-03-04 1998-05-05 Singapore Computer Systems Limited End user query facility including a query connectivity driver
US5260942A (en) * 1992-03-06 1993-11-09 International Business Machines Corporation Method and apparatus for batching the receipt of data packets
DE69324204T2 (de) * 1992-10-22 1999-12-23 Cabletron Systems Inc Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers
US5684990A (en) * 1995-01-11 1997-11-04 Puma Technology, Inc. Synchronization of disparate databases
US5729735A (en) * 1995-02-08 1998-03-17 Meyering; Samuel C. Remote database file synchronizer
US5615337A (en) * 1995-04-06 1997-03-25 International Business Machines Corporation System and method for efficiently processing diverse result sets returned by a stored procedures
US5974409A (en) * 1995-08-23 1999-10-26 Microsoft Corporation System and method for locating information in an on-line network
US6047323A (en) * 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers
US5875443A (en) * 1996-01-30 1999-02-23 Sun Microsystems, Inc. Internet-based spelling checker dictionary system with automatic updating
US5852715A (en) * 1996-03-19 1998-12-22 Emc Corporation System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions
US5765028A (en) * 1996-05-07 1998-06-09 Ncr Corporation Method and apparatus for providing neural intelligence to a mail query agent in an online analytical processing system
US5787452A (en) * 1996-05-21 1998-07-28 Sybase, Inc. Client/server database system with methods for multi-threaded data processing in a heterogeneous language environment
US6154777A (en) * 1996-07-01 2000-11-28 Sun Microsystems, Inc. System for context-dependent name resolution
US5926816A (en) * 1996-10-09 1999-07-20 Oracle Corporation Database Synchronizer
US6044381A (en) 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US6330568B1 (en) * 1996-11-13 2001-12-11 Pumatech, Inc. Synchronization of databases
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
US5937414A (en) * 1997-02-28 1999-08-10 Oracle Corporation Method and apparatus for providing database system replication in a mixed propagation environment
US6862602B2 (en) * 1997-03-07 2005-03-01 Apple Computer, Inc. System and method for rapidly identifying the existence and location of an item in a file
US5920886A (en) * 1997-03-14 1999-07-06 Music Semiconductor Corporation Accelerated hierarchical address filtering and translation using binary and ternary CAMs
KR19990001093A (ko) * 1997-06-12 1999-01-15 윤종용 교환기 시스템의 운영 프로그램 및 데이터베이스 인스톨 방법
US5924098A (en) * 1997-06-30 1999-07-13 Sun Microsystems, Inc. Method and apparatus for managing a linked-list data structure
US6098108A (en) * 1997-07-02 2000-08-01 Sitara Networks, Inc. Distributed directory for enhanced network communication
US6148070A (en) * 1997-07-02 2000-11-14 Ameritech Corporation Method, system, and database for providing a telecommunication service
US5924096A (en) 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6058389A (en) * 1997-10-31 2000-05-02 Oracle Corporation Apparatus and method for message queuing in a database system
US6061678A (en) * 1997-10-31 2000-05-09 Oracle Corporation Approach for managing access to large objects in database systems using large object indexes
US6029170A (en) 1997-11-25 2000-02-22 International Business Machines Corporation Hybrid tree array data structure and method
US6044448A (en) * 1997-12-16 2000-03-28 S3 Incorporated Processor having multiple datapath instances
US6256256B1 (en) * 1998-01-30 2001-07-03 Silicon Aquarius, Inc. Dual port random access memories and systems using the same
US6304259B1 (en) * 1998-02-09 2001-10-16 International Business Machines Corporation Computer system, method and user interface components for abstracting and accessing a body of knowledge
US6304881B1 (en) 1998-03-03 2001-10-16 Pumatech, Inc. Remote data access and synchronization
US6237019B1 (en) 1998-03-18 2001-05-22 International Business Machines Corporation Method and apparatus for performing a semaphore operation
US6185567B1 (en) 1998-05-29 2001-02-06 The Trustees Of The University Of Pennsylvania Authenticated access to internet based research and data services
US6131122A (en) * 1998-06-01 2000-10-10 Nortel Networks Corporation Programmable internet automation
US6182198B1 (en) * 1998-06-05 2001-01-30 International Business Machines Corporation Method and apparatus for providing a disc drive snapshot backup while allowing normal drive read, write, and buffering operations
US6434144B1 (en) * 1998-07-06 2002-08-13 Aleksey Romanov Multi-level table lookup
US6360220B1 (en) * 1998-08-04 2002-03-19 Microsoft Corporation Lock-free methods and systems for accessing and storing information in an indexed computer data structure having modifiable entries
US6092178A (en) * 1998-09-03 2000-07-18 Sun Microsystems, Inc. System for responding to a resource request
US6411966B1 (en) * 1998-09-21 2002-06-25 Microsoft Corporation Method and computer readable medium for DNS dynamic update to minimize client-server and incremental zone transfer traffic
US6243715B1 (en) * 1998-11-09 2001-06-05 Lucent Technologies Inc. Replicated database synchronization method whereby primary database is selected queries to secondary databases are referred to primary database, primary database is updated, then secondary databases are updated
CA2356947A1 (en) * 1998-12-23 2000-07-06 Nokia Wireless Routers, Inc. A unified routing scheme for ad-hoc internetworking
US6516327B1 (en) * 1998-12-24 2003-02-04 International Business Machines Corporation System and method for synchronizing data in multiple databases
US6304924B1 (en) * 1999-02-02 2001-10-16 International Business Machines Corporation Two lock-free, constant-space, multiple-(impure)-reader, single-writer structures
US6553392B1 (en) * 1999-02-04 2003-04-22 Hewlett-Packard Development Company, L.P. System and method for purging database update image files after completion of associated transactions
FI106493B (fi) * 1999-02-09 2001-02-15 Nokia Mobile Phones Ltd Menetelmä ja järjestelmä pakettimuotoisen datan luotettavaksi siirtämiseksi
US6721334B1 (en) * 1999-02-18 2004-04-13 3Com Corporation Method and apparatus for packet aggregation in packet-based network
US6314469B1 (en) * 1999-02-26 2001-11-06 I-Dns.Net International Pte Ltd Multi-language domain name service
DE60037502T2 (de) 1999-03-03 2008-12-11 Ultradns, Inc., Danville Domänennamen-Auflösungssystem mit einem oder mehreren Servern
US6484185B1 (en) * 1999-04-05 2002-11-19 Microsoft Corporation Atomic operations on data structures
US6745177B2 (en) * 1999-04-09 2004-06-01 Metro One Telecommunications, Inc. Method and system for retrieving data from multiple data sources using a search routing database
US6938057B2 (en) * 1999-05-21 2005-08-30 International Business Machines Corporation Method and apparatus for networked backup storage
US6529504B1 (en) * 1999-06-02 2003-03-04 Sprint Communications Company, L.P. Telecommunications service control point interface
AU6624100A (en) * 1999-08-06 2001-03-05 Namezero.Com, Inc. Internet hosting system
US6449657B2 (en) * 1999-08-06 2002-09-10 Namezero.Com, Inc. Internet hosting system
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6792458B1 (en) * 1999-10-04 2004-09-14 Urchin Software Corporation System and method for monitoring and analyzing internet traffic
US6560614B1 (en) * 1999-11-12 2003-05-06 Xosoft Inc. Nonintrusive update of files
KR100751622B1 (ko) 1999-11-26 2007-08-22 네테카 인코포레이티드 네트워크 어드레스 서버, 도메인 명칭 분석 방법, 및 컴퓨터 판독 가능 기록 매체
US6980990B2 (en) * 1999-12-01 2005-12-27 Barry Fellman Internet domain name registration system
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
US6625621B2 (en) * 2000-01-04 2003-09-23 Starfish Software, Inc. System and methods for a fast and scalable synchronization server
US6892359B1 (en) * 2000-02-18 2005-05-10 Xside Corporation Method and system for controlling a complementary user interface on a display surface
US6789073B1 (en) * 2000-02-22 2004-09-07 Harvey Lunenfeld Client-server multitasking
JP2001236257A (ja) 2000-02-24 2001-08-31 Fujitsu Ltd 情報記憶装置及び加入者データのデータ更新方法並びに移動通信システム
US6615223B1 (en) * 2000-02-29 2003-09-02 Oracle International Corporation Method and system for data replication
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
JP2001290689A (ja) 2000-04-07 2001-10-19 Hitachi Ltd 複数データベース間のレプリケーションのデータ検証方法
US6976090B2 (en) * 2000-04-20 2005-12-13 Actona Technologies Ltd. Differentiated content and application delivery via internet
US6725218B1 (en) * 2000-04-28 2004-04-20 Cisco Technology, Inc. Computerized database system and method
US7734815B2 (en) 2006-09-18 2010-06-08 Akamai Technologies, Inc. Global load balancing across mirrored data centers
US7165116B2 (en) * 2000-07-10 2007-01-16 Netli, Inc. Method for network discovery using name servers
US7725602B2 (en) 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
US20020029226A1 (en) 2000-09-05 2002-03-07 Gang Li Method for combining data with maps
FR2813986B1 (fr) * 2000-09-08 2002-11-29 Eric Vincenot Dispositif de sonorisation a guide d'onde acoustique
JP2002108836A (ja) * 2000-09-29 2002-04-12 Hitachi Ltd プロセッサシステム
US6785675B1 (en) * 2000-11-13 2004-08-31 Convey Development, Inc. Aggregation of resource requests from multiple individual requestors
US6636854B2 (en) * 2000-12-07 2003-10-21 International Business Machines Corporation Method and system for augmenting web-indexed search engine results with peer-to-peer search results
US6868414B2 (en) * 2001-01-03 2005-03-15 International Business Machines Corporation Technique for serializing data structure updates and retrievals without requiring searchers to use locks
US6728736B2 (en) * 2001-03-14 2004-04-27 Storage Technology Corporation System and method for synchronizing a data copy using an accumulation remote copy trio
US6691124B2 (en) * 2001-04-04 2004-02-10 Cypress Semiconductor Corp. Compact data structures for pipelined message forwarding lookups
GB2374951B (en) * 2001-04-24 2005-06-15 Discreet Logic Inc Asynchronous database updates
US7171415B2 (en) * 2001-05-04 2007-01-30 Sun Microsystems, Inc. Distributed information discovery through searching selected registered information providers
US20030182447A1 (en) * 2001-05-31 2003-09-25 Schilling Frank T. Generic top-level domain re-routing system
US6744652B2 (en) * 2001-08-22 2004-06-01 Netlogic Microsystems, Inc. Concurrent searching of different tables within a content addressable memory
WO2003038683A1 (en) 2001-11-01 2003-05-08 Verisign, Inc. Transactional memory manager
US20030208511A1 (en) * 2002-05-02 2003-11-06 Earl Leroy D. Database replication system
US20050105513A1 (en) 2002-10-27 2005-05-19 Alan Sullivan Systems and methods for direction of communication traffic
US20050027882A1 (en) 2003-05-05 2005-02-03 Sullivan Alan T. Systems and methods for direction of communication traffic
US7310686B2 (en) 2002-10-27 2007-12-18 Paxfire, Inc. Apparatus and method for transparent selection of an Internet server based on geographic location of a user
US7769826B2 (en) 2003-06-26 2010-08-03 Nominum, Inc. Systems and methods of providing DNS services using separate answer and referral caches
US7761570B1 (en) 2003-06-26 2010-07-20 Nominum, Inc. Extensible domain name service
US7761678B1 (en) 2004-09-29 2010-07-20 Verisign, Inc. Method and apparatus for an improved file repository
US7685270B1 (en) 2005-03-31 2010-03-23 Amazon Technologies, Inc. Method and apparatus for measuring latency in web services
EP1891539A2 (en) 2005-05-24 2008-02-27 Paxfire, Inc. Enhanced features for direction of communication traffic
US7546368B2 (en) 2005-06-01 2009-06-09 Neustar, Inc. Systems and methods for isolating local performance variation in website monitoring
US7477575B2 (en) 2005-09-23 2009-01-13 Verisign, Inc. Redundant timer system and method
JP2009524355A (ja) 2006-01-20 2009-06-25 パックスファイアー インコーポレイテッド 通信トラフィックを判別し、制御するためのシステムおよび方法
US8713188B2 (en) 2007-12-13 2014-04-29 Opendns, Inc. Per-request control of DNS behavior
US8606926B2 (en) 2006-06-14 2013-12-10 Opendns, Inc. Recursive DNS nameserver
WO2008021512A2 (en) 2006-08-17 2008-02-21 Neustar, Inc. System and method for handling jargon in communication systems
EP2054830A2 (en) 2006-08-17 2009-05-06 Neustar, Inc. System and method for managing domain policy for interconnected communication networks
US8234379B2 (en) 2006-09-14 2012-07-31 Afilias Limited System and method for facilitating distribution of limited resources
US20100030897A1 (en) 2006-12-20 2010-02-04 Rob Stradling Method and System for Installing a Root Certificate on a Computer With a Root Update Mechanism
US7694016B2 (en) 2007-02-07 2010-04-06 Nominum, Inc. Composite DNS zones
CA2701098A1 (en) 2007-10-18 2009-04-23 Neustar, Inc. System and method for sharing web performance monitoring data
US20090235359A1 (en) 2008-03-12 2009-09-17 Comodo Ca Limited Method and system for performing security and vulnerability scans on devices behind a network security device
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US7991737B2 (en) * 2008-09-04 2011-08-02 Microsoft Corporation Synchronization of records of a table using bookmarks
US20090282038A1 (en) 2008-09-23 2009-11-12 Michael Subotin Probabilistic Association Based Method and System for Determining Topical Relatedness of Domain Names
US9172713B2 (en) 2008-09-24 2015-10-27 Neustar, Inc. Secure domain name system
US7930393B1 (en) 2008-09-29 2011-04-19 Amazon Technologies, Inc. Monitoring domain allocation performance
US9292612B2 (en) 2009-04-22 2016-03-22 Verisign, Inc. Internet profile service
US8527658B2 (en) 2009-04-07 2013-09-03 Verisign, Inc Domain traffic ranking
US8676989B2 (en) 2009-04-23 2014-03-18 Opendns, Inc. Robust domain name resolution
US8527945B2 (en) 2009-05-07 2013-09-03 Verisign, Inc. Method and system for integrating multiple scripts
US8510263B2 (en) 2009-06-15 2013-08-13 Verisign, Inc. Method and system for auditing transaction data from database operations
US8977705B2 (en) 2009-07-27 2015-03-10 Verisign, Inc. Method and system for data logging and analysis
US20110035497A1 (en) 2009-08-05 2011-02-10 Dynamic Network Services, Inc. System and method for providing global server load balancing
US8380870B2 (en) 2009-08-05 2013-02-19 Verisign, Inc. Method and system for filtering of network traffic
US8327019B2 (en) 2009-08-18 2012-12-04 Verisign, Inc. Method and system for intelligent routing of requests over EPP
US8175098B2 (en) 2009-08-27 2012-05-08 Verisign, Inc. Method for optimizing a route cache
US8982882B2 (en) 2009-11-09 2015-03-17 Verisign, Inc. Method and system for application level load balancing in a publish/subscribe message architecture
US9047589B2 (en) 2009-10-30 2015-06-02 Verisign, Inc. Hierarchical publish and subscribe system
US9286369B2 (en) 2009-12-30 2016-03-15 Symantec Corporation Data replication across enterprise boundaries

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893117A (en) * 1990-08-17 1999-04-06 Texas Instruments Incorporated Time-stamped database transaction and version management system
US5758150A (en) * 1995-10-06 1998-05-26 Tele-Communications, Inc. System and method for database synchronization
US5995980A (en) * 1996-07-23 1999-11-30 Olson; Jack E. System and method for database update replication

Also Published As

Publication number Publication date
CA2472014C (en) 2012-07-10
EA200400618A1 (ru) 2004-10-28
US20090106211A1 (en) 2009-04-23
EP1449062B1 (en) 2018-05-16
IL161723A (en) 2010-06-30
CA2466107C (en) 2013-01-08
ZA200404268B (en) 2005-10-26
IL161712A (en) 2011-02-28
AU2002356884B2 (en) 2008-12-04
MXPA04004201A (es) 2005-01-25
WO2003038565A3 (en) 2004-02-26
CN1610901A (zh) 2005-04-27
KR100977161B1 (ko) 2010-08-20
US8630988B2 (en) 2014-01-14
US6681228B2 (en) 2004-01-20
EP2503476A1 (en) 2012-09-26
MXPA04004169A (es) 2004-07-08
EP2477126A2 (en) 2012-07-18
EP2562661A2 (en) 2013-02-27
US20120102016A1 (en) 2012-04-26
NZ533166A (en) 2005-12-23
US8171019B2 (en) 2012-05-01
AU2002350106B2 (en) 2008-09-11
WO2003038683A1 (en) 2003-05-08
EA200400614A1 (ru) 2004-10-28
BR0213863A (pt) 2004-12-21
CA2466117C (en) 2013-12-31
EA006223B1 (ru) 2005-10-27
JP2005508042A (ja) 2005-03-24
US20030084039A1 (en) 2003-05-01
JP2005510782A (ja) 2005-04-21
KR20040053255A (ko) 2004-06-23
JP2005508051A (ja) 2005-03-24
CA2466117A1 (en) 2003-05-08
US7203682B2 (en) 2007-04-10
AU2002356886A1 (en) 2003-05-12
CN1610877A (zh) 2005-04-27
MXPA04004203A (es) 2005-05-16
JP4420325B2 (ja) 2010-02-24
US8682856B2 (en) 2014-03-25
BR0213807A (pt) 2004-12-07
US20140108452A1 (en) 2014-04-17
IL161721A0 (en) 2005-11-20
AU2002350104B2 (en) 2008-12-04
BR0213862A (pt) 2004-12-21
KR20040053254A (ko) 2004-06-23
KR100941350B1 (ko) 2010-02-11
US20030084057A1 (en) 2003-05-01
CN100557595C (zh) 2009-11-04
CN1610902A (zh) 2005-04-27
JP4420324B2 (ja) 2010-02-24
ZA200403597B (en) 2005-10-26
EA200400613A1 (ru) 2004-10-28
EA005646B1 (ru) 2005-04-28
CN1610877B (zh) 2010-06-02
WO2003038654A1 (en) 2003-05-08
IL161722A (en) 2009-07-20
EP2495671A1 (en) 2012-09-05
US20030084074A1 (en) 2003-05-01
ZA200404267B (en) 2005-08-31
NO20042261L (no) 2004-08-02
US7047258B2 (en) 2006-05-16
US20030084075A1 (en) 2003-05-01
IL161723A0 (en) 2005-11-20
JP4399552B2 (ja) 2010-01-20
CA2466107A1 (en) 2003-05-08
CA2466110C (en) 2011-04-19
EA006038B1 (ru) 2005-08-25
EA006045B1 (ru) 2005-08-25
EP1451714A1 (en) 2004-09-01
JP4897196B2 (ja) 2012-03-14
NZ532773A (en) 2005-11-25
EP1451728A4 (en) 2009-08-05
KR20040053268A (ko) 2004-06-23
EP2450812A1 (en) 2012-05-09
IL161712A0 (en) 2004-09-27
EP1449049A4 (en) 2009-10-28
AU2002356885B2 (en) 2008-10-02
KR100970122B1 (ko) 2010-07-13
WO2003038596A1 (en) 2003-05-08
WO2003038653A1 (en) 2003-05-08
EP2477126A3 (en) 2013-09-11
CA2472014A1 (en) 2003-05-08
BR0213864A (pt) 2004-12-21
HK1075308A1 (en) 2005-12-09
NO331574B1 (no) 2012-01-30
EP2562661A3 (en) 2016-05-25
US20070100808A1 (en) 2007-05-03
NO20042259L (no) 2004-08-02
KR20040053266A (ko) 2004-06-23
EP1449062A4 (en) 2009-08-05
CN1610902B (zh) 2010-05-05
US20040254926A1 (en) 2004-12-16
NZ532772A (en) 2005-12-23
WO2003038565A2 (en) 2003-05-08
CA2466110A1 (en) 2003-05-08
CN1610906A (zh) 2005-04-27
EP1449062A1 (en) 2004-08-25
EP1461723A4 (en) 2009-08-05
IL161722A0 (en) 2005-11-20
EP1451728A1 (en) 2004-09-01
NZ532771A (en) 2005-12-23
NO20042260L (no) 2004-08-02
US20030084038A1 (en) 2003-05-01
IL161721A (en) 2011-08-31
JP2005508050A (ja) 2005-03-24
EA200400612A1 (ru) 2004-12-30
ZA200404266B (en) 2005-10-26
EP1449049A2 (en) 2004-08-25
EP1451714B1 (en) 2018-05-02
NO20042258L (no) 2004-08-02
CN1610906B (zh) 2012-05-09
EP1461723A1 (en) 2004-09-29
EP1451714A4 (en) 2009-08-05
MXPA04004202A (es) 2005-05-16
US7167877B2 (en) 2007-01-23

Similar Documents

Publication Publication Date Title
KR100953137B1 (ko) 원격 데이터베이스를 업데이트하기 위한 방법 및 시스템
AU2002350104A1 (en) Method and system for validating remote database
AU2002356885A1 (en) Method and system for updating a remote database
US6289358B1 (en) Delivering alternate versions of objects from an object cache
US7117491B2 (en) Method, system, and program for determining whether data has been modified
US6292880B1 (en) Alias-free content-indexed object cache
WO1999053422A1 (en) High performance object cache
JP2000076257A (ja) 分散ネットワークサービスにおける情報検索装置及びその検索方法
CN116303422A (zh) 数据查询方法、装置、电子设备和存储介质
CN1298155A (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
FPAY Annual fee payment

Payment date: 20130325

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140325

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee