Spreadsheet Dependency Management via Event Listeners

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dashboards face compatibility issues with web technologies, particularly in managing dependencies between cells in spreadsheet files and components, leading to difficulties in identifying and updating dependencies, especially when cell values change.

Innovation Solution

A system that analyzes spreadsheet and dashboard structure files to determine dependencies, registers event listeners, and updates dependent components asynchronously, using a DOM and adjacency matrix to recursively create components, allowing for efficient event propagation and data fetching from multiple sources in a JSON format.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional dashboard rendering methods are used, then compatibility with web technologies is poor, but converting to web-based rendering improves compatibility while creating difficulties in managing cell dependencies

Engineering Contradiction:
Improvedashboard compatibilityVSAvoiddependency management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediate processing layer that converts spreadsheet files into a web-compatible format while preserving dependency information. This intermediary conversion process enables web-based rendering without directly exposing the complexity of dependency management to the client-side JavaScript environment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces traditional server-side rendering mechanisms with client-side JavaScript-based rendering. This substitution allows dashboards to run in modern web browsers using HTML5 and JavaScript, improving compatibility while managing dependencies through event-driven architecture in the browser environment.

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

2Reliability

If synchronous updating of dependent components is used, then dependency tracking is straightforward, but rendering performance deteriorates due to blocking execution flow

Engineering Contradiction:
Improvedependency tracking accuracyVSAvoidrendering speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic dependency management where the system adapts its updating behavior based on event triggers. Instead of rigid synchronous or asynchronous approaches, the system dynamically updates components when data changes occur, maintaining accurate dependency tracking while avoiding unnecessary blocking of execution flow.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses event-driven periodic updates where dependent components are refreshed only when specific events occur (data changes). This periodic action based on events rather than continuous synchronous checking maintains reliability of dependency tracking while significantly improving rendering performance by eliminating blocking operations.

Inventive Principle:
Principle #19Periodic action

3Measurement precision

If all data is fetched in separate requests, then data freshness is maintained, but network overhead increases and fetching efficiency decreases

Engineering Contradiction:
Improvedata freshnessVSAvoidnetwork overhead
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent merges multiple data fetching operations into single batch requests where possible. By combining requests for multiple data sources into unified network calls, the system maintains data freshness through coordinated updates while significantly reducing network overhead and improving fetching efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary data fetching and caching during dashboard initialization and conversion. By pre-fetching data that is likely to be needed and caching it appropriately, the system reduces the need for frequent separate requests, maintaining data freshness through selective updates while minimizing network overhead.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9703767B2Spreadsheet cell dependency management
Publication Date: 2017.07.11 SAP IRELAND LTD
  • US9703767B2 patent drawing
  • US9703767B2 patent drawing
  • US9703767B2 patent drawing

AI summary

A spreadsheet file and a dashboard structure file characterizing a dashboard are received. These files are then analyzed to determine dependencies. Subsequently, for each determined dependency, an event listener is registered for a dependent component that corresponds to the determined dependency. These event listeners are notified of an event from an event source when a corresponding dependee is changed. Dependent components are then updated using data from a corresponding dependee in response to event notifications so that each updated dependent component can be rendered within the dashboard. Related apparatus, systems, techniques and articles are also described.