Distributed Spreadsheet Computation for Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Spreadsheet applications, especially hosted ones, face performance issues and latency when dealing with computationally intensive tasks, which can cause slowdowns, freezes, or crashes due to limited processing power and memory, especially when calculations are performed on remote servers.
Innovation Solution
A method and system that distribute computationally heavy tasks across multiple computing devices, identifying subsets of cells with dependent functions and assigning them to available devices with varying capacities to process, thereby reducing the computational load on individual devices and enhancing processing speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If computations are performed on a remote server, then the spreadsheet can be hosted and accessed remotely, but the processing time increases causing latency and user experience degradation
Solution Approach 1:
The patent segments the spreadsheet computation task into multiple independent subsets and distributes them across multiple computing devices. Each device processes a portion of the cells independently, allowing parallel execution and reducing overall processing time while maintaining remote hosting capabilities.
Solution Approach 2:
The patent transitions from a single-server vertical scaling model to a distributed horizontal scaling architecture. By adding multiple computing devices to the system, the solution scales computation capacity across multiple nodes, reducing latency without requiring a single powerful server.
2Device complexity
If computationally intensive tasks are performed on a single device, then the system is simple to manage, but the device may freeze or crash due to limited processing power
Solution Approach 1:
By dividing the computation into subsets assigned to different devices, the patent prevents any single device from being overwhelmed, eliminating freezes and crashes while distributing the computational load across multiple nodes.
Solution Approach 2:
The patent merges multiple computing devices into a coordinated distributed system that shares the computational workload. The coordination layer manages task distribution and result aggregation, providing reliability through redundancy while maintaining manageable system complexity.
3Power
If more computing resources are allocated to a single server, then processing power increases, but the cost and complexity of the system increase
Solution Approach 1:
Instead of concentrating processing power in a single high-capacity server, the patent segments the computational workload across multiple standard computing devices. This approach achieves equivalent or superior processing capacity without requiring a single expensive, complex server infrastructure.
Solution Approach 2:
The patent makes multiple standard computing devices serve the spreadsheet computation function, rather than relying on a specialized high-performance server. This universal approach uses off-the-shelf devices for multiple purposes, reducing overall system cost and complexity while maintaining processing capacity.
Data Source
AI summary
A system that runs a hosted spreadsheet application can trigger distributed computing to obtain additional computing support on-demand, when needed to assist with computationally intensive spreadsheet tasks or tasks that take too long to execute. The system will identify spreadsheet cells that each include a respective function that depends on the value of a different cell of the spreadsheet. The spreadsheet server will determine whether a task to be performed on the cells is a computationally heavy task. If the system cannot complete at least a threshold number of the functions before a threshold time period expires, or if the task is otherwise computationally intensive, the system will distribute at least some elements of the task to one or more additional computing devices for processing. The additional computing devices will return their results to a client device and/or an intermediate server.


