Systems and methods for accelerating data computation

US11467971B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11467971-B2
Application numberUS-201816114542-A
CountryUS
Kind codeB2
Filing dateAug 28, 2018
Priority dateAug 29, 2017
Publication dateOct 11, 2022
Grant dateOct 11, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

  • G06Q10/06Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11467971B2 cover?
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 i…
Who is the assignee on this patent?
Workday Inc
What technology area does this patent fall under?
Primary CPC classification G06Q10/06. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 11 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).