Performing server-side and client-side operations on spreadsheets

US10289673B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10289673-B1
Application numberUS-201715841139-A
CountryUS
Kind codeB1
Filing dateDec 13, 2017
Priority dateDec 20, 2013
Publication dateMay 14, 2019
Grant dateMay 14, 2019

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.

A method for obtaining server-side and client-side calculations performed in a document includes presenting, on a client computer, the document stored on a server and receiving an input, where the input causes a calculation in the document. The client computer performs the calculation on the client computer and sends the input to the server to concurrently perform the calculation on the server. The client computer obtains a first result from the calculation performed on the client computer and a second result from the calculation performed on the server, selects the first result or the second result as a selected result based on which of the first result or the second result is obtained quicker from the calculation performed on the client computer and the calculation performed on the server, and presents, in the document, the selected result to the user.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for obtaining server-side and client-side calculations performed in a document, the method comprising: presenting, on a client computer, the document received from a server; receiving an input, wherein the input causes a calculation in the document; performing the calculation on the client computer and sending the input to the server to concurrently perform the calculation on the server; obtaining a first result from the calculation performed on the client computer and a second result from the calculation performed on the server; selecting the first result or the second result as a selected result based on which of the first result or the second result is obtained quicker from the calculation performed on the client computer and the calculation performed on the server; and presenting, in the document, the selected result to the user. 2. The method of claim 1 , further comprising, responsive to obtaining the first result from the calculation performed on the client computer or the second result from the calculation performed on the server, cancelling the calculation performed on the client computer or the calculation performed on the server that is still executing. 3. The method of claim 1 , further comprising sending the input to a plurality of servers to perform the calculation on the plurality of servers. 4. The method of claim 1 , further comprising storing, for a plurality of calculations, completion information of whether a result of each of the plurality of calculations completed quicker by the client computer or the server. 5. The method of claim 1 , further comprising verifying accuracy of the selected result using an unselected result from the first result or the second result that is obtained slower than the selected result from the calculation performed on the client computer or the calculation performed on the server. 6. The method of claim 5 , wherein verifying the accuracy further comprises determining whether the unselected result of the slower of the calculation performed on the client computer or the calculation performed on the server matches the selected result of the quicker of the calculation performed on the client computer or the calculation performed on the server. 7. The method of claim 4 , further comprising determining that subsequent calculations are to be performed exclusively by either the client computer or the server based on the completion information. 8. The method of claim 1 , further comprising receiving, from the server, a document editing application for editing the spreadsheet, wherein the document editing application has a calculation engine for performing the calculation on the client computer. 9. The method of claim 6 , further comprising: designating the client computer or the server as a master calculator; and responsive to determining that the unselected result and the selected result do not match, selecting the unselected result or the selected result obtained from the master calculator. 10. A non-transitory computer-readable media comprising instructions that, when executed by a processing device of a client computer, cause the processing device to obtain server-side and client-side calculations in a document, the processing device to: present the document stored on a server; receive an input, wherein the input causes a calculation in the document; perform the calculation on the client computer and sending the input to the server to concurrently perform the calculation on the server; obtain a first result from the calculation performed on the client computer and a second result from the calculation performed on the server; select the first result or the second result as a selected result based on which of the first result or the second result is obtained quicker from the calculation performed on the client computer and the calculation performed on the server; and present, in the document, the selected result to the user. 11. The non-transitory computer-readable media of claim 10 , wherein the processing device further to, responsive to obtaining the first result from the calculation performed on the client computer or the second result from the calculation performed on the server, cancel the calculation performed on the client computer or the calculation performed on the server that is still executing. 12. The non-transitory computer-readable media of claim 10 , wherein the processing device further to: storing, for a plurality of calculations, completion information of whether a result of each of the plurality of calculations completed quicker by the client computer or the server; and determine that subsequent calculations are to be performed exclusively by either the client computer or the server based on the completion information. 13. The non-transitory computer-readable media of claim 10 , wherein the processing device further to receive, from the server, a document editing application for editing the spreadsheet, wherein the document editing application has a calculation engine for performing the calculation on the client computer. 14. The non-transitory computer-readable media of claim 10 , wherein the processing device further to verify accuracy of the selected result using an unselected result from the first result or the second result that is obtained slower than the selected result from the calculation performed on the client computer or the calculation performed on the server. 15. The non-transitory computer-readable media of claim 10 , wherein verifying the accuracy further comprises the processing device further to determine whether the unselected result of the slower of the calculation performed on the client computer or the calculation performed on the server matches the selected result of the quicker of the calculation performed on the client computer or the calculation performed on the server. 16. The non-transitory computer-readable media of claim 15 , wherein the processing device further to: designate the client computer or the server as a master calculator; and responsive to determining that the unselected result and the selected result do not match, select the unselected result or the selected result obtained from the master calculator. 17. A method for providing a server-side calculation performed in a document, the method comprising: providing, from a server, the document for display on a client computer; receiving, from a client computer, an input, wherein the input causes a calculation in the document on the client computer; concurrently performing the calculation on the server based on the input; and providing, from the server, a first result from the calculation performed on the server to facilitate the client computer displaying either the first result or a second result obtained by the client computer performing the calculation based on which of the first result or the second result is obtained quicker from the calculation performed on the client computer and the calculation performed on the server. 18. The method of claim 17 , further comprising: storing, for a plurality of calculations, completion information of whether a result of each of the plurality of calculations completed quicker by the client computer or the server; and determining that subsequent calculations are to be performed exclusively by either the client computer or the server based on the completion information. 19. The method of claim 17 , further comprising: receiving, from the client computer, a selected result from the first resul

Assignees

Inventors

Classifications

  • G06F40/18Primary

    of spreadsheets (form-filling G06F40/174) · CPC title

  • G06F17/246Primary

    Physics · mapped topic

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 US10289673B1 cover?
A method for obtaining server-side and client-side calculations performed in a document includes presenting, on a client computer, the document stored on a server and receiving an input, where the input causes a calculation in the document. The client computer performs the calculation on the client computer and sends the input to the server to concurrently perform the calculation on the server.…
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification G06F40/18. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 14 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).