System and method for file and file system integrity using meta-data
US-2023350953-A1 · Nov 2, 2023 · US
US12321479B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12321479-B2 |
| Application number | US-202318162111-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 31, 2023 |
| Priority date | Jan 31, 2023 |
| Publication date | Jun 3, 2025 |
| Grant date | Jun 3, 2025 |
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.
A computing device executing a kernel-based operating system creates a content-addressed object store containing files of a filesystem. The computing device generates a metadata file that describes characteristics of the files of the filesystem that are in the content-addressed object store. The computing device, in a kernel of the operating system, generates a Merkle tree of the metadata file and a Merkle tree of the content-addressed object store. The Merkle trees contain hashes of blocks of the metadata file and hashes of blocks of the files in the content-addressed object store. The computing device, in the kernel, verifies that a digest corresponding to the metadata file matches an expected digest for the metadata file and that digests corresponding to the files in the content-addressed object store match expected digests for the files in the content-addressed object store. The computing device mounts the metadata file to a location in the filesystem.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: creating, by a computing device executing a kernel-based operating system, a content-addressed object store containing files of a filesystem; generating, by the computing device, a metadata file that describes characteristics of the files of the filesystem that are in the content-addressed object store; generating, by the computing device in a kernel of the kernel-based operating system, a Merkle tree of the metadata file and a Merkle tree of the content-addressed object store, wherein the Merkle tree of the metadata file contains hashes of blocks of the metadata file and the Merkle tree of the content-addressed object store contains hashes of blocks of the files in the content-addressed object store; verifying, by the computing device in the kernel of the kernel-based operating system, that a digest corresponding to the metadata file matches an expected digest for the metadata file and digests corresponding to the files in the content-addressed object store match expected digests for the files in the content-addressed object store; and mounting, by the computing device, the metadata file to a location in the filesystem. 2. The method of claim 1 , wherein, subsequent to generating the Merkle tree of the metadata file and the content-addressed object store, the metadata file and the files in the content-addressed object store are read-only. 3. The method of claim 1 , further comprising, subsequent to generating the Merkle tree of the metadata file and the content-addressed object store, recording the digest corresponding to the metadata file and the digests corresponding to the files in the content-addressed object store. 4. The method of claim 1 , wherein verifying that the digest corresponding to the metadata file matches the expected digest for the metadata file comprises retrieving the digest corresponding to the metadata file from a secure location. 5. The method of claim 1 , wherein the content-addressed object store is named in the digests corresponding to the files in the content-addressed object store. 6. The method of claim 1 , wherein the metadata file contains the digests corresponding to the files in the content-addressed object store. 7. The method of claim 1 , wherein the metadata file contains one or more of file names, owner information, permissions, timestamps, extended attributes, directory structure, and paths of the files in the filesystem. 8. The method of claim 1 , wherein the metadata file does not include contents of the files in the filesystem. 9. The method of claim 1 , wherein the location in the filesystem is determined by a user. 10. The method of claim 1 , wherein verifying that the digest corresponding to the metadata file matches the expected digest for the metadata file and the digests corresponding to the files in the content-addressed object store match the expected digests for the files in the content-addressed object store occurs at runtime. 11. The method of claim 1 , further comprising: generating a plurality of metadata files, wherein two or more of the metadata files contain an identical digest corresponding to at least one file in the content-addressed object store; mounting the plurality of metadata files to one or more locations in the filesystem; and storing the at least one file once on a disk of the computing device. 12. The method of claim 11 , wherein the plurality of metadata files share file data on disk and in page cache. 13. The method of claim 11 , wherein metadata in a first metadata file from among the plurality of metadata files differs from metadata in a second metadata file from among the plurality of metadata files. 14. The method of claim 1 , wherein the content-addressed object store comprises an OSTree repository containing filesystem trees that each contain one or more of content files and operating system binaries. 15. The method of claim 14 , further comprising: subsequent to mounting the metadata file, performing an OSTree commit, wherein the OSTree commit comprises changes to a filesystem tree of the OSTree repository; obtaining the metadata file and the digest corresponding to the metadata file, wherein the metadata file includes metadata for the OSTree commit; adding the digest corresponding to the metadata file to the metadata file; generating a second metadata file, wherein the second metadata file contains the digest corresponding to the metadata and the metadata file; and mounting the second metadata file to a location in the filesystem. 16. A computing device, comprising: a memory; and a processor device coupled to the memory, the processor device to: create a content-addressed object store containing files of a filesystem; generate a metadata file that describes characteristics of the files of the filesystem that are in the content-addressed object store; generate a Merkle tree of the metadata file and a Merkle tree of the content-addressed object store, wherein the Merkle tree of the metadata file contains hashes of blocks of the metadata file and the Merkle tree of the content-addressed object store contains hashes of blocks of the files in the content-addressed object store; verify that a digest corresponding to the metadata file matches an expected digest for the metadata file and digests corresponding to the files in the content-addressed object store match expected digests for the files in the content-addressed object store; and mount the metadata file to a location in the filesystem. 17. The computing device of claim 16 , wherein, subsequent to generating the Merkle tree of the metadata file and the content-addressed object store, the metadata file and the files in the content-addressed object store are read-only. 18. The computing device of claim 16 , wherein the processor device is further to, subsequent to generating the Merkle tree of the metadata file and the content-addressed object store, record the digest corresponding to the metadata file and the digests corresponding to the files in the content-addressed object store. 19. The computing device of claim 16 , wherein the processor device is further to: generate a plurality of metadata files, wherein two or more of the metadata files contain an identical digest corresponding to at least one file in the content-addressed object store; mount the plurality of metadata files to one or more locations in the filesystem; and store the at least one file once on a disk of the computing device. 20. A non-transitory computer-readable storage medium that includes computer-executable instructions that, when executed, cause one or more processor devices to: create a content-addressed object store containing files of a filesystem; generate a metadata file that describes characteristics of the files of the filesystem that are in the content-addressed object store; generate a Merkle tree of the metadata file and a Merkle tree of the content-addressed object store, wherein the Merkle tree of the metadata file contains hashes of blocks of the metadata file and the Merkle tree of the content-addressed object store contains hashes of blocks of the files in the content-addressed object store; verify that a digest corresponding to the metadata file matches an expected digest for the metadata file and digests corresponding to the files in the content-addressed object store match expected digests for the files in the content-addressed object store; and mount the metadata file to a location in the filesystem.
Protecting data integrity, e.g. using checksums, certificates or signatures · CPC title
where protection concerns the structure of data, e.g. records, types, queries · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.