CPC G06F 40/18 (2020.01) | 20 Claims |
1. A method comprising:
launching, on a client computer, a document editing application associated with a cloud storage system, wherein the document editing application has a client calculation engine for performing spreadsheet calculations on the client computer;
presenting, via the document editing application on the client computer, a web-based collaborative spreadsheet stored on the cloud storage system, wherein the web-based collaborative spreadsheet comprises a plurality of cells, wherein calculations for one or more of the plurality of cells in the web-based collaborative spreadsheet are to be performed by at least one of the client calculation engine on the client computer or a server calculation engine on the cloud storage system;
receiving an input for a first cell of the plurality of cells in the web-based collaborative spreadsheet, wherein the input for the first cell of the plurality of cells in the web-based collaborative spreadsheet causes a calculation that involves at least one or more second cells of the plurality of cells in the web-based collaborative spreadsheet; and
upon receiving the input that causes the calculation involving at least the one or more second cells of the plurality of cells in the web-based collaborative spreadsheet:
determining to perform the calculation, caused by the input for the first cell of the plurality of cells and involving at least the one or more second cells of the plurality of cells, by the client calculation engine on the client computer or the server calculation engine of the cloud storage system,
wherein determining to perform the calculation by the client calculation engine or the server calculation engine is based on a network connection between the client computer and the cloud storage system, and one or more factors defining a speed of the calculation, the one or more factors comprising at least one of computing resources available at the client computer and the cloud storage system, or a type of the calculation;
responsive to determining to perform the calculation by the client calculation engine on the client computer,
performing the calculation, caused by the input for the first cell of the plurality of cells in the web-based collaborative spreadsheet and involving at least the one or more second cells of the plurality of cells in the web-based collaborative spreadsheet, by the client calculation engine on the client computer,
wherein responsive to determining to perform the calculation by the server calculation engine of the cloud storage system, the input is sent to the cloud storage system to perform the calculation by the server calculation engine of the cloud storage system;
obtaining a first result from the calculation performed by the client calculation engine on the client computer or a second result from the calculation performed by the server calculation engine of the cloud storage system; and
presenting, via the document editing application on the client computer, the obtained first result or second result in the web-based collaborative spreadsheet to a user.
|