CPC G06F 3/0622 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0653 (2013.01); G06F 3/0673 (2013.01)] | 20 Claims |
1. A system, comprising:
one or more processors;
a storage device; and
a memory storing program instructions that, when executed on the one or more processors, implement a data store configured to:
receive a request to store a data record for subsequent accesses, wherein the subsequent accesses are protected by an access condition comprising metadata provided in the request;
store the data record responsive to receiving the request, wherein to store the data record the data store is configured to:
generate a composite data record comprising the data record and one or more copies of the metadata in a composite format;
determine an error detection code for the composite data record; and
store the data record and the error detection code on the storage device, wherein the metadata is not stored on the storage device; and
receive, subsequent to the storing, an access request to access the data record, the request comprising access metadata, and responsive to receiving the access request:
retrieve the data record and the error detection code from the storage device;
generate a new composite data record comprising at least the data record and one or more copies of the access metadata in the composite format;
determine a new error detection code for the new composite data record;
return the data record responsive to determining that the new error detection code indicates that the access metadata meets the access condition; and
return an access error responsive to determining that the new error detection code indicates that the access metadata does not meet the access condition.
|