System for controlling access to stored values
AssigneeAmazon Technologies, Inc.
InventorPhanikumar Bhamidipati
Life of this patent
Estimating the term…
Abstract
Described are techniques for controlling access to values and other stored resources, and controlling the ability of processes to modify values. Upon receipt of a request to access a value, a lease may be granted to a process if available. Lease data including identifiers associated with the process and the value may be generated. The connection with the process may be terminated after granting the lease, then reestablished upon receiving a subsequent request from the process to modify the value. The value may be modified responsive to a determination of correspondence between the process identifier determined from the process requesting to modify the value and the process identifier associated with the lease data.
Claims20
A system comprising:
- a hardware processor and a computer-readable storage medium;
- and
- instructions in the computer-readable storage medium for instructing the hardware processor to:
- establish a data connection via one or more networks with a service executing on one or more devices;
- receive a request, from a process associated with the service, for a lease to access a stored value;
- determine availability of the lease by determining a count of processes currently accessing the stored value;
- determine a process identifier corresponding to the process;
- provide a lease to the process, thereby providing access to the stored value to the process;
- generate lease data comprising the process identifier and a value identifier associated with the stored value;
- terminate the data connection with the service;
- reestablish the data connection with the service;
- receive, from the service, a second value and the process identifier;
- determine correspondence between the process identifier associated with the second value and the process identifier of the lease data;
- in response to the correspondence, replace the stored value with the second value;
- and
- terminate the lease to the process.
A method comprising:
- receiving requests from one or more processes to access a stored value;
- determining a count of processes accessing the stored value;
- determining a threshold number of processes associated with the stored value;
- determining, using one or more hardware processors, the count of processes to be less than the threshold number of processes;
- providing a lease to at least a subset of the one or more processes, thereby providing access to the stored value to the at least a subset of the one or more processes;
- terminating a connection associated with at least one process of the subset;
- receiving at least one modification from the at least one process of the subset;
- determining that the lease is associated with the at least one process of the subset;
- in response to determining that the lease is associated with the at least one process, reestablishing the connection with the at least one process of the subset;
- determining the at least one modification to be a first modification received in association with the stored value;
- and
- in response to determining that the at least one modification is associated with the stored value, modifying the stored value using the at least one modification responsive to the correspondence to form a modified value.
A non-transitory computer-readable medium comprising instructions for causing a hardware processor to perform the method of:
- receiving a request from a process to access a value stored in a data store;
- determining availability of a lease associated with the value;
- generating lease data comprising a value identifier associated with the value and a process identifier associated with the process;
- establishing a connection with a device associated with the process;
- granting a lease to the process, thereby providing access to the value to the process;
- terminating the connection with the device;
- receiving a request from the process to modify the value;
- determining the process identifier associated with the process;
- determining correspondence between the process identifier associated with the process and the process identifier associated with the lease data;
- in response to the correspondence, reestablishing the connection with the device responsive to the correspondence;
- receiving at least one modification to the value from the process;
- and
- modifying the value using the at least one modification to form a modified value.
Dependencies are inferred from the claim text.