7613743

Methods and Apparatuses for Data Protection

PublishedNovember 3, 2009
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
22 claims

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

1

1. A machine readable storage medium containing executable computer program instructions which when executed by a data processing system cause said system to perform a method, comprising: atomically recording a first global transaction identifier to indicate a first consistent point, the first consistent point comprising a plurality of first versions of a plurality of data structures, wherein each of the plurality of first versions is tagged with a different one of a first set of a plurality of transaction identifiers, wherein each of the first set of transaction identifiers indicate that the plurality of first versions are created no later than the first global transaction identifier; creating one or more second versions of a portion of the plurality of data structures without destroying the plurality of first versions of the plurality of data structures, wherein each of the one or more second versions is tagged with a different one of a second set of one or more transaction identifiers, wherein each of the second set of transaction identifiers indicate that the one or more second versions are created no earlier than the first global transaction identifier; and atomically recording a second global transaction identifier to indicate a second consistent point, the second consistent point comprising the one or more second versions of the portion of the plurality of data structures and a portion of the plurality of first versions of the plurality of data structures, wherein each of the second set of one or more transaction identifiers further indicate that the one or more second versions are created no later than the second global transaction identifier; recording information identifying the portion of the plurality of data structures before creating the one or more second versions; and searching the portion of the plurality of data structures according to the information for invalid versions after a crash.

2

2. The medium of claim 1 , wherein the portion of the plurality of first versions of the plurality of data structures is a null set.

3

3. The medium of claim 1 , wherein the data structures comprise metadata of a file system for at least one machine readable storage device; and wherein a portion of the data structure corresponding to the portion of the plurality of first versions is not changed between the first and second consistent points.

4

4. The medium of claim 1 , wherein the method further comprises: determining one or more third transaction identifiers after the crash, the one or more third transaction identifiers including the one or more second transaction identifiers; and recording information specifying the one or more third transaction identifiers to indicate that versions tagged with the one or more third transaction identifiers are invalid.

5

5. The medium of claim 4 , wherein the method further comprises: searching in a background process for an invalid version that is tagged with one of the one or more third transaction identifiers.

6

6. A method for data protection, the method comprising: atomically recording a first global transaction identifier to indicate a first consistent point for a plurality of first versions of a plurality of data structures, wherein each of the plurality of first versions is tagged with a different one of a first set of a plurality of transaction identifiers, wherein each of the first set of transaction identifiers indicate that the plurality of first versions are created no later than the first global transaction identifier; creating one or more second versions of a portion of the plurality of data structures without destroying the plurality of first versions of the plurality of data structures, wherein each of the one or more second versions is tagged with a different one of a second set of one or more transaction identifiers, wherein each of the second set of transaction identifiers indicate that each of the one or more second versions are created no earlier than the first global transaction identifier; and atomically recording a second global transaction identifier to indicate a second consistent point for the one or more second versions of the portion of the plurality of data structures and a portion of the plurality of first versions of the plurality of data structures, wherein each of the second set of one or more transaction identifiers further indicate that each of the one or more second versions are created no later than the second global transaction identifier; recording information identifying the portion of the plurality of data structures before creating the one or more second versions; and searching the portion of the plurality of data structures according to the information for invalid versions after a crash.

7

7. The method of claim 6 , wherein the data structures comprise metadata of a file system.

8

8. The method of claim 7 , further comprising: determining one or more third transaction identifiers after a crash, the one or more third transaction identifiers including the one or more second transaction identifiers; recording information specifying the one or more third transaction identifiers to indicate that versions tagged with the one or more third transaction identifiers are invalid; and searching in a background process for an invalid version that is tagged with one of the one or more third transaction identifiers.

9

9. A machine readable storage-medium containing executable computer program instructions which when executed by a data processing system cause said system to perform a method for processing data, the method comprising: maintaining a first version of portions of a file and a corresponding first transaction ID; storing a second version of portions of the file and a corresponding second transaction ID, said second version being identifiable as a later version with respect to said first version through comparison of said first and second transaction IDs; and storing, through an atomic recording process, a global transaction ID to mark a consistent point in relation with the first and second transaction IDs, wherein said first version or said second version is determined to be part of said consistent point through comparison of said first and second transaction IDs and said global transaction ID, wherein said second version is part of the consistent point if said second transaction ID is less than the global transaction ID and said first version is part of the consistent point if said second transaction ID is greater than the global transaction ID; wherein a later recorded version has a transaction ID higher than a corresponding earlier recorded version, and, a version with a transaction ID closest to, but not larger than, the global transaction ID is a part of the consistent point.

10

10. The medium of claim 9 , wherein the global transaction ID marks the consistent point for a plurality of files based on a relation between the global transaction ID and transaction IDs of versions of portions of the plurality of files.

11

11. The medium of claim 9 , wherein the file, the first and second transaction ID and the global transaction ID are stored in one non-volatile storage device.

12

12. A method for processing data, the method comprising: maintaining a first version of portions of a file and a corresponding first transaction ID; storing a second version of portions of the file and a corresponding second transaction ID, said second version being identifiable as a later version with respect to said first version through comparison of said first and second transaction IDs; and storing, through an atomic recording process, a global transaction ID to mark a consistent point in relation with the first and second transaction IDs, wherein said first version or said second version is determined to be part of said consistent point through comparison of said first and second transaction IDs and said global transaction ID, wherein said second version is part of the consistent point if said second transaction ID is less than the global transaction ID and said first version is part of the consistent point if said second transaction ID is greater than the global transaction ID; wherein a later recorded version has a transaction ID higher than a corresponding earlier recorded version, and, a version with a transaction ID closest to, but not larger than, the global transaction ID is a part of the consistent point.

13

13. The method of claim 12 , wherein the global transaction ID marks the consistent point for a plurality of files based on a relation between the global transaction ID and transaction IDs of versions of portions of the plurality of files; and wherein the file, the first and second transaction ID and the global transaction ID are stored in one non-volatile storage device.

14

14. A machine readable storage medium containing executable computer program instructions which when executed by a data processing system cause said system to perform a method, comprising: atomically recording a first global transaction identifier to indicate a first consistent point, the first consistent point comprising a plurality of first versions of a plurality of data structures, wherein each of the plurality of first versions is tagged with a different one of a first set of a plurality of transaction identifiers, wherein each of the first set of transaction identifiers indicate that the plurality of first versions are created no later than the first global transaction identifier; creating one or more second versions of a portion of the plurality of data structures without destroying the plurality of first versions of the plurality of data structures, wherein each of the one or more second versions is tagged with a different one of a second set of one or more transaction identifiers, wherein each of the second set of transaction identifiers indicate that the one or more second versions are created no earlier than the first global transaction identifier; and atomically recording a second global transaction identifier to indicate a second consistent point, the second consistent point comprising the one or more second versions of the portion of the plurality of data structures and a portion of the plurality of first versions of the plurality of data structures, wherein each of the second set of one or more transaction identifiers further indicate that the one or more second versions are created no later than the second global transaction identifier; determining one or more third transaction identifiers after a crash, the one or more third transaction identifiers including the one or more second transaction identifiers; and, recording information specifying the one or more third transaction identifiers to indicate that versions tagged with the one or more third transaction identifiers are invalid.

15

15. The medium of claim 14 , wherein the method further comprises: searching in a background process for an invalid version that is tagged with one of the one or more third transaction identifiers.

16

16. A method for data protection, the method comprising: atomically recording a first global transaction identifier to indicate a first consistent point for a plurality of first versions of a plurality of data structures, wherein each of the plurality of first versions is tagged with a different one of a first set of a plurality of transaction identifiers, wherein each of the first set of transaction identifiers indicate that the plurality of first versions are created no later than the first global transaction identifier; creating one or more second versions of a portion of the plurality of data structures without destroying the plurality of first versions of the plurality of data structures, wherein each of the one or more second versions is tagged with a different one of a second set of one or more transaction identifiers, wherein each of the second set of transaction identifiers indicate that each of the one or more second versions are created no earlier than the first global transaction identifier; and atomically recording a second global transaction identifier to indicate a second consistent point for the one or more second versions of the portion of the plurality of data structures and a portion of the plurality of first versions of the plurality of data structures, wherein each of the second set of one or more transaction identifiers further indicate that each of the one or more second versions are created no later than the second global transaction identifier; determining one or more third transaction identifiers after a crash, the one or more third transaction identifiers including the one or more second transaction identifiers; recording information specifying the one or more third transaction identifiers to indicate that versions tagged with the one or more third transaction identifiers are invalid; and searching in a background process for an invalid version that is tagged with one of the one or more third transaction identifiers.

17

17. The method of claim 16 , wherein the data structures comprise metadata of a file system.

18

18. A machine readable storage medium containing executable computer program instructions which when executed by a data processing system cause said system to perform a method for processing data, the method comprising: maintaining a first version of portions of a file and a corresponding first transaction ID; storing a second version of portions of the file and a corresponding second transaction ID, said second version being identifiable as a later version with respect to said first version through comparison of said first and second transaction IDs; and storing, through an atomic recording process, a global transaction ID to mark a consistent point in relation with the first and second transaction IDs, wherein said first version or said second version is determined to be part of said consistent point through comparison of said first and second transaction IDs and said global transaction ID, wherein said second version is part of the consistent point if said second transaction ID is less than the global transaction ID and said first version is part of the consistent point if said second transaction ID is greater than the global transaction ID; wherein the global transaction ID marks the consistent point for a plurality of files based on a relation between the global transaction ID and transaction IDs of versions of portions of the plurality of files.

19

19. The medium of claim 18 , wherein the file, the first and second transaction ID and the global transaction ID are stored in one non-volatile storage device.

20

20. A method for processing data, the method comprising: maintaining a first version of portions of a file and a corresponding first transaction ID; storing a second version of portions of the file and a corresponding second transaction ID, said second version being identifiable as a later version with respect to said first version through comparison of said first and second transaction IDs; and storing, through an atomic recording process, a global transaction ID to mark a consistent point in relation with the first and second transaction IDs, wherein said first version or said second version is determined to be part of said consistent point through comparison of said first and second transaction IDs and said global transaction ID, wherein said second version is part of the consistent point if said second transaction ID is less than the global transaction ID and said first version is part of the consistent point if said second transaction ID is greater than the global transaction ID; wherein the global transaction ID marks the consistent point for a plurality of files based on a relation between the global transaction ID and transaction IDs of versions of portions of the plurality of files; and wherein the file, the first and second transaction ID and the global transaction ID are stored in one non-volatile storage device.

21

21. The medium of claim 20 , wherein the file, the first and second transaction ID and the global transaction ID are stored in one non-volatile storage device.

22

22. A method for processing data, the method comprising: maintaining a first version of portions of a file and a corresponding first transaction ID; storing a second version of portions of the file and a corresponding second transaction ID, said second version being identifiable as a later version with respect to said first version through comparison of said first and second transaction IDs; and storing, through an atomic recording process, a global transaction ID to mark a consistent point in relation with the first and second transaction IDs, wherein said first version or said second version is determined to be part of said consistent point through comparison of said first and second transaction IDs and said global transaction ID, wherein said second version is part of the consistent point if said second transaction ID is less than the global transaction ID and said first version is part of the consistent point if said second transaction ID is greater than the global transaction ID; wherein the global transaction ID marks the consistent point for a plurality of files based on a relation between the global transaction ID and transaction IDs of versions of portions of the plurality of files; and wherein the file, the first and second transaction ID and the global transaction ID are stored in one non-volatile storage device.

Patent Metadata

Filing Date

Unknown

Publication Date

November 3, 2009

Inventors

Dominic Benjamin Giampaolo
Michael Steven MacKovitch

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. “METHODS AND APPARATUSES FOR DATA PROTECTION” (7613743). https://patentable.app/patents/7613743

© 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.

METHODS AND APPARATUSES FOR DATA PROTECTION — Dominic Benjamin Giampaolo | Patentable