Block-level backup of selected files
US-9424137-B1 · Aug 23, 2016 · US
US10353780B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10353780-B1 |
| Application number | US-201514674308-A |
| Country | US |
| Kind code | B1 |
| Filing date | Mar 31, 2015 |
| Priority date | Mar 31, 2015 |
| Publication date | Jul 16, 2019 |
| Grant date | Jul 16, 2019 |
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.
In one aspect, a method includes storing data in a distributed storage environment that includes data servers and configuring each data server to mark a respective bit map for each block of data changed. In another aspect, an apparatus includes electronic hardware circuitry configured to store data in a distributed storage environment that includes data servers and to configure each data server to mark a respective bit map for each block of data changed. In a further aspect, an article includes a non-transitory computer-readable medium that stores computer-executable instructions. The instructions cause a machine to store data in a distributed storage environment that includes data servers and configure each data server to mark a respective bit map for each block of data changed. In each of the aspects above each data server is configured to handle a respective portion of a logical unit.
Opening claim text (preview).
What is claimed is: 1. A method comprising: storing data in a logical unit of a distributed storage system, the distributed storage system comprising a plurality of data servers, each of the data servers being configured to manage a different respective portion of the logical unit; obtaining a plurality of first bitmaps from the data servers, each of the first bitmaps being obtained from a different one of the data servers; combining the first bitmaps to generate a first combined bitmap, the first combined bitmap including a plurality of first bits, each of the first bits being associated with one or more data blocks in the logical unit, each of the first bits indicating whether the first bit's associated data blocks have changed; taking a snapshot of the logical unit after the first combined bitmap is generated; obtaining a plurality of second bitmaps from the data servers, each of the second bitmaps being obtained from a different one of the data servers; combining the second bitmaps to generate a second combined bitmap, the second combined bitmap including a plurality of second bits, each of the second bits being associated with one or more data blocks in the logical unit, each of the second bits indicating whether the second bit's associated data blocks have changed after the snapshot of the logical unit is generated; merging the first and second combined bitmaps to form a merged bitmap; providing each of the data servers with a different segment of the merged bitmap, wherein each of the data servers is arranged to identify, based on the segment that is provided to the data server, changed portions in the snapshot and copy the changed portions into an object storage; and releasing the snapshot after the data servers have copied all changed portions of the snapshot to the object storage. 2. The method of claim 1 , further comprising: receiving a write request to write data to a portion of the logical unit; determining which data server of the data servers handles the portion of the logical unit; sending the write request to the data server handling the portion of the logical unit; and marking a bitmap for each block of the logical unit changed by the write request. 3. The method of claim 1 , further comprising issuing a command to each of the data servers to start tracking dirty blocks. 4. The method of claim 1 , wherein the data servers are concurrently notified to record changes on a new bitmap and the bitmaps are obtained concurrently from the data servers. 5. An apparatus, comprising: electronic hardware circuitry configured to: store data in a logical unit of a distributed storage system, the distributed storage system comprising a plurality of data servers, each of the data servers being configured to manage a different respective portion of the logical unit; obtain a plurality of first bitmaps from the data servers, each of the first bitmaps being obtained from a different one of the data servers; combine the first bitmaps to generate a first combined bitmap, the first combined bitmap including a plurality of first bits, each of the first bits being associated with one or more data blocks in the logical unit, each of the first bits indicating whether the first bit's associated data blocks have changed; take a snapshot of the logical unit after the first combined bitmap is generated; obtain a plurality of second bitmaps from the data servers, each of the second bitmaps being obtained from a different one of the data servers; combine the second bitmaps to generate a second combined bitmap, the second combined bitmap including a plurality of second bits, each of the second bits being associated with one or more data blocks in the logical unit, each of the second bits indicating whether the second bit's associated data blocks have changed after the snapshot of the logical unit is generated; merge the first and second combined bitmaps to form a merged bitmap; provide each of the data servers with a different segment of the merged bitmap, wherein each of the data servers is arranged to identify, based on the segment that is provided to the data server, changed portions in the snapshot and copy the changed portions into an object storage; and release the snapshot after the data servers have copied all changed portions of the snapshot to the object storage. 6. The apparatus of claim 5 , wherein the circuitry comprises at least one of a processor, a memory, a programmable logic device or a logic gate. 7. The apparatus of claim 5 , further comprising circuitry configured to: receive a write request to write data to a portion of the logical unit; determine which data server of the data servers handles the portion of the logical unit; send the write request to the data server handling the portion of the logical unit; and mark a bitmap for each block of the logical unit changed by the write request. 8. The apparatus of claim 5 , further comprising circuitry configured to issue a command to each of the data servers to start tracking dirty blocks. 9. An article comprising: a non-transitory computer-readable medium that stores computer-executable instructions to perform incremental backup of a logical unit in a distributed storage system, the instructions causing a machine to: store data in a logical the distributed storage system, the distributed storage system comprising a plurality of data servers, each of the data servers being configured to manage a different respective portion of the logical unit; obtain a plurality of first bitmaps from the data servers, each of the first bitmaps being obtained from a different one of the data servers; combine the first bitmaps to generate a first combined bitmap, the first combined bitmap including a plurality of first bits, each of the first bits being associated with one or more data blocks in the logical unit, each of the first bits indicating whether the first bit's associated data blocks have changed; take a snapshot of the logical unit after the first combined bitmap is generated; obtain a plurality of second bitmaps from the data servers, each of the second bitmaps being obtained from a different one of the data servers; combine the second bitmaps to generate a second combined bitmap, the second combined bitmap including a plurality of second bits, each of the second bits being associated with one or more data blocks in the logical unit, each of the second bits indicating whether the second bit's associated data blocks have changed after the snapshot of the logical unit is generated; merge the first and second combined bitmaps to form a merged bitmap; and provide each of the data servers with a different segment of the merged bitmap, wherein each of the data servers is arranged to identify, based on the segment that is provided to the data server, changed portions in the snapshot and copy the changed portions into an object storage, and release the snapshot after the data servers have copied all changed portions of the snapshot to the object storage. 10. The article of claim 9 , further comprising instructions causing the machine to: receive a write request to write data to a portion of the logical unit; determine which data server of the data servers handles the portion of the logical unit; send the write request to the data server handling the portion of the logical unit; and mark a bitmap for each block of the logical unit changed by the write request. 11. The article of claim 9 , further comprising instructions causing the machine to issue a command to each of the data servers to start tracking dirty blocks.
Using snapshots, i.e. a logical point-in-time copy of the data · CPC title
for networked environments · CPC title
by selection of backup contents · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.