WO1999008209A1 - High performance asynchronous data replication - Google Patents
High performance asynchronous data replication Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous 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
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.
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)
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)
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 |
-
1998
- 1998-07-30 WO PCT/US1998/015862 patent/WO1999008209A1/en active Application Filing
Patent Citations (5)
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)
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)
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 |