Legal claims defining the scope of protection, as filed with the USPTO.
1. A method, comprising: storing a value in a cloud-based storage system comprising a read/write register identified by a key; creating at a monitor a history of operations including writes and reads performed at the key; quantifying a distance between a read of a value at the key and a latest write to the key, wherein the latest write to the key is subsequent to the read of the value; and ascertaining whether the distance satisfies a relaxed atomicity standard, wherein the distance between the write and the read is one selected from a quantity based on a passage of time between the read of the value at the key and the latest write to the key and a quantity of intervening writes between the read of the value at the key and the latest write to the key.
2. The method of claim 1 , wherein the distance between the write and the read is quantified by measuring a passage of time.
3. The method of claim 2 , wherein quantifying the distance comprises: sorting the operations in the history into clusters, wherein each cluster comprises operations taking one value; recognizing zones in each cluster, wherein zones are time intervals between operations scoring a conflict between a pair of zones Z 1 and Z 2 with a score χ, where χ is the minimum time (Δ) by which decreasing the start times of reads in the history results in the pair of zones Z 1 and Z 2 being compatible; and designating Δ opt as a maximum χ calculated for a plurality of pairs of zones in the history.
4. The method of claim 3 , comprising setting χ equal to the length of an intersection of zones Z 1 and Z 2 when said zones are forward conflicting zones.
5. The method of claim 3 , comprising setting χ equal to a difference between endpoints of zones Z 1 and Z 2 when said zones are a forward zone and a conflicting backward zone.
6. The method of claim 5 , wherein the difference is a minimum difference between adjacent endpoints of the zones when the backward conflicting zone contains a read dictated by a write beginning earlier than the forward zone.
7. The method of claim 2 , wherein quantifying the distance comprises: sorting the operations in the history into clusters, wherein each cluster comprises operations taking one value; recognizing zones in each cluster, wherein zones are time intervals between operations; scoring a conflict between a pair of zones Z 1 and Z 2 with a score χ, where χ is the minimum time (λ) by which decreasing the start times and increasing the finish times of operations in the history results in the pair of zones Z 1 and Z 2 being compatible; and designating λ opt as a maximum χ calculated for a plurality of pairs of zones in the history.
8. The method of claim 7 , comprising setting χ equal to one-half the length of an intersection of zones Z 1 and Z 2 when said zones are forward conflicting zones.
9. The method of claim 7 , comprising setting χ equal to one-half the smaller difference between endpoints of zones Z 1 and Z 2 when said zones are a forward zone and a conflicting backward zone.
10. The method of claim 1 , wherein creating the history comprises ordering a plurality of operations in the history so as to minimize a number of intervening writes between each write and the read dictated by that write.
11. The method of claim 10 , wherein ordering the plurality of operations comprises: selecting a write w(a), where w(a) has a latest finish time among writes yet to be placed; computing a set S of unpicked reads that succeed w(a) in the history; computing the set R defined as the unpicked reads in S not dictated by w(a); placing the write dictating a lone read in R when |R|=1; and placing a write having the latest finish time of the remaining writes yet to be placed when |R|=0.
12. The method of claim 11 , comprising reporting a violation of the relaxed atomicity standard when |R|>1.
13. A monitor, comprising: an input module to receive a trace of operations made through a read/write register of a cloud-based storage system, wherein the read/write register is identified by a key; a relaxed atomicity standard; a memory; at least one hardware processor connected to the memory, the at least one hardware processor to: create, from the trace, a history of writes and reads performed at the key; quantify a distance between a write of a value at the key and a read of the value, wherein the write of the value at the key is subsequent to the read of the value; and ascertain whether the distance satisfies a relaxed atomicity standard, wherein the distance between the write and the read is one selected from a quantity based on a passage of time between the read of the value at the key and the latest write to the key and a quantity of intervening writes between the read of the value at the key and the latest write to the key.
14. The monitor of claim 13 , wherein the distance between the write and the read comprises a passage of time.
15. The monitor of claim 14 , wherein quantifying the distance comprises: dividing the operations in the history into clusters, wherein each cluster comprises operations taking one value; recognizing zones in each cluster, wherein zones are time intervals between operations; scoring a conflict between a pair of zones Z 1 and Z 2 with a score χ, where χ is the minimum time (Δ) by which decreasing the start times of reads in the history results in the pair of zones Z 1 and Z 2 being compatible; and designating Δ opt as a maximum χ calculated for a plurality of pairs of zones in the history.
16. The monitor of claim 14 , wherein quantifying the distance comprises: dividing the operations in the history into clusters, wherein each cluster comprises operations taking one value; recognizing zones in each cluster, wherein zones are time intervals between operations; scoring a conflict between a pair of zones Z 1 and Z 2 with a score χ, where χ is the minimum time (λ) by which decreasing the start times and increasing the finish times of operations in the history results in the pair of zones Z 1 and Z 2 being compatible; and designating λ opt as a maximum χ calculated for a plurality of pairs of zones in the history.
17. The monitor of claim 13 , wherein the processor is further to: order a plurality of operations in the history so as to minimize a number of intervening writes between each write and the read dictated by that write, and determine that the distance satisfies the relaxed atomicity standard when a maximum number of intervening writes in the history is less than or equal to 2.
18. The monitor of claim 17 , wherein ordering the plurality of operations comprises: selecting a write w(a), where w(a) has a latest finish time among writes yet to placed; computing a set S of unpicked reads that succeed w(a) in the history; computing the set R defined as the unpicked reads in S not dictated by w(a); placing the write dictating a lone read in R when |R|=1; and placing an write having the latest finishing time of the remaining writes yet to be placed when |R|=0.
19. The monitor of claim 18 , wherein the processor is further to identify a violation of the relaxed atomicity standard when |R|>1.
20. A non-transitory computer readable medium having tangibly embodied thereon instructions for execution by a processor to perform a process comprising: receiving a trace of operations made through a read/write register of a cloud-based storage system, wherein the read/write register is identified by a key; creating from the trace a history of writes and reads performed at the key; quantifying a distance between a write of a value at the key and a read of the value, wherein the write of the value is subsequent to the read of the value; and ascertaining whether the distance satisfies a relaxed atomicity standard, wherein the distance between the write and the read is one selected from a quantity based on a passage of time between the read of the value at the key and the latest write to the key and a quantity of intervening writes between the read of the value at the key and the latest write to the key.
Unknown
November 19, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.