Cloud-based destination for block-level data replication processing
US-2024354022-A1 · Oct 24, 2024 · US
US9519551B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9519551-B2 |
| Application number | US-201313892150-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 10, 2013 |
| Priority date | Mar 28, 2013 |
| Publication date | Dec 13, 2016 |
| Grant date | Dec 13, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The recovery of one or more transactions in a computing system in which one or more persistent systems are coupled via a bus to one or more processors. As an example, the persistent system may serve as at least part of the main memory of the computing system. The transaction might implement multi-versioning in which a record is not updated in place. Rather, each record is represented as a sequence of one or more record versions, each version having a valid interval during which the record version is considered to properly represent the record.
Opening claim text (preview).
What is claimed is: 1. A method for recovering a transaction in a computing system that includes a persistent system coupled to one or more processors via a bus, the method comprising: an act of identifying a log buffer in the persistent system, the log buffer containing post-commit processing information that is persisted in the persistent system and that corresponds to a transaction and that includes both a commit marker and a pointer reference for each of a plurality of different written record versions that are also persisted in the persistent system; an act of identifying each written record version of the plurality of different written record versions that is created or updated by the transaction using the post-commit processing information; for each written record version that is created or updated by the transaction, an act of updating a valid interval of said each written record using the commit marker of the post-commit processing information; providing the updated valid interval to the persistent system; and issuing a persist command to the persistent system, subsequent to providing the updated valid interval to the persistent system, which causes data provided to the persistent system and that is temporarily maintained in a buffer of the persistent system to be persisted, thereby further facilitating making the updated valid interval durable. 2. The method in accordance with claim 1 , wherein the act of updating the valid interval comprises: for each record version that is created by the transaction, an act of updating a valid interval begin boundary using the commit marker. 3. The method in accordance with claim 1 , wherein the act of updating the valid interval comprises: for each record version that is updated by the transaction, an act of updating a valid interval end boundary using the commit marker. 4. The method in accordance with claim 1 , wherein the act of identifying the log buffer in the persistent system comprises: an act of identifying the log buffer being marked as complete within the persistent system; and an act of identifying the transaction using the post-commit processing information within the log buffer. 5. A computer program product comprising one or more computer-readable storage media having thereon computer-executable instructions that are executable by one or more processors of a computing system to cause the computing system to implement the following as part of a recovery: identify one or more log buffers that are marked as being complete in the persistent system, each of the one or more log buffers being marked as complete including post-commit processing information for each of a plurality of different written record versions that are also persisted in the persistent system; and for each of the one or more identified complete log buffers, use post-commit processing information included within the log buffer to: identify each written record version of the plurality of different written record versions that is created or updated by a transaction using the post-commit processing information, the post-commit processing information including both a commit marker and a pointer reference for each of the written record versions; for each written record version that is created or updated by the transaction, update a valid interval of said each written record version by using a commit marker of the post-commit processing information; providing the updated valid interval to the persistent system; and issuing a persist command to the persistent system, subsequent to providing the updated valid interval to the persistent system, which causes data provided to the persistent system and that is temporarily maintained in a buffer of the persistent system to be persisted, thereby further facilitating making the updated valid interval durable. 6. The computer program product in accordance with claim 5 , wherein the computer-executable instructions are further configured to cause the computing system to: identify one or more log buffers that are not marked as being complete in the persistent system; and for each of the one or more identified log buffers that are not identified as being complete in the persistent system, free the log buffer so that it is available to be associated with another transaction. 7. The computer program product in accordance with claim 6 , wherein the computer-executable instructions are further configured to cause the computing system to: set a state of the log buffer to represent that the log buffer is available to be associated with another transaction; and provide the state that represents that the log buffer is available to the persistent memory. 8. The computer program product in accordance with claim 7 , wherein the computer-executable instructions are further configured to cause the computing system to: confirm that the state that represents that the log buffer is available has been persisted in the persistent system. 9. The computer program product in accordance with claim 5 , wherein the computer-executable instructions are further configured to cause the computing system to, for each of the one or more identified complete log buffers, free the corresponding log buffer so that it is available to be associated with another transaction after the valid interval is updated. 10. The computer program product in accordance with claim 9 , wherein the computer-executable instructions are further configured to cause the computing system to recover the database to a valid state after the log buffers for each of the one or more identified complete log buffers are freed. 11. The computer program product in accordance with claim 9 , wherein the computer-executable instructions are further configured to cause the computing system to recover the database to the valid state by causing the computing system to: locate all record versions that are currently valid; locate empty record slots; and rebuild indexes of the database. 12. The computer program product in accordance with claim 11 , wherein the computer-executable instructions are further configured to cause the computing system to rebuild the indexes by causing the computing system, for each of at least some portions corresponding to a database in the persistent system, to: access a valid interval begin boundary for the memory portion; use the valid interval begin boundary to identify that the memory portion contains at least a portion of a record version that is not part of a transaction; and add the memory portion to a free list. 13. The computer program product in accordance with claim 11 , wherein the computer-executable instructions are further configured to cause the computing system to rebuild the indexes by causing the computing system, for each of at least some portions corresponding to a database in the persistent system, to: access a valid interval begin boundary for the memory portion; use the valid interval begin boundary to identify that the memory portion contains at least a portion of a record version that was created by an uncommitted transaction; modify the memory portion so that the memory portion is considered to be free; and add the memory portion to a free list. 14. The computer program product in accordance with claim 11 , wherein the computer-executable instructions are further configured to cause the computing system to rebuild the indexes by causing the computing system, for each of at least some portions corresponding to a database in the persistent system, to: access a valid interval begin boundary for the memory portion; use the valid interval begin boundary to identify
Restarting or rejuvenating · CPC title
Physics · mapped topic
Physics · mapped topic
involving logging of persistent data for recovery · CPC title
Management of the backup or restore process · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.