Asynchronous Spreadsheet Task Execution via Remote Job Offloading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Client-side spreadsheet applications face inefficiencies such as long wait times and lost data when performing complex calculations due to synchronous execution of computationally expensive tasks, leading to increased calculation time and power consumption.
Innovation Solution
A method is introduced to asynchronously execute computationally expensive spreadsheet tasks by generating a job with data and instructions, sending it to a remote service, and receiving a persistent job ID for accessing results, allowing tasks to be offloaded and executed without synchronicity, enabling users to continue working or access results on different devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If computationally expensive spreadsheet tasks are executed synchronously on client-side applications, then calculation results can be obtained with complete data, but execution time and power consumption increase significantly
Solution Approach 1:
The patent extracts computationally expensive tasks from the client-side spreadsheet application and offloads them to a remote service server. The client generates a job description, sends it to the remote service, and receives results asynchronously, thereby separating the heavy computation from the local execution environment and reducing client-side wait time while maintaining data completeness.
Solution Approach 2:
The patent introduces a remote service server as an intermediary between the client application and the computationally expensive tasks. The server acts as a mediator that receives job descriptions from clients, executes the tasks, and returns results, enabling asynchronous execution and reducing the direct time burden on client devices.
2Reliability
If computationally expensive spreadsheet tasks are executed synchronously on client-side applications, then calculation results can be obtained, but power consumption increases due to extended execution time
Solution Approach 1:
The patent extracts power-intensive computation from the client device and relocates it to a remote service server with greater computational resources. This extraction reduces the energy burden on client devices while ensuring accurate calculation results are obtained from the server's execution environment.
Solution Approach 2:
The patent implements preliminary actions by having the client generate and send job descriptions to the remote service before actual execution begins. This allows the computationally expensive tasks to be queued and executed on the server, reducing client device power consumption while maintaining result accuracy through proper job submission and retrieval processes.
3Loss of time
If computationally expensive tasks are executed locally, then immediate access to results is possible, but user productivity decreases due to long wait times
Solution Approach 1:
The patent introduces a remote service intermediary that handles computationally expensive tasks, allowing users to submit jobs and continue working on other tasks while results are being processed. The intermediary manages job execution, result storage, and retrieval, thereby eliminating idle wait time and improving overall user productivity without sacrificing calculation speed.
Data Source
AI summary
The techniques described herein facilitate asynchronous execution of computationally expensive spreadsheet tasks and. In some embodiments, asynchronous calls to remote services for handling complex processing tasks such as, for example, complex calculations involving large data sets from one or more spreadsheets of a workbook are described. The handling can include generating a job including a data set from one or more spreadsheets and an instruction directing a remote service to asynchronously execute a computationally expensive spreadsheet task. Responsive to sending the remote service a request to perform the job, a persistent job identifier (ID) associated with the job is received by the spreadsheet application and embedded in (and/or otherwise associated with) at least one or more of the spreadsheets of the workbook. The job is then asynchronously executed by the remote service and the results are accessible from any client device having access to the workbook using the embedded or associated job ID.


