IP Library › Granted Patent US 7,065,541
Granted Patent B2
US 7,065,541 · App. 09/973,810 · Granted Jun 20, 2006

Database migration

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,065,541
App. No.
09/973,810
Granted
Jun 20, 2006
Kind
B2
Abstract

A database migration system and method that provides continuous transaction service during migration. The invention allows minimal transaction service down time during database migration. The active database is copied to a target and updated at least one time. In one preferred embodiment, updating occurs over decreasing time intervals. When the time intervals become sufficiently short, transition to the target server is implemented by queuing transaction requests from the source server and then executing them on the target server.

Claims (98)

1. A method of migrating a database from a first server to a second server while continuing to provide transaction service, the method comprising the steps of:

providing transaction service on the first server;

establishing a database copy on the second server;

logging at least one transaction from the first server to create a transaction log;

executing the at least one logged transaction on the second server;

repeating the steps of logging at least one transaction and executing the at least one logged transaction on the second server until a set point is met;

queuing at least one transaction request;

executing the at least one queued transaction request on the second server; and

providing transaction service on the second server;

wherein a time duration of each repeating step is necessarily shorter than a preceding repeating step, and transaction service on the second server is paused until the providing step.

2. The method of claim 1 , wherein the step of providing transaction service on the first server ceases prior to the step of queuing at least one transaction request.

3. The method of claim 1 , wherein a number of logged transactions executed during each repeating step is smaller than a preceding repeating step.

4. The method of claim 1 , wherein the step of establishing a database copy on the second server includes transmitting of a database backup from the first server over a network.

5. The method of claim 4 , wherein the network is the Internet.

6. The method of claim 1 , further comprising the step of transmitting the transaction log to the second server over a network.

7. The method of claim 6 , wherein the network is the Internet.

8. The method of claim 1 , wherein the step of queuing takes place at the first server.

9. The method of claim 1 , wherein the step of queuing takes place at the second server.

10. The method of claim 1 , further comprising the step of transmitting an application from the first server to the second server.

11. A method of providing continuous transaction service while migrating a database from a source to a target, the method comprising the steps of:

providing transaction service on a server that accesses the source;

establishing a copy of the database on the target;

updating the database copy until a set point is met by repeatedly:

logging at least one transaction from the server that accesses the source to create a transaction log, and

executing the at least one logged transaction on a server that accesses the target;

queuing at least one transaction request;

executing the at least one queued transaction request on the server that accesses the target; and

providing transaction service on the server that accesses the target;

wherein a time duration of each updating step is necessarily shorter than a preceding updating step, and transaction service on the second server is paused until the providing step.

12. The method of claim 11 , wherein the server that accesses the source and the server that accesses the target are the same server.

13. The method of claim 11 , wherein the server that accesses the source and the source are discrete.

14. The method of claim 11 , wherein the server that accesses the target and the target are discrete.

15. The method of claim 11 , wherein a number of logged transactions executed during each updating step is smaller than a preceding updating step.

16. The method of claim 11 , wherein the step of establishing a database copy on the server that accesses the target includes transmitting of a database backup from the source server over a network.

17. The method of claim 16 , wherein the network is the Internet.

18. The method of claim 11 , further comprising the step of transmitting the transaction log to the target server over a network.

19. The method of claim 18 , wherein the network is the Internet.

20. The method of claim 11 , wherein the step of queuing takes place at the server that accesses the source.

21. The method of claim 11 , wherein the step of queuing takes place at the server that accesses the target.

22. The method of claim 11 , wherein at least one of the server is connected to a network.

23. The method of claim 22 , wherein the network is the Internet.

24. A method of migrating a database from a source to a target while allowing continuous transaction service on at least one server that access the database, the method comprising the steps of:

establishing an initial copy of the database on the target;

updating the initial copy until a set point is met by repeatedly:

logging at least one transaction from a server that accesses the source to create a transaction log, and

executing the at least one logged transaction on a server that accesses the target;

queuing at least one transaction request; and

executing the at least one queued transaction request on the server that accesses the target;

wherein a time duration of each updating step is necessarily shorter than a preceding updating step, and transaction service on the second server is paused until after the executing step.

25. The method of claim 24 , wherein the server that accesses the source and the server that accesses the target are the same server.

26. The method of claim 24 , wherein the server that accesses the source and the source are discrete.

27. The method of claim 24 , wherein the server that accesses the target and the target are discrete.

28. A system for migrating a database from a first server to a second server while continuing to provide transaction service, each server including an application that interacts with the database during execution of a transaction, the system comprising:

a copy module that establishes a database copy on the second server;

an updating module that updates the database copy until a set point is met by repeatedly:

logging at least one transaction from the first server received since any immediately preceding synchronization to create a transaction log;

executing the at least one logged transaction on the second server; and

a transition module that queues at least one transaction request, and executes the at least one queued transaction request on the second server;

wherein a time duration of each activation of the updating module is necessarily shorter than a preceding activation, and transaction service on the second server is paused until after an activation of the transition module.

29. The system of claim 28 , wherein the copy module establishes the database copy by transmitting a backup of the database over a network to the second server.

30. The system of claim 28 , wherein a number of logged transactions executed during each activation of the updating module is smaller than an immediately preceding activation of the updating module.

31. The system of claim 28 , wherein the updating module transmits the transaction log to the second server aver a network.

32. The system of claim 28 , wherein the transition module queues the at least one transaction request at the first server.

33. The system of claim 31 ,wherein the transition module queues the at least one transaction request at the second server.

34. The system of claim 28 , wherein the transition module is activated after a time duration that the updating module is activated reaches a set point.

35. The system of claim 28 , wherein the transition module is activated after a number of logged transactions reaches a set point.

36. A system for migrating a database from a first server to a second server while continuing to provide transaction service, each server including an application that interacts with the database during execution of a transaction, the system comprising:

means for establishing a database copy on the second server;

means for logging at least one transaction from the first server to create a transaction log;

means for executing the at least one logged transaction on the second server;

means for queuing at least one transaction request; and

means for executing the at least one queued transaction request on the second server;

wherein the logging means further repeats logging at least one transaction and executing the at least one logged transaction on the second server prior to the queuing until a set point is met;

wherein a time duration of each repeating is necessarily shorter than a preceding repeating, and transaction service on the second server is paused until after an activation of the executing means.

37. A computer program product comprising a computer useable medium having computer readable program code embodied therein for migrating a database from a first server to a second server while continuing to provide transaction service, each server including an application that interacts with the database during execution of a transaction, the computer program product comprising:

program code configured to establish a database copy on the second server;

program code configured to update the database copy until a set point is met by repeatedly:

logging at least one transaction from the first server to create a transaction log, and

executing the at least one logged transaction on the second server;

program code configured to queue at least one transaction request; and

program code configured to execute the at least one queued transaction request on the second server,

wherein a time duration of each updating conducted by the updating program code is necessarily shorter than a preceding updating, and transaction service on the second server is paused until after an execution of the program code configured to execute.

38. A system for providing continuous transaction service while migrating a database, the system comprising:

a source server for providing transaction services;

a target server for providing transaction services;

a copy module that establishes a database copy on the target server;

an updating module that updates the database copy until a set point is met by repeatedly:

logging at least one transaction from the source server received since any immediately preceding synchronization to create a transaction log;

executing the at least one logged transaction on the target server; and

a transition module that queues at least one transaction request, and executes the at least one queued transaction request on the target server;

wherein a time duration of each activation of the updating module is necessarily shorter than a preceding activation, and transaction service on the second server is paused until after an activation of the transition module.

39. The system of claim 38 , wherein the copy module establishes the database copy by transmitting a backup of the database over a network to the target server.

40. The system of claim 38 , wherein a number of logged transactions executed during each activation of the updating module is smaller than an immediately preceding activation of the updating module.

41. The system of claim 38 , wherein the updating module transmits the transaction log to the target server over a network.

42. The system of claim 38 , wherein the queuing module queues the transaction requests at the source server.

43. The system of claim 38 , wherein the queuing module queues the transaction requests at the target server.

44. The system of claim 38 , wherein the transaction module is activated after a time duration that the updating module is activated reaches a set point.

45. The system of claim 38 , wherein the transition module is activated after a number of logged transactions reaches a set point.

Assignments (8)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 062079, FRAME 0677) Recorded Mar 3, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 075015/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 071127/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 070670/0857 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 062079/0677 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0001 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: TWITTER, INC.
Reel/Frame 032075/0404 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2001
From: GUPTA, ADARSH; KATZ, NEIL A.; STERN, EDITH H.; WILLNER, BARRY E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 012254/0081 →
Continuity (1)
Related Publication 20030069903A1 · Apr 10, 2003