IP Library Granted Patent US 7,076,508
Granted Patent B2
US 7,076,508 · App. 10/217,707 · Granted Jul 11, 2006

Method, system, and program for merging log entries from multiple recovery log files

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,076,508
App. No.
10/217,707
Granted
Jul 11, 2006
Kind
B2
Abstract

Provided are a method, system, and program for merging independent log entries in a multiple node shared nothing DBMS. Initially, log entries from multiple log entries are combined to form a single log entry sequence. Local transactions are generated from the single log entry sequence and stored in a local transactions structure. In particular, log entries with the same local transaction identifier form a local transaction. Then, local transactions having the same global identifier are merged to form global transactions.

Claims (61)

1. A method for merging log entries from multiple recovery logs, comprising:

recording local transactions with log entries within each of the multiple recovery logs;

recording causally ordered, ascending timestamp information for selected ones of the log entries in each of the multiple recovery logs, wherein the timestamp information is used to order global transactions;

sequentially examining the log entries of each of the multiple recovery logs in an order based on the causally ordered, ascending timestamp information;

merging the log entries from each of the multiple recovery logs that form local transactions to form global transactions; and

outputting the merged log entries in the order of the causally ordered, ascending timestamp information.

2. The method of claim 1 , wherein each recovery log entry for a single transaction includes a local transaction identifier.

3. The method of claim 1 , wherein each recovery log entry of a transaction manager kind includes a global identifier.

4. The method of claim 1 , wherein the selected ones of the log entries comprise transaction manager kind of log entries.

5. A method for restarting merging of recovery log entries from multiple recovery logs, comprising:

bolding restart information in persistent recoverable storage for a restart, wherein the restart resumes replication of changes while not missing any of the recovery log entries and while capturing each of the recovery log entries once for a given logged transaction, and wherein the restart information includes log sequence numbers; and

merging and processing each logged transaction using the restart information.

6. The method of claim 5 , further comprising:

storing an entry point for each of the multiple recovery log files.

7. The method of claim 6 , further comprising:

restarting processing of each of the multiple recovery log files at the entry point for that recovery log file.

8. The method of claim 5 , further comprising:

storing a global, ascending, causally ordered commit timestamp of a last processed transaction.

9. The method of claim 8 , wherein a transaction for which the global, ascending, causally ordered timestamp is smaller than a stored global, ascending, causally ordered timestamp is not merged or processed.

10. A system for merging log entries from multiple recovery logs, comprising:

a set of nodes, each node having a recovery log; and

a computer program executable by a computer, wherein the computer program comprises instructions for:

recording local transactions with log entries within each of the multiple recovery logs;

recording causally ordered, ascending timestamp information for selected ones of the log entries in each of the multiple recovery logs, wherein the timestamp information is used to order global transactions;

sequentially examining the log entries of each of the multiple recovery logs in an order based on the causally ordered, ascending timestamp information;

merging the log entries from each of the multiple recovery logs that form local transactions to form global transactions; and

outputting the merged log entries in the order of the causally ordered, ascending timestamp information.

11. The system of claim 10 , wherein each recovery log entry for a single transaction includes a local transaction identifier.

12. The system of claim 10 , wherein each recovery log entry of a transaction manager kind includes a global identifier.

13. The system of claim 10 , wherein the selected ones of the log entries comprise transaction manager kind of log entries.

14. A system for restarting merging of recovery log entries from multiple recovery logs, comprising:

a set of nodes, each node having a recovery log; and

a computer program executable by a computer, wherein the computer program comprises instructions for:

holding restart information in persistent recoverable storage for a restart, wherein the restart resumes replication of changes while not missing any of the recovery log entries and while capturing each of the recovery log entries once for a given logged transaction, and wherein the restart information includes log sequence numbers; and

merging and processing each logged transaction using the restart information.

15. The system of claim 14 , wherein the computer program further comprises instructions for:

storing an entry point far each of the multiple recovery log files.

16. The system of claim 15 , wherein the computer program further comprises instructions for:

restarting processing of each of the multiple recovery log files at the entry point for that recovery log file.

17. The system of claim 15 , wherein the computer program further comprises instructions for:

storing a global, ascending, causally ordered commit timestamp of a last processed transaction.

18. The system of claim 17 , wherein a transaction for which the global, ascending, causally ordered timestamp is smaller than a stored global, ascending, causally ordered timestamp is not merged or processed.

19. An article of manufacture including code for merging log entries from multiple recovery logs, wherein the code is capable of causing operations, the operations comprising:

recording local transactions with log entries within each of the multiple recovery logs;

recording causally ordered, ascending timestamp information for selected ones of the log entries in each of the multiple recovery logs, wherein the timestamp information is used to order global transactions;

sequentially examining the log entries of each of the multiple recovery logs in an order based on the causally ordered, ascending timestamp information;

merging the log entries from each of the multiple recovery logs that form local transactions to form global transactions; and

outputting the merged log entries in the order of the causally ordered, ascending timestamp information.

20. The article of manufacture of claim 19 , wherein each recovery log entry for a single transaction includes a local transaction identifier.

21. The article of manufacture of claim 19 , wherein each recovery log entry of a transaction manager kind includes a global identifier.

22. The article of manufacture of claim 19 , wherein the selected ones of the log entries comprise transaction manager kind of log entries.

23. An article of manufacture including code for restarting the merging of recovery log entries from multiple recovery logs, wherein the code is capable of causing operations, the operations comprising:

holding restart information in persistent recoverable storage for a restart, wherein the restart resumes replication of changes while not missing any of the recovery log entries and while capturing each of the recovery log entries once for a given logged transaction, and wherein the restart information includes log sequence numbers; and

merging and processing each logged transaction using the restart information.

24. The article of manufacture of claim 23 , wherein the operations further comprise;

storing an entry point for each of the multiple recovery log files.

25. The article of manufacture of claim 24 , wherein the operations further comprise:

restarting processing of each of the multiplee recovery log files at the entry point for that recovery log file.

26. The article of manufacture of claim 23 , wherein the operations further comprise:

storing a global, ascending, causally ordered commit timestamp of a last processed transaction.

27. The article of manufacture of claim 26 , wherein a transaction for which the global, ascending, causally ordered timestamp is smaller than a stored global, ascending, causally ordered timestamp is not merged or processed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2002
From: BOURBONNAIS, SERGE; HAMEL, ELIZABETH BELVA; LINDSAY, BRUCE G.; LIU, CHENGFEI; STANKIEWITZ, JENS; TRUONG, TUONG CHANH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 013197/0386 →
Continuity (1)
Related Publication 20040030703A1 · Feb 12, 2004