Cache based key-value store mapping and replication
US-9836514-B2 · Dec 5, 2017 · US
US11467971B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11467971-B2 |
| Application number | US-201816114542-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 28, 2018 |
| Priority date | Aug 29, 2017 |
| Publication date | Oct 11, 2022 |
| Grant date | Oct 11, 2022 |
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.
Systems and methods for precomputing data and storing cache objects corresponding to the precomputed data are described. A system creates a new cache object when a user interacts with the system. The system precomputes formulas in the newly created cache object by replacing the formulas with corresponding calculated values. The system precomputes the formulas in the background (i.e., the user is not presented with the precomputed values while the user is manipulating the data). The system may persistently store a precomputed version cache object in a dedicated version cache storage for later use. If updates are performed to the structure and/or values of a version represented in a precomputed version cache object, effected parts of the version cache object are invalidated by replacing calculated values with the underlying formulas.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method comprising: receiving input data associated with a plan version from a device, the input data including cells, each cell of a subset of the cells including one of a numeric value or a formula; generating a version cache object corresponding to the input data; assigning a precompute sequence number to the plan version; generating a precomputed version cache object, comprising replacing at least one formula included in the version cache object with a precomputed numerical value, generating of the precomputed version cache object being imperceptible to a user of the device; assigning the precompute sequence number to the precomputed version cache object; receiving, from the device, a signal indicating a result should be calculated, wherein calculating the result comprises reading the precomputed version cache object; determining whether the precompute sequence number for the precomputed version cache object matches a current sequence number assigned to the plan version; and in response to a determination that the precompute sequence number for the precomputed version cache object does not match the current sequence number assigned to the plan version, replacing the precomputed numerical value with the at least one formula. 2. The computer-implemented method of claim 1 , further comprising: receiving second input data from the device; generating second data corresponding to a second plan version corresponding to the second input data; receiving, from the device, a second signal indicating second results should be calculated; determining the second data is represented in a list of plan versions to be precomputed; generating a second precomputed version cache object based on the second data; and sending second output data to the device, the second output data corresponding to the second precomputed version cache object. 3. The computer-implemented method of claim 1 , further comprising: receiving second input data from the device; generating second data corresponding to a second plan version corresponding to the second input data; receiving, from the device, a second signal indicating second results should be calculated; determining the second data is unrepresented in a list of plan versions to be precomputed; determining a second precomputed version cache object is unrepresented in the precomputed version cache storage; generating second output data by replacing formulas represented in the second data with values; and sending the second output data to the device. 4. The computer-implemented method of claim 1 , wherein the input data is first input data associated with a first unique identifier and the precomputed version cache object is associated with the first unique identifier, and wherein the computer-implemented method further comprises: receiving second input data from the device; generating, based on the second input data, second data corresponding to an updated plan version; associating the second data with a second unique identifier; and marking the precomputed version cache object as invalid based on the second data being associated with the second unique identifier and the precomputed version cache object being associated with the first unique identifier. 5. The computer-implemented method of claim 4 , further comprising: deleting the precomputed version cache object based on the second data being associated with the second unique identifier and the precomputed version cache object being associated with the first unique identifier. 6. The computer-implemented method of claim 4 , further comprising: generating, based on the second data, a second precomputed version cache object corresponding to an updated precomputed version cache object; and associating the second precomputed version cache object with the second unique identifier. 7. A system comprising: at least one processor; and at least one memory including instructions that, when executed by the at least one processor, cause the system to: receive input data associated with a plan version from a device, the input data including cells, each cell of a subset of the cells including one of a numeric value or a formula; generate a version cache object corresponding to the input data; assign a precompute sequence number to the plan version; generate a precomputed version cache object, comprising replacing at least one formula included in the version cache object with a precomputed numerical value, generating of the precomputed version cache object being imperceptible to a user of the device; assign the precompute sequence number to the precomputed version cache object; receive, from the device, a signal indicating a result should be calculated, wherein calculating the result comprises reading the precomputed version cache object; determine whether the precompute sequence number for the precomputed version cache object matches a current sequence number assigned to the plan version; and in response to a determination that the precompute sequence number for the precomputed version cache object does not match the current sequence number assigned to the plan version, replace the precomputed numerical value with the at least one formula. 8. The system of claim 7 , wherein the instructions, when executed by the at least one processor, further cause the system to: receive second input data from the device; generate second data corresponding to a second plan version corresponding to the second input data; receive, from the device, a second signal indicating second results should be calculated; determine the second data is represented in a list of plan versions to be precomputed; generate a second precomputed version cache object based on the second data; and send second output data to the device, the second output data corresponding to the second precomputed version cache object. 9. The system of claim 7 , wherein the instructions, when executed by the at least one processor, further cause the system to: receive second input data from the device; generate second data corresponding to a second plan version corresponding to the second input data; receive, from the device, a second signal indicating second results should be calculated; determine the second data is unrepresented in a list of plan versions to be precomputed; determine a second precomputed version cache object is unrepresented in the precomputed version cache storage; generate second output data by replacing formulas represented in the second data with values; and send the second output data to the device. 10. The system of claim 7 , wherein the input data is first input data associated with a first unique identifier and the precomputed version cache object is associated with the first unique identifier, and wherein the instructions, when executed by the at least one processor, further cause the system to: receive second input data from the device; generate, based on the second input data, second data corresponding to an updated plan version; associate the second data with a second unique identifier; and mark the precomputed version cache object as invalid based on the second data being associated with the second unique identifier and the precomputed version cache object being associated with the first unique identifier. 11. The system of claim 10 , wherein the instructions, when executed by the at least one processor, further cause the system to: delete the precomputed version cache object based on the second data being associated with the second unique identifier and the precomputed version cache object being associated with the first unique identifi
of spreadsheets (form-filling G06F40/174) · CPC title
for evaluating statistical data {, e.g. average values, frequency distributions, probability functions, regression analysis (forecasting specially adapted for a specific administrative, business or logistic context G06Q10/04)} · CPC title
Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling · CPC title
Selecting among different versions · CPC title
Buffers; Shared memory; Pipes · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.