11249672

Low-Cost Backup and Edge Caching Using Unused Disk Blocks

PublishedFebruary 15, 2022
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
18 claims

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

1

1. A system configured to cache data from a first computer system on one or more second computer systems, each second computer system distinct from the first computer system and comprising a physical processor and a local storage, and wherein each second computer system is configured by software to perform the steps of: caching a plurality of files from the first computer system on the second computer system, wherein, in response to a request from the first computer system, the processor of the second computer system is configured to perform the following steps: storing the plurality of files in the local storage using a file system, wherein the file system stores the plurality of files in one or more sets of available file system data blocks; providing, to the first computer system, a block location record describing storage locations of the one or more sets of file system data blocks in the local storage corresponding to the plurality of files; after, and responsive to, providing the block location record to the first computer system, marking the storage locations of the one or more sets of file system data blocks in the local storage as available storage space; receiving, at the second computer system, a request from a third computer system, distinct from the first computer system and the second computer system, to provide contents of the plurality of files received from the first computer system, wherein the third computer system maintains a mapping of particular data of the first computer system to particular locations in the second computer system, and wherein the request from the third computer system includes information included in the block location record provided to the first computer system identifying the data blocks in the local storage of the second computer system that correspond to the plurality of files including a first hash value derived from the plurality of files; calculating a second hash value derived from the data blocks of the requested plurality of files; and comparing the first hash value to the second hash value to determine whether the data blocks of the plurality of files match, and in response retrieving contents of the data blocks for the plurality of files identified in the request using the information included in the block location record provided by the third computer system; and transmitting the contents of the data blocks to the third computer system.

2

2. The system of claim 1 , wherein the second computer system performs primary activities unrelated to storing the cached plurality of files.

3

3. The system of claim 1 , wherein the first computer system is further configured to transmit the block location record to a management computer configured to track which of the storage computer systems has stored the cached plurality of files.

4

4. The system of claim 1 , wherein the second computer system is further configured to perform the steps of: providing the data blocks of the plurality of files to the third computer system if the first hash value matches the second hash value, and transmitting a notification to the third computer that the data blocks of the plurality of files does not match if the hash value does not match the second hash value.

5

5. The system of claim 1 , wherein the third computer system stores a mapping of an identification of the plurality of files to the block location record to an identification of the one or more second computer systems storing the cached data in the one or more file system data blocks.

6

6. The system of claim 1 , wherein the data is encrypted prior to requesting the file system to store the data in the local storage.

7

7. The system of claim 1 , wherein providing the plurality of files to the one or more second computer systems includes providing a copy of the plurality of files to each second computer system such that each second computer system of the set has a corresponding cached copy of the plurality of files.

8

8. The system of claim 1 , wherein marking the storage locations as unused space includes deleting one or more file descriptors that track the one or more sets of file system blocks used to store the cached plurality of files.

9

9. A method comprising: caching a plurality of files from a first computer system on one or more distinct second computer systems, wherein, in response to a request from the first computer system, a processor of each of the one or more second computer systems is configured to perform the following steps: storing the plurality of files in a local storage using a file system, wherein the file system stores the plurality of files in one or more sets of available file system data blocks; providing, to the first computer system, a block location record describing storage locations of the one or more sets of file system data blocks in the local storage corresponding to the plurality of files; after providing the block location record to the first computer system, marking the storage locations of the one or more sets of file system data blocks in the local storage as available storage space; receiving, at the second computer system, a request from a third computer system, distinct from the first computer system and the second computer system, to provide contents of the plurality of files received from the first computer system, wherein the third computer system maintains a mapping of particular data of the first computer system to particular locations in the second computer system, and wherein the request from the third computer system includes information included in the block location record provided to the first computer system identifying the data blocks in the local storage of the second computer system that correspond to the plurality of files including a first hash value derived from the plurality of files; calculating a second hash value derived from the data blocks of the requested plurality of files; and comparing the first hash value to the second hash value to determine whether the data blocks of the plurality of files match, and in response retrieving contents of the data blocks for the plurality of files identified in the request using the information included in the block location record provided by the third computer system; and transmitting the contents of the data blocks to the third computer system.

10

10. The method of claim 9 , wherein the second computer system transmits the block location record to a management computer configured to track which of the storage computer systems has stored the cached data.

11

11. The method of claim 9 , further comprising: providing the data blocks of the plurality of files to the third computer system if the first hash value matches the second hash value, and transmitting a notification to the third computer that the data blocks of the plurality of files does not match if the hash value does not match the second hash value.

12

12. The method of claim 9 , wherein the third computer system stores a mapping of an identification of the plurality of files to the block location record to an identification of the one or more second computer systems storing the cached data in the one or more file system data blocks.

13

13. The method of claim 9 , wherein the data is encrypted prior to requesting the file system to store the data in the local storage.

14

14. The method of claim 9 , wherein providing the plurality of files to the one or more second computer systems includes providing a copy of the plurality of files to each second computer system such that each second computer system of the set has a corresponding cached copy of the plurality of files.

15

15. The method of claim 9 , wherein marking the storage locations as unused space includes deleting one or more file descriptors that track the one or more sets of file system blocks used to store the cached plurality of files.

16

16. One or more computer-readable non-transitory storage media embodying software that is operable when executed to perform the steps of: caching a plurality of files from a first computer system on one or more distinct second computer systems, wherein, in response to a request from the first computer system, a processor of each of the one or more second computer systems is configured to perform the following steps: storing the plurality of files in local storage using a file system, wherein the file system stores the plurality of files in one or more sets of available file system data blocks; providing, to the first computer system, a block location record describing storage locations of the one or more sets of file system data blocks in the local storage corresponding to the plurality of files; after, and responsive to, providing the block location record to the first computer system, marking the storage locations of the one or more sets of file system data blocks in the local storage as available storage space; receiving, at the second computer system, a request from a third computer system, distinct from the first computer system and the second computer system, to provide contents of the plurality of files received from the first computer system, wherein the third computer system maintains a mapping of particular data of the first computer system to particular locations in the second computer system, and wherein the request from the third computer system includes information included in the block location record provided to the first computer system identifying the data blocks in the local storage of the second computer system that correspond to the plurality of files including a first hash value derived from the plurality of files; calculating a second hash value derived from the data blocks of the requested plurality of files; and comparing the first hash value to the second hash value to determine whether the data blocks of the plurality of files match, and in response retrieving contents of the data blocks for the plurality of files identified in the request using the information included in the block location record provided by the third computer system; and transmitting the contents of the data blocks to the third computer system.

17

17. The method of claim 9 , comprising: prior to receiving the request from the third computer system to provide contents of the plurality of files received from the first computer system, periodically receiving, at the second computer system, a communication from the third computer system requesting verification that the data is still resident in storage.

18

18. The method of claim 9 , wherein providing the block location record comprises requesting, from a file system, storage locations comprising disk offset/length pairs for a plurality of data fragments into which the file system divided the plurality of files.

Patent Metadata

Filing Date

Unknown

Publication Date

February 15, 2022

Inventors

Jonathan Clark

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. “Low-Cost Backup and Edge Caching Using Unused Disk Blocks” (11249672). https://patentable.app/patents/11249672

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