IP Library › Granted Patent US 7,330,859
Granted Patent B2
US 7,330,859 · App. 10/659,628 · Granted Feb 12, 2008

Database backup system using data and user-defined routines replicators for maintaining a copy of database on a secondary server

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,330,859
App. No.
10/659,628
Granted
Feb 12, 2008
Kind
B2
Abstract

In a database system having a primary server side ( 10 ) and a secondary server side ( 30 ), a high availability data replicator ( 26, 46 ) transfers log entries from the primary side ( 10 ) to the secondary side ( 30 ) and replays the transferred log entries to synchronize the secondary side ( 30 ) with the primary side ( 10 ). R-tree index transfer threads ( 54, 56 ) copy user-defined routines, the user defined index, and index databases deployed on the primary server side ( 10 ) to the secondary server side ( 30 ) and deploy the copied user-defined routines, reconstruct the user-defined index, and copy data pages on the secondary side ( 30 ) to make the user-defined index consistent and usable on the secondary side ( 30 ).

Claims (21)

1. In a database including primary and secondary servers and a data replicator that copies database log entries from the primary server to the secondary server and updates the secondary server using the copied database log entries, an indexing method including:

creating on the primary server a user-defined index of contents of the database, the user-defined index including at least user-defined routines and the creating including at least some operations that do not produce database log entries;

obtaining on the primary server a lock on the user-defined index;

constructing on the primary server a definitional data set containing information on the user-defined routines;

transferring the definitional data set from the primary server to the secondary server;

constructing on the secondary server secondary user-defined routines based on the definitional data set;

transferring contents of the user-defined index from the primary server to the secondary server as transferred contents, the transferred contents in combination with the secondary user-defined routines defining a secondary user-defined index corresponding to the user-defined index created on the primary server; and

removing the lock on the user-defined index.

2. The indexing method as set forth in claim 1 , further including:

transmitting an acknowledgment from the secondary server to the primary server indicating that the secondary user-defined index is defined, the removing of the lock being performed in response to the primary server receiving said acknowledgment.

3. The indexing method as set forth in claim 1 , further including:

registering the user-defined index with the secondary server.

4. The indexing method as set forth in claim 1 , wherein the creating a user-defined index includes creating an R-tree index.

5. The indexing method as set forth in claim 1 , further including:

responsive to a failure of the data replicator and a subsequent restart of the data replicator, repeating the obtaining of a lock, the constructing and transferring of a definitional data set, the constructing of secondary user-defined routines, the transferring of contents of the user-defined index from the primary server to the secondary server, and the removing of the lock.

6. The indexing method as set forth in claim 1 , further including:

subsequent to the removing of the lock, performing database operations that access the user-defined index on the primary server, database log entries corresponding to the database operations being copied by the data replicator from the primary server to the secondary server and the secondary server being updated using the copied database log entries and the secondary user-defined index.

7. The indexing method as set forth in claim 1 , further including:

initiating the data replicator subsequent to the creating of the user-defined index of contents of the database on the primary server, the obtaining of a lock, the constructing and transferring of a definitional data set, the constructing of secondary user-defined routines, the transferring of contents of the user-defined index from the primary server to the secondary server, and the removing of the lock being performed subsequent to the initiating of the data replicator.

8. The indexing method as set forth in claim 1 , further including:

initiating the data replicator, the initiating being performed prior to the creating of the user-defined index, the obtaining of a lock, the constructing and transferring of a definitional data set, the constructing of secondary user-defined routines, the transferring of contents of the user-defined index from the primary server to the secondary server, and the removing of the lock.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2003
From: GUPTA, AJAY K.; OSTNER, KARL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014497/0446 →
Continuity (1)
Related Publication 20050055445A1 · Mar 10, 2005