Browser-Side Spreadsheet Functions for Extensible Calculations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network-based spreadsheet services face limitations in extensibility due to security and reliability concerns, making it infeasible to run end-user code, as they are not 'owned' by the user, and lack features compared to local spreadsheet applications.
Innovation Solution
The architecture employs user-defined functions (UDFs) executed in the web browser, allowing custom functionality while maintaining spreadsheet calculation state across a backend server and browser, enabling synchronous or asynchronous execution, dynamic registration/unregistration, and preventing infinite calculation loops.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If end-user code is run on the backend calculation server, then spreadsheet functionality can be extended, but security and reliability concerns arise because the network-based service is not owned by the user
Solution Approach 1:
The patent divides the spreadsheet calculation system into two segments: standard functions executed on the backend calculation server and custom user-defined functions (UDFs) executed in the user's web browser. This segmentation allows the backend to maintain security and reliability while the browser handles extensible custom code, resolving the contradiction between service reliability and spreadsheet extensibility.
2Adaptability or versatility
If end-user code is run on the backend calculation server, then spreadsheet functionality can be extended, but the same security and reliability concerns apply
Solution Approach 1:
The patent introduces the user's web browser as an intermediary between the backend calculation server and the execution of custom code. The browser acts as a sandboxed environment that isolates user-defined functions from the backend server, allowing extended functionality while protecting the server from security risks. This intermediary approach enables spreadsheet extensibility without compromising backend security.
3Reliability
If custom functions are executed in the web browser, then security concerns are avoided, but calculation state must be maintained across backend server and browser
Solution Approach 1:
The patent implements a feedback mechanism where the backend calculation server sends calculation requests to the browser, executes standard functions, and receives results. For custom UDFs, the browser executes the functions and returns results to the backend, which then continues the calculation chain. This feedback loop maintains calculation state across the distributed system, managing the complexity of coordinating between backend server and browser while ensuring reliability.
Data Source
AI summary
Architecture that enables the capability to call user-defined functions (UDFs) within the hosting page, and from within a spreadsheet. UDFs can be used to add functionality to spreadsheet models. Spreadsheet calculations are spread across a backend calculation server and the web browser. Spreadsheet calculation state is maintained as browser functions are calculated. Moreover, the browser UDFs can be executed synchronously or asynchronously. The architecture also provides capability to dynamically register/unregister UDFs at runtime, which can then be called from the spreadsheet model and executed remotely), and the capability to define a manifest that can include all of the UDF definitions, infinite calculation loop situations are also prevented. The UDFs have full access to the page DOM (document object model).


