Spreadsheet Model for Distributed Data Mashups

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing distributed applications that utilize asynchrony and eventual consistency is challenging for most developers, as it requires understanding low-level details and mechanisms, whereas the spreadsheet paradigm is more familiar and intuitive for asynchronous and eventually consistent computations.

Innovation Solution

A generalized spreadsheet model is applied to arbitrary and distributed data sources, including relational and non-relational databases, allowing functions to be specified across these sources to produce combined data or mashups, with globally asynchronous and eventually consistent computations, facilitated by adapter components that handle push- and pull-based data interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developers use traditional distributed application models with asynchrony and eventual consistency, then the system achieves distributed computation capability, but the development complexity and difficulty increase significantly

Engineering Contradiction:
Improvedistributed computation capabilityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a spreadsheet-like intermediary layer that sits between developers and distributed data sources. This intermediary provides familiar spreadsheet operations (formulas, functions, cell references) that automatically translate into distributed computation operations, shielding developers from the complexity of asynchrony and consistency management while enabling distributed computation capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a virtual copy of the familiar spreadsheet interface that operates over distributed data sources. Instead of requiring developers to work directly with complex distributed systems, the system provides a spreadsheet-like copy that mimics local computation behavior while actually performing distributed computations, making the system easier to develop and maintain.

Inventive Principle:
Principle #26Copying

2Reliability

If developers use low-level distributed system mechanisms, then the system achieves precise control over asynchronous computations, but the ease of operation decreases

Engineering Contradiction:
Improvecontrol precisionVSAvoidease of use
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent creates a universal spreadsheet interface that can operate over multiple types of data sources (relational databases, NoSQL databases, distributed caches, etc.) while maintaining a consistent and simple operation model. The same spreadsheet operations work across different distributed systems, providing both ease of use and reliable control without requiring developers to learn different mechanisms for different data sources.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If the system integrates multiple distributed data sources, then the data integration capability improves, but the device complexity increases

Engineering Contradiction:
Improvedata integration capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the complexity of integrating multiple distributed data sources by treating each data source as an independent, addressable entity similar to a spreadsheet cell or range. The spreadsheet engine handles the integration logic, dividing and conquering the complexity of cross-source computations into manageable, cell-level operations that can be composed through formulas and functions.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9952893B2Spreadsheet model for distributed computations
Publication Date: 2018.04.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9952893B2 patent drawing
  • US9952893B2 patent drawing
  • US9952893B2 patent drawing

AI summary

A spreadsheet model is employed to facilitate distributed computations. Spreadsheets and cells are generalized to correspond to arbitrary data sources that can be remote from each other, among other things. Functions can be specified with respect to these arbitrary data sources to produce combinations of data or mashups, for example, wherein changes initiate re-computation with respect to dependent data sources.