Stream-Enabled Spreadsheet Circuit for Continuous Analytics

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImprovethroughputVSAvoidspreadsheet interface accessibility
Core Design Contradiction:
ProductivityVSEase of operation

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If computations depend on historical data or program state, then analytical capability is improved, but device complexity increases

Engineering Contradiction:
Improvestateful computation capabilityVSAvoidcircuit representation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improveprocessing latencyVSAvoidspreadsheet interface familiarity
Core Design Contradiction:
Loss of timeVSEase of operation

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.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If computations are exported as independent circuit representations, then productivity is improved through independent execution, but device complexity increases

Engineering Contradiction:
Improveexecution efficiencyVSAvoidcircuit representation structure
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10176160B2Stream-enabled spreadsheet as a circuit
Publication Date: 2019.01.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10176160B2 patent drawing
  • US10176160B2 patent drawing
  • US10176160B2 patent drawing

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.