Stream-Enabled Spreadsheet Circuit for Continuous Analytics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computer-implemented spreadsheets struggle to handle computations that depend on historical data or program state, and stream processing applications face challenges in efficiently processing continuous analytics on large datasets over long periods.
Innovation Solution
A method that allows users to manipulate streaming data using both stateful and stateless operations through a spreadsheet interface, translating spreadsheet computations into a circuit representation with well-specified timing semantics for independent execution, enabling high-performance continuous analytics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If spreadsheet computations are executed within the spreadsheet program environment, then ease of operation is maintained, but productivity and throughput are limited
Solution Approach 1:
The system segments the spreadsheet computation into two independent parts: the user interface layer (spreadsheet program) and the execution layer (circuit representation). This allows the computation logic to be extracted and executed independently in a high-performance environment while maintaining the familiar spreadsheet interface for users, thereby resolving the contradiction between ease of operation and productivity.
Solution Approach 2:
The patent introduces an intermediary translation mechanism that converts spreadsheet formulas into circuit representations. This intermediary layer enables the spreadsheet computations to be executed in a high-performance circuit execution environment rather than being constrained by the spreadsheet program's execution speed, thus improving throughput while preserving user accessibility through the original interface.
2Adaptability or versatility
If computations depend on historical data or program state, then analytical capability is improved, but device complexity increases
Solution Approach 1:
The patent uses copying to represent stateful computations in the circuit model. Flip-flops and latches are copied instances of memory elements that store historical data and program state. This allows the circuit representation to capture stateful behavior without requiring complex state management mechanisms, thereby improving adaptability while controlling complexity through reusable state element templates.
3Loss of time
If stream processing is implemented within the spreadsheet program, then ease of operation is maintained, but loss of time occurs due to program overhead
Solution Approach 1:
The patent extracts the stream processing execution from the spreadsheet program environment and places it in a dedicated circuit execution environment. This extraction eliminates the overhead of the spreadsheet program's interpretation and execution mechanisms, significantly reducing processing latency while maintaining ease of operation through the familiar spreadsheet interface for defining computations.
4Productivity
If computations are exported as independent circuit representations, then productivity is improved through independent execution, but device complexity increases
Solution Approach 1:
The patent substitutes the mechanical interpretation-based execution system of spreadsheets with a hardware-like circuit execution system. This substitution replaces the software-based, interpretation-heavy spreadsheet computation model with a more efficient circuit evaluation model that can execute computations with lower overhead and higher throughput, thereby improving productivity while the circuit representation manages complexity through structured logic design.
Data Source
AI summary
Converting data transformations entered in a spreadsheet program into a circuit representation of those transformations. The circuit representation can run independently of the spreadsheet program to transform input data into output data. In some cases the circuit representation is in the form of hardware, accepts and/or produces data streams, and/or the circuit and/or output data or data streams can be shared among multiple users and/or subscribers. Where data streams are processed, the transformations may include well-specified timing semantics, supporting operations that involve rate-based rate manipulation, value-based rate manipulation, and/or access to past cell values.


