WO1999008209A1 - High performance asynchronous data replication - Google Patents

High performance asynchronous data replication Download PDF

Info

Publication number
WO1999008209A1
WO1999008209A1 PCT/US1998/015862 US9815862W WO9908209A1 WO 1999008209 A1 WO1999008209 A1 WO 1999008209A1 US 9815862 W US9815862 W US 9815862W WO 9908209 A1 WO9908209 A1 WO 9908209A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
entry
replication
stamp
writing
Prior art date
Application number
PCT/US1998/015862
Other languages
French (fr)
Inventor
Munir Cochinwala
Kuo-Chu Lee
Min Tae Yu
Original Assignee
Bell Communications Research, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bell Communications Research, Inc. filed Critical Bell Communications Research, Inc.
Publication of WO1999008209A1 publication Critical patent/WO1999008209A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation

Abstract

A table configuration and process (figure 1) enables efficient replication of table data (105). Time-stamp information (108) is included in a table (106) and each modification or update to a table entry is provided with a new time-stamp. A table replication (105) process checks the time-stamp of each table entry (106) periodically to identify those table entries which have been modified since a previous replication of the table. After marking those table entries which still require replication, the process writes only those identified table entries to a replication table. The replication cycle (200) may be selected at any effective time interval depending on the application.

Description

HIGH PERFORMANCE ASYNCHRONOUS DATA REPLICATION
Background of the Invention
The present invention relates to the field of databases, and more particularly to asynchronous data replication technology for highly available systems.
In various processing environments, data must be replicated to alternative storage databases at various times to ensure that the data is not lost. Processors in many stringent environments, such as telephone networks, have very specific data integrity requirements, which significantly increase the replication burden.
For asynchronous data replication, data is replicated periodically from one database to another. If one database fails, data is available from the other database. A replication interval is defined to control how frequently replication is performed.
Conventional replication approaches use a log to track data. For example, for each database operation, such as insert, update, or delete on a table to be replicated, a log is created, updated, or deleted to keep track of the operation. This approach results in the overhead of database operations due to the additional manipulation of the log. In addition, the size of the log is proportional to the number of operations. For instance, if there are several updates on a record, there will be the same number of logs even though only the last update may need to be replicated. This approach results in significant replication overhead. Thus, conventional asynchronous data replication techniques are limited by both operations and replication overhead.
Accordingly, it is an object of the present invention to overcome the disadvantages and drawbacks of conventional data replication systems and techniques.
Description of the Invention
To achieve these and other advantages and in accordance with the purposes of the invention, as embodied and broadly described, the invention includes a method of replicating a table, executed by a processor, comprising the steps of marking each entry to a table with a time-stamp corresponding to a time the entry is made to the table, checking the time-stamp of each entry in the table at a predetermined replication interval, identifying each table entry having a time-stamp after a known replication time, and writing only each identified table entry to a replication table. The invention further includes a table replication system comprising a table including a time-stamp entry for each item entered in the table, a device for marking each entry in the table with a time-stamp corresponding to a time the entry is made to the table, a device for periodically identifying each table entry having a time-stamp after a predetermined time, and a device for writing each identified table entry to a replication table. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.
Brief Description of the Drawings The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate presently preferred implementations of the invention and, together with the general description given above and the detailed description of the preferred implementations given below, serve to explain the principles of the invention. In the drawings: Fig. 1 is a block diagram of a computer and a table to be replicated in accordance with one embodiment of the present invention; and
Fig. 2 is a table replication process in accordance with one embodiment of the present invention.
Best Mode for Carrying Out the Invention
Reference will now be made in detail to the construction and operation of preferred implementations of the present invention which are illustrated in the accompanying drawings.
The following description of the preferred implementations of the present invention is only exemplary of the invention. The present invention is not limited to these implementations, but may be realized by other implementations.
Fig. 1 is a block diagram of a processing environment requiring a table to be replicated in accordance with one embodiment of the present invention. Processing environment 100 may correspond to any computer, processor, or network component that processes information, builds tables, and replicates those tables to a database, or any other form of data replication environment. Such a processing environment may exist, for example, in a reliable message passing system of the telephone network, including, e.g. communications between a service management system and other network elements for "800 services."
As shown in Fig. 1, processing environment 100 includes a processor 102, a replication database 104, and a table 106. Replication database 104 corresponds to any suitable storage configuration for storing a replication table 105 corresponding to table 106. In accordance with conventional techniques, processor 102 builds a table 106 in processing environment 100 by adding, updating, and deleting data as necessary.
In accordance with the present invention, table 106 includes an additional "time- stamp" column 108. Each time processor 102 writes an entry to table 106 or performs an operation affecting a table entry in table 106. Processor 102 time-stamps that operation by inserting the time of the operation under the time-stamp column 108.
Fig. 2 provides a processing flow diagram of a replication process in accordance with one embodiment of the present invention.
Initially, processor 102 determines whether a replication cycle has expired (step 200). If not, it waits for a predetermined period (step 202) and returns to the initial step 200. The replication cycle preferably corresponds to a preselected time period for writing to the replication table in replication database 104. In a preferred embodiment, this replication cycle is chosen to be ten seconds. However, the replication cycle is configurable and can be selected to be any predetermined time period depending on the application.
If processor 102 determines that the replication cycle has expired in step 200, it next checks the time of the last replication (step 204). Against that information, processor 102 determines whether the time-stamp of the first table entry is later than the last replication time (step 206). If yes, processor 102 marks that table entry for replication (step 208). If the time- stamp of the table entry being checked is not later than the last replication time, processor 102 determines whether any table entries are left (step 210). Likewise, after processor 102 marks a particular table entry for replication, it checks for any table entries left (step 210). If a table entry still exists, processor 102 returns to step 206 and checks through each existing table entry. Once all table entries have been returned, processor 102 replicates each marked table entry by copying those marked table entries to the replication table 105 in replication database 104 (step 212). Processor 102 then updates the stored replication time (step 214) and returns to the beginning of the process. In this manner, the present invention need not replicate an entire table of data. Instead, the process replicates only table entries that have been modified in some way since a last replication cycle.
While there has been illustrated and described what are at present considered to be preferred embodiments and methods of the present invention, it will be understood by those skilled in the art that various changes and modifications may be made, and equivalents may be substituted for elements thereof without departing from the true scope of the invention.
In addition, many modifications may be made to adapt a particular element, technique or implementation to the teachings of the present invention without departing from the central scope of the invention. Therefore, it is intended that this invention not be limited to the particular embodiments and methods disclosed herein, but that the invention include all embodiments falling within the scope of the appended claims.

Claims

Claims
1. A method of replicating a table, executed by a processor, comprising the steps of: marking each entry to a table with a time-stamp corresponding to a time the entry is made or changed; checking the time-stamp of each entry in said table at a predetermined replication interval; identifying each table entry having a time-stamp after a known replication time; and writing only each identified table entry to a replication table.
2. A method according to claim 1, further comprising the step of: updating said replication time to correspond substantially to the time of said writing step.
3. A method of replicating a table, comprising the steps of: marking each entry to a table with a time-stamp corresponding to a time the entry is made or changed; periodically identifying each table entry having a time-stamp later than a predetermined time; and writing each identified table entry to a replication table at substantially the same time.
4. A table replication system, comprising: a table including a time-stamp entry for each item entered in said table; means for marking each entry in said table with a time-stamp corresponding to a time the entry is made or changed; means for periodically identifying each entry having a time-stamp after a predetermined time; and means for writing each identified table entry to a replication table.
AMENDED CLAIMS
[received by the International Bureau on 15 December 1998 (15.12.98); original claims 1-4 replaced by new claims 1-4 (1 page)]
1. In a data processing system having a main table for storing data and wherein the data in the main table is replicated in a replication table, a method for reducing the replication load comprising the steps of marking each entry made in the main table with a time-stamp corresponding to the time the entry is made or changed, checking the time-stamp of each entry in the main table at predetermined replication intervals, identifying each table entry in the main table having a time-stamp after a prior replication time, and writing only each such identified table entry in the replication table.
2. The method according to claim 1 , further comprising updating said prior replication time to correspond to the time of said writing step.
3. In a data processing system having a main table for storing data and wherein the data in the main table is replicated in a replication table, a method for reducing the replication load comprising the steps of marking each entry in the main table with a time-stamp corresponding to the time the entry is made or changed, periodically identifying each main table entry having a time-stamp later than a predetermined time, and writing only each such identified table entry in the replication table at substantially the same time.
4. In a data processing system, the combination comprising a main table, a replication table, means for marking each data entry in said main table with a time-stamp corresponding to the time said each entry is made or changed, means for periodically identifying each data entry in said main table having a time-stamp after a predetermined time, and means for writing only each such identified data entry from said main table to said replication table.
Statement Under Article 19
The amendments being made to claims 1 through 4 as originally filed clarify the language of the claims and improve their form. The amendments have no impact on the description and drawing of the application.
PCT/US1998/015862 1997-08-08 1998-07-30 High performance asynchronous data replication WO1999008209A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US90770597A 1997-08-08 1997-08-08
US08/907,705 1997-08-08

Publications (1)

Publication Number Publication Date
WO1999008209A1 true WO1999008209A1 (en) 1999-02-18

Family

ID=25424515

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/015862 WO1999008209A1 (en) 1997-08-08 1998-07-30 High performance asynchronous data replication

Country Status (1)

Country Link
WO (1) WO1999008209A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519620B2 (en) * 2000-09-27 2009-04-14 Hitachi, Ltd. Replication system, method and program for replicating a plurality of databases into a replica database

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544353A (en) * 1993-06-14 1996-08-06 International Business Machines Corporation Distributed processing object shared resource control apparatus and method
US5603024A (en) * 1993-10-08 1997-02-11 International Business Machines Corporation Lossless distribution of time series data in a relational data base network
US5737600A (en) * 1994-09-12 1998-04-07 International Business Machines Corporation Method and system for log management in a coupled data processing system
US5758355A (en) * 1996-08-07 1998-05-26 Aurum Software, Inc. Synchronization of server database with client database using distribution tables
US5778225A (en) * 1996-02-09 1998-07-07 Supernaw-Issen; Daniel Aaron Method and apparatus for sharing objects among a plurality of processes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544353A (en) * 1993-06-14 1996-08-06 International Business Machines Corporation Distributed processing object shared resource control apparatus and method
US5603024A (en) * 1993-10-08 1997-02-11 International Business Machines Corporation Lossless distribution of time series data in a relational data base network
US5737600A (en) * 1994-09-12 1998-04-07 International Business Machines Corporation Method and system for log management in a coupled data processing system
US5778225A (en) * 1996-02-09 1998-07-07 Supernaw-Issen; Daniel Aaron Method and apparatus for sharing objects among a plurality of processes
US5758355A (en) * 1996-08-07 1998-05-26 Aurum Software, Inc. Synchronization of server database with client database using distribution tables

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PARK C. S., ET AL.: "A REPLICA CONTROL METHOD FOR IMPROVING AVAILABILITY FOR READ-ONLY TRANSACTIONS.", PROCEEDINGS IDEAS. INTERNATIONAL DATABASE ENGINEERING ANDAPPLICATIONS SYMPOSIUM, XX, XX, 25 August 1997 (1997-08-25) - 27 August 1997 (1997-08-27), XX, pages 104 - 112., XP002913162 *
SIDELL J., ET AL.: "DATA REPLICATION IN MARIPOSA.", DATA ENGINEERING., IEEE, SILVER SPRING, MD., US, 1 February 1996 (1996-02-01), US, pages 485 - 494., XP002913161, ISSN: 1063-6382 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519620B2 (en) * 2000-09-27 2009-04-14 Hitachi, Ltd. Replication system, method and program for replicating a plurality of databases into a replica database

Similar Documents

Publication Publication Date Title
US9652519B2 (en) Replicating data across multiple copies of a table in a database system
US6604117B2 (en) Method of maintaining a network of partially replicated database system
KR100462839B1 (en) Method for database synchronization and conflict resolution between clients and server of mobile system
US6826726B2 (en) Remote document updating system using XML and DOM
US6684438B2 (en) Method of using cache to determine the visibility to a remote database client of a plurality of database transactions
US5758355A (en) Synchronization of server database with client database using distribution tables
US5727202A (en) Method and apparatus for synchronizing information on two different computer systems
US6615223B1 (en) Method and system for data replication
US6058401A (en) Method for data replication with conflict detection
US6189011B1 (en) Method of maintaining a network of partially replicated database system
US7231407B2 (en) Partially replicated distributed database with multiple levels of remote clients
US20010016853A1 (en) Method and apparatus for synchronizing information on two different computer systems
US20070143368A1 (en) Conflict resolution in highly available network element
US20020026448A1 (en) Caching of distributed dynamic sql statements in a multiple node rdbms.
US7313657B1 (en) Conflict avoidance in data store replication
US7051051B1 (en) Recovering from failed operations in a database system
WO1999008209A1 (en) High performance asynchronous data replication
JP3769775B2 (en) Distributed link information maintenance method
JPH06266599A (en) Data base update information transfer system
US7035859B2 (en) Method and system for intra-table referential integrity for relational database systems
JPH11265389A (en) Shared data base device ahd shared data base system
JP3676564B2 (en) Database apparatus, database system, database apparatus control method, and recording medium
JPH08263345A (en) Data base updating management method
JPH03202935A (en) Synchronization update system in distributed processing system
JPH1153239A (en) Rollback processing method for database and recording medium recorded with procedure thereof

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA