Patent US7363538B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US7363538B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Cost/benefit based checkpointing while maintaining a logical standby database

Assignee: Oracle International Corp
•
Filing: 2002-05-31
•
Granted: 2008-04-22
•
Expires: 2022-05-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method, system, and computer program product for generating checkpoint information in a database management system that determines the frequency of checkpointing of transactions based on a cost/benefit tradeoff analysis. A method for generating checkpointing information in a database management system comprises the steps of generating redo information based on transactions processed by the database management system, determining a cost of recovery using the redo information, determining a cost of taking a checkpoint, receiving a user specification of acceptable recovery delay and acceptable checkpoint overhead, and taking a checkpoint when cost effective to do so based on the cost of recovery using the redo information, the cost of taking the checkpoint and the user-specified acceptable delay and overhead.

Inventors

  • 👤 Joydip Kundu
  • 👤 Qingin Wang
  • 👤 Anthony J. Adams

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 15:03
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1474; G06F2201/00; G06F2201/80; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 271 words
A method for generating checkpointing information in a database management system comprising the steps of: generating redo information based on transactions processed by the database management system; and in response to generation of a block of redo information, determining whether to take a checkpoint by: determining a cost of recovery using the redo information comprising the steps of: determining a cost of recovery using the redo information from a first checkpoint to a point in time with no checkpoint between the first checkpoint and the point in time, and determining a cost of recovery using the redo information from a first checkpoint to the point in time with a second checkpoint between the first checkpoint and the point in time; determining a cost of taking a checkpoint by: generating an inadvisable interval list over which a checkpoint is not to be taken by: determining an inadvisable checkpoint interval by keeping track of a size of uncheckpointed data contained in a transaction and comparing the size of uncheckpointed data contained in the transaction with a threshold value computed from the user-supplied acceptable delay and acceptable overhead parameters, and inserting an interval relating to the transaction in the inadvisable interval list if the size of uncheckpointed data contained in the transaction exceeds the threshold value, and maintaining the inadvisable interval list as redo records are processed and consumed; receiving a user specification of acceptable recovery delay and acceptable checkpoint overhead; and taking a checkpoint when cost effective to do so based on the cost of recovery using the redo information, the cost of taking the checkpoint and the user-specified acceptable delay and overhead.
Claim 2
Independent Claim 271 words
A method for generating checkpointing information in a database management system comprising the steps of: generating redo information based on transactions processed by the database management system; and in response to generation of a block of redo information, determining whether to take a checkpoint by: determining a cost of recovery using the redo information comprising the steps of: determining a cost of recovery using the redo information from a first checkpoint to a point in time with no checkpoint between the first checkpoint and the point in time, and determining a cost of recovery using the redo information from a first checkpoint to the point in time with a second checkpoint between the first checkpoint and the point in time; determining a cost of taking a checkpoint by: generating an inadvisable interval list over which a checkpoint is not to be taken by: determining an inadvisable checkpoint interval by keeping track of a size of uncheckpointed data contained in a transaction and comparing the size of uncheckpointed data contained in the transaction with a threshold value computed from the user-supplied acceptable delay and acceptable overhead parameters, and inserting an interval relating to the transaction in the inadvisable interval list if the size of uncheckpointed data contained in the transaction exceeds the threshold value, and maintaining the inadvisable interval list as redo records are processed and consumed; receiving a user specification of acceptable recovery delay and acceptable checkpoint overhead; and taking a checkpoint when cost effective to do so based on the cost of recovery using the redo information, the cost of taking the checkpoint and the user-specified acceptable delay and overhead.
Claim 3
Dependent Claim 54 words
The method of claim 1 , wherein step of maintaining the inadvisable interval list as redo records are processed and consumed comprises the steps of: by maintaining a sorted list of all inadvisable checkpoint interval; removing an interval from the inadvisable list of intervals when a transaction that contributed to the interval is consumed.
Claim 4
Dependent Claim 30 words
The method of claim 2 , wherein the threshold equals the product of the acceptable recovery delay, the acceptable checkpoint overhead, and a rate of processing of the redo information.
Claim 5
Dependent Claim 102 words
The method of claim 3 , wherein the step of taking a checkpoint based on the cost of recovery using the redo information and on the cost of taking a checkpoint comprises the step of: taking the second checkpoint if the cost of recovery using the redo information from a first checkpoint to the point in time with a second checkpoint between the first checkpoint and the point in time is less than the cost of recovery using the redo information from a first checkpoint to the point in time with no checkpoint between the first checkpoint and the point in time.
Claim 6
Dependent Claim 59 words
The method of claim 4 , further comprising the step of determining the cost-effectiveness of a third checkpoint, comprising the steps of: checking presence of a timestamp of the third checkpoint in the inadvisable interval list; and determining that the third checkpoint is not cost-effective, if the timestamp of the third checkpoint is present in the inadvisable interval list.
Claim 7
Independent Claim 303 words
A system for generating checkpointing information in a database management system comprising: a processor operable to execute computer program instructions; a memory operable to store computer program instructions executable by the processor; and computer program instructions stored in the memory and executable to perform the steps of: generating redo information based on transactions processed by the database management system; and in response to generation of a block of redo information, determining whether to take a checkpoint by: determining a cost of recovery using the redo information comprising the steps of: determining a cost of recovery using the redo information from a first checkpoint to a point in time with no checkpoint between the first checkpoint and the point in time, and determining a cost of recovery using the redo information from a first checkpoint to the point in time with a second checkpoint between the first checkpoint and the point in time; determining a cost of taking a checkpoint by: generating an inadvisable interval list over which a checkpoint is not to be taken by: determining an inadvisable checkpoint interval by keeping track of a size of uncheckpointed data contained in a transaction and comparing the size of uncheckpointed data contained in the transaction with a threshold value computed from the user-supplied acceptable delay and acceptable overhead parameters, and inserting an interval relating to the transaction in the inadvisable interval list if the size of uncheckpointed data contained in the transaction exceeds the threshold value, and maintaining the inadvisable interval list as redo records are processed and consumed; receiving a user specification of acceptable recovery delay and acceptable checkpoint overhead; and taking a checkpoint when cost effective to do so based on the cost of recovery using the redo information, the cost of taking the checkpoint and the user-specified acceptable delay and overhead.
Claim 8
Independent Claim 303 words
A system for generating checkpointing information in a database management system comprising: a processor operable to execute computer program instructions; a memory operable to store computer program instructions executable by the processor; and computer program instructions stored in the memory and executable to perform the steps of: generating redo information based on transactions processed by the database management system; and in response to generation of a block of redo information, determining whether to take a checkpoint by: determining a cost of recovery using the redo information comprising the steps of: determining a cost of recovery using the redo information from a first checkpoint to a point in time with no checkpoint between the first checkpoint and the point in time, and determining a cost of recovery using the redo information from a first checkpoint to the point in time with a second checkpoint between the first checkpoint and the point in time; determining a cost of taking a checkpoint by: generating an inadvisable interval list over which a checkpoint is not to be taken by: determining an inadvisable checkpoint interval by keeping track of a size of uncheckpointed data contained in a transaction and comparing the size of uncheckpointed data contained in the transaction with a threshold value computed from the user-supplied acceptable delay and acceptable overhead parameters, and inserting an interval relating to the transaction in the inadvisable interval list if the size of uncheckpointed data contained in the transaction exceeds the threshold value, and maintaining the inadvisable interval list as redo records are processed and consumed; receiving a user specification of acceptable recovery delay and acceptable checkpoint overhead; and taking a checkpoint when cost effective to do so based on the cost of recovery using the redo information, the cost of taking the checkpoint and the user-specified acceptable delay and overhead.
Claim 9
Dependent Claim 54 words
The system of claim 6 , wherein step of maintaining the inadvisable interval list as redo records are processed and consumed comprises the steps of: by maintaining a sorted list of all inadvisable checkpoint interval; removing an interval from the inadvisable list of intervals when a transaction that contributed to the interval is consumed.
Claim 10
Dependent Claim 30 words
The system of claim 7 , wherein the threshold equals the product of the acceptable recovery delay, the acceptable checkpoint overhead, and a rate of processing of the redo information.
Claim 11
Dependent Claim 102 words
The system of claim 8 , wherein the step of taking a checkpoint based on the cost of recovery using the redo information and on the cost of taking a checkpoint comprises the step of: taking the second checkpoint if the cost of recovery using the redo information from a first checkpoint to the point in time with a second checkpoint between the first checkpoint and the point in time is less than the cost of recovery using the redo information from a first checkpoint to the point in time with no checkpoint between the first checkpoint and the point in time.
Claim 12
Dependent Claim 59 words
The system of claim 9 , further comprising the step of determining the cost-effectiveness of a third checkpoint, comprising the steps of: checking presence of a timestamp of the third checkpoint in the inadvisable interval list; and determining that the third checkpoint is not cost-effective, if the timestamp of the third checkpoint is present in the inadvisable interval list.
Claim 13
Dependent Claim 294 words
A computer program product for generating checkpointing information in a database management system comprising: a computer readable storage medium; computer program instructions, recorded on the computer readable storage medium, executable by a processor, for performing the steps of generating redo information based on transactions processed by the database management system; and in response to generation of a block of redo information, determining whether to take a checkpoint by: determining a cost of recovery using the redo information comprising the steps of: determining a cost of recovery using the redo information from a first checkpoint to a point in time with no checkpoint between the first checkpoint and the point in time, and determining a cost of recovery using the redo information from a first checkpoint to the point in time with a second checkpoint between the first checkpoint and the point in time; determining a cost of taking a checkpoint by: generating an inadvisable interval list over which a checkpoint is not to be taken by: determining an inadvisable checkpoint interval by keeping track of a size of uncheckpointed data contained in a transaction and comparing the size of uncheckpointed data contained in the transaction with a threshold value computed from the user-supplied acceptable delay and acceptable overhead parameters, and inserting an interval relating to the transaction in the inadvisable interval list if the size of uncheckpointed data contained in the transaction exceeds the threshold value, and maintaining the inadvisable interval list as redo records are processed and consumed; receiving a user specification of acceptable recovery delay and acceptable checkpoint overhead; and taking a checkpoint when cost effective to do so based on the cost of recovery using the redo information, the cost of taking the checkpoint and the user-specified acceptable delay and overhead.
Claim 14
Dependent Claim 294 words
A computer program product for generating checkpointing information in a database management system comprising: a computer readable storage medium; computer program instructions, recorded on the computer readable storage medium, executable by a processor, for performing the steps of generating redo information based on transactions processed by the database management system; and in response to generation of a block of redo information, determining whether to take a checkpoint by: determining a cost of recovery using the redo information comprising the steps of: determining a cost of recovery using the redo information from a first checkpoint to a point in time with no checkpoint between the first checkpoint and the point in time, and determining a cost of recovery using the redo information from a first checkpoint to the point in time with a second checkpoint between the first checkpoint and the point in time; determining a cost of taking a checkpoint by: generating an inadvisable interval list over which a checkpoint is not to be taken by: determining an inadvisable checkpoint interval by keeping track of a size of uncheckpointed data contained in a transaction and comparing the size of uncheckpointed data contained in the transaction with a threshold value computed from the user-supplied acceptable delay and acceptable overhead parameters, and inserting an interval relating to the transaction in the inadvisable interval list if the size of uncheckpointed data contained in the transaction exceeds the threshold value, and maintaining the inadvisable interval list as redo records are processed and consumed; receiving a user specification of acceptable recovery delay and acceptable checkpoint overhead; and taking a checkpoint when cost effective to do so based on the cost of recovery using the redo information, the cost of taking the checkpoint and the user-specified acceptable delay and overhead.
Claim 15
Dependent Claim 56 words
The computer program product of claim 11 , wherein step of maintaining the inadvisable interval list as redo records are processed and consumed comprises the steps of: by maintaining a sorted list of all inadvisable checkpoint interval; removing an interval from the inadvisable list of intervals when a transaction that contributed to the interval is consumed.
Claim 16
Dependent Claim 32 words
The computer program product of claim 12 , wherein the threshold equals the product of the acceptable recovery delay, the acceptable checkpoint overhead, and a rate of processing of the redo information.
Claim 17
Dependent Claim 104 words
The computer program product of claim 13 , wherein the step of taking a checkpoint based on the cost of recovery using the redo information and on the cost of taking a checkpoint comprises the step of: taking the second checkpoint if the cost of recovery using the redo information from a first checkpoint to the point in time with a second checkpoint between the first checkpoint and the point in time is less than the cost of recovery using the redo information from a first checkpoint to the point in time with no checkpoint between the first checkpoint and the point in time.
Claim 18
Dependent Claim 61 words
The computer program product of claim 14 , further comprising the step of determining the cost-effectiveness of a third checkpoint, comprising the steps of: checking presence of a timestamp of the third checkpoint in the inadvisable interval list; and determining that the third checkpoint is not cost-effective, if the timestamp of the third checkpoint is present in the inadvisable interval list.

References Cited (Backward Citations)

US5574897A Cited
US5758359A Cited
US6769074B2 Cited
US7055063B2 Cited
US6834358B2 Cited
US6820217B2 Cited
US6799189B2 Cited
US20060202083A1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2011-04-22 2011-10-22 2012-04-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2015-04-22 2015-10-22 2016-04-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2019-04-22 2019-10-22 2020-04-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag