Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for retrospective snapshot creation comprising: creating, by a processor, a first snapshot that captures logical state of a data store at a first key, wherein creation of the first snapshot is based on: determining a log offset corresponding to the first key; determining existence of a second snapshot that captures logical state of the data store; creating and recording a retrospective snapshot at a last valid log address offset prior to the first key upon a determination that the second snapshot exists prior to the first key based on: determining at least one of: whether log address offsets from a first log entry of a log to a log entry of the log at the first key are contiguous; and whether log address offsets from the second snapshot to the first key are contiguous; and applying a plurality of rules for snapshots and garbage collection zones to prevent garbage collection of the data store across snapshot boundaries, wherein a first rule of the plurality of rules includes limiting garbage collection scope to a garbage collection zone to maintain snapshot fidelity.
2. The method of claim 1 , wherein: log addresses are not reused, monotonically increase and are contiguous; a second rule of the plurality of rules includes avoiding garbage collection of cross-snapshot tombstones for valid snapshots; the cross-snapshot tombstones are objects across snapshot boundaries; and the retrospective snapshot is created without prior existence of the retrospective snapshot.
3. The method of claim 2 , wherein: the second snapshot has a largest log address offset than other snapshots prior to the first key; a third rule of the plurality of rules includes garbage collecting intra-snapshot tombstones; and intra-snapshot tombstones are objects within a garbage collection zone.
4. The method of claim 3 , wherein the second snapshot is a retrospective snapshot for a log address corresponding to the first key.
5. The method of claim 4 , wherein creation of the retrospective snapshot fails upon at least one of: the log address offsets from the first log entry to the log entry at the first key are non-contiguous; and the log address offsets from the second snapshot to the first key are non-contiguous.
6. A computer program product for retrospective snapshot creation, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to: create, by a processor, a first snapshot that captures logical state of a data store at a first time in a time range, wherein creation of the retrospective snapshot is based on: determine, by the processor, a log offset corresponding to the first key; determine, by the processor, existence of a second snapshot that captures logical state of the data store; create and record, by the processor, a retrospective snapshot at a last valid log address offset prior to the first key upon a determination that the second snapshot exists based on: determining, by the processor, at least one of: whether log address offsets from a first log entry of a log to a log entry of the log at the first key are contiguous; and whether log address offsets from the second snapshot to the first key are contiguous; and apply, by the processor, a plurality of rules for snapshots and garbage collection zones to prevent garbage collection of the data store across snapshot boundaries, wherein a first rule of the plurality of rules includes limiting garbage collection scope to a garbage collection zone to maintain snapshot fidelity.
7. The computer program product of claim 6 , wherein: log addresses are not reused, monotonically increase and are contiguous; a second rule of the plurality of rules includes avoiding garbage collection of cross-snapshot tombstones for valid snapshots; the cross-snapshot tombstones are objects across snapshot boundaries; and the retrospective snapshot is created without prior existence of the retrospective snapshot.
8. The computer program product of claim 7 , wherein: the second snapshot has a largest log address offset than other snapshots prior to the first key; a third rule of the plurality of rules includes garbage collecting intra-snapshot tombstones; and intra-snapshot tombstones are objects within a garbage collection zone.
9. The computer program product of claim 8 , wherein the second snapshot is a retrospective snapshot for a log address corresponding to the first key.
10. The computer program product of claim 9 , wherein creation of the retrospective snapshot fails upon at least one of: the log address offsets from the first log entry to the log entry at the first key are non-contiguous; and the log address offsets from the second snapshot to the first key are non-contiguous.
11. The computer program product of claim 10 , further comprising program instructions executable by the processor to cause the processor to: record, by the processor, a key for each log entry in the log.
12. The computer program product of claim 11 , further comprising program instructions executable by the processor to cause the processor to: locate, by the processor, a log address for a corresponding key using a secondary.
13. An apparatus comprising: a memory storing instructions; and a processor executing the instructions to create a first snapshot that captures logical state of a data store at a first key, wherein creation of the first snapshot is based on the processor: determining a log offset corresponding to the first key; determining existence of a second snapshot that captures logical state of the data store; creating and recording a retrospective snapshot at a last valid log address offset prior to the first key upon a determination that the second snapshot exists based on the processor further: determining at least one of: whether log address offsets from a first log entry of a log to a log entry of the log at the first key are contiguous; and whether log address offsets from the second snapshot to the first key are contiguous; and apply a plurality of rules for snapshots and garbage collection zones to prevent garbage collection of the data store across snapshot boundaries, wherein a first rule of the plurality of rules includes limiting garbage collection scope to a garbage collection zone to maintain snapshot fidelity.
14. The apparatus of claim 13 , wherein: log addresses are not reused, monotonically increase and are contiguous; a second rule of the plurality of rules includes avoiding garbage collection of cross-snapshot tombstones for valid snapshots; the cross-snapshot tombstones are objects across snapshot boundaries; and the retrospective snapshot is created without prior existence of the retrospective snapshot.
15. The apparatus of claim 14 , wherein: the second snapshot has a largest log address offset than other snapshots prior to the first key; a third rule of the plurality of rules includes garbage collecting intra-snapshot tombstones; and intra-snapshot tombstones are objects within a garbage collection zone.
16. The apparatus of claim 15 , wherein the second snapshot is a retrospective snapshot for a log address corresponding to the first key.
17. The apparatus of claim 16 , wherein creation of the retrospective snapshot fails upon at least one of: the log address offsets from the first log entry to the log entry at the first key are non-contiguous; and the log address offsets from the second snapshot to the first key are non-contiguous.
18. The apparatus of claim 13 , wherein the processor further executes instructions comprising recordation of a key for each log entry in the log.
19. The apparatus of claim 13 , wherein the processor further executes instructions comprising locating a log address for a corresponding key using a secondary index.
Unknown
February 4, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.