7631018

Flashback Database

PublishedDecember 8, 2009
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
40 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for returning a repository to a target prior logical state, comprising the steps of: receiving a request to return said repository to said target prior logical state, wherein said target prior logical state is a consistent state of said repository at a target point in time, and wherein said target prior logical state is prior to a most recent consistent logical state of said repository; in response to said request, performing the steps of: applying undo to data that is persistently stored in said repository, wherein said undo includes information necessary to return said data back to a previous state, and wherein application of the undo causes said data to reflect said previous state; and after applying said undo, applying redo to move said data from said previous state to said target prior logical state, wherein said redo includes information about how to re-perform changes to said data; wherein the steps are performed on one or more computing devices.

2

2. The method of claim 1 , wherein: the step of applying said undo includes assigning undo records to a plurality of processes; and the plurality of processes apply the undo records in parallel relative to each other.

3

3. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2 .

4

4. The method of claim 1 , wherein: the step of applying said undo causes blocks in said repository to reflect times prior to said target point in time; and the step of applying redo includes applying said redo to move said data in said repository forward in time to said target prior logical state.

5

5. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4 .

6

6. The method of claim 4 , wherein said undo is a first type of undo, wherein the step of applying redo includes, after applying said redo, applying a second type of undo to remove from at least some of said data changes that were made by transactions that had not committed at or before said target point in time.

7

7. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 6 .

8

8. The method of claim 1 , wherein the step of applying said undo to said data in said repository includes: applying, to a first set of said data, said undo associated with a gate that corresponds to a particular point in time, wherein said gate is a specific point in time for which said undo is generated; and applying, to a second set of said data, said undo associated with an anticipatory gate that precedes said gate.

9

9. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8 .

10

10. The method of claim 8 , further comprising: generating said undo for some but not all first-after-anticipatory-gate updates made after said anticipatory gate; and generating said undo for all first-after-gate updates made after said gate, except for updates made to data for which said undo was generated after said anticipatory gate.

11

11. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 10 .

12

12. The method of claim 10 , further comprising: determining whether to generate said undo for a first-after-anticipatory-gate update based on availability of resources when said first-after-anticipatory-gate update is performed.

13

13. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 12 .

14

14. The method of claim 1 , further comprising: generating said undo based on gates that are associated with particular points in time; storing said undo as a series of flashback records in a flashback log; and storing data that correlates said gates with locations in said flashback log.

15

15. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 14 .

16

16. The method of claim 14 , wherein the step of storing data that correlates said gates with locations in said flashback log includes storing, for each gate of said gates, a gate marker within said flashback log.

17

17. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 16 .

18

18. The method of claim 16 , further comprising the step of using the gate marker associated with a gate to determine which flashback records to process to return said repository to the previous state associated with said gate.

19

19. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 18 .

20

20. The method of claim 16 , wherein: the gate marker includes data that indicates a location in a redo log; and the method further includes using said location in the redo log to determine which redo to process.

21

21. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 20 .

22

22. The method of claim 16 , wherein: the gate marker includes data that indicates a location in said flashback log; and the method further includes using said location in the flashback log to determine which flashback entries to process.

23

23. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 22 .

24

24. The method of claim 16 , further comprising storing, within each gate marker, a link to a previous gate marker in said flashback log.

25

25. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 24 .

26

26. The method of claim 1 , wherein: a plurality of entities have access to said repository; and each entity of said plurality of entities maintains a separate log containing undo information, for said undo, for at least some of the data.

27

27. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 26 .

28

28. The method of claim 26 , further comprising establishing a gate by performing the steps of: designating one of said plurality of entities to be a coordinator; causing the coordinator to send to each other of said entities a begin-logging message; causing each other entity to respond to the begin-logging message by generating said undo for all updates; after sending the begin-logging message, causing the coordinator to send to each other of said entities a gate-established message; and causing each other entity to respond to the gate-established message by only generating said undo for first-after-gate updates.

29

29. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 28 .

30

30. The method of claim 28 , wherein: each other entity also responds to the begin-logging message by sending to the coordinator a response; and the coordinator sends the gate-established message after receiving responses for all of said other entities.

31

31. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 30 .

32

32. The method of claim 30 , wherein: the response sent by each other entity indicates a location within the separate log of the entity; and the coordinator stores data that associates said gate with location information, wherein said location information identifies the locations indicated in the responses received from said each other entity.

33

33. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 32 .

34

34. The method of claim 32 , wherein the step of storing data that associates said gate with location information includes storing, within the separate log of said coordinator, a marker for said gate, wherein said marker includes links to the locations indicated in the responses received from said each other entity.

35

35. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 34 .

36

36. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1 .

37

37. A method for reverting a repository to a prior state, comprising the steps of: establishing an anticipatory gate associated with a first point in time; generating first undo for some but not all first-after-anticipatory-gate updates made to data that resides in the repository; establishing a gate associated with a second point in time that is later than said first point in time; generating second undo for all first-after-gate updates made to data that resides in the repository, except for updates made to data for which said first undo was generated for said anticipatory gate; reverting said repository to a state at least as early as said second point in time by performing the steps of: using the first undo associated with said anticipatory gate to revert a first set of data of said repository back to a time that precedes said second point in time; and using the second undo associated with said gate to revert a second set of data of said repository back to said second point in time; wherein the steps are performed on one or more computing devices.

38

38. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 37 .

39

39. The method of claim 37 , further comprising the step of determining whether to generate said second undo for a first-after-anticipatory-gate update based on availability of resources when said first-after-anticipatory-gate update is performed.

40

40. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 39 .

Patent Metadata

Filing Date

Unknown

Publication Date

December 8, 2009

Inventors

J. William Lee
Juan Loaiza
Michael J. Stewart
Wei-Ming Hu
William H. Bridge JR.

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “FLASHBACK DATABASE” (7631018). https://patentable.app/patents/7631018

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

FLASHBACK DATABASE — J. William Lee | Patentable