Local Calculation and Private Views in Real-Time Spreadsheet Collaboration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Real-time collaboration in spreadsheet applications faces challenges with accuracy and performance due to centralized calculations, which can be slow and lead to data inconsistencies, and users' inability to have unique views of data during collaborative editing.

Innovation Solution

Allowing clients to perform calculations locally and providing private views, with the option to perform calculations remotely if necessary, and persisting client views in the host machine to ensure data consistency and user-specific data filtering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If calculations are performed centrally on the server, then data consistency is maintained, but calculation speed and performance deteriorate

Engineering Contradiction:
Improvedata consistencyVSAvoidcalculation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the calculation process into two parts: deterministic calculations that produce consistent results are performed locally on client devices, while only the calculation results and data updates are synchronized to the server. This segmentation allows fast local processing while maintaining centralized data consistency for the portions that require it.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allowing different calculation strategies for different parts of the spreadsheet. Specifically, calculations that are deterministic and produce consistent results are performed locally on each client device, while calculations that may produce different results are handled centrally. This enables optimized performance for specific calculation types without compromising overall data consistency.

Inventive Principle:
Principle #3Local quality

2Reliability

If all users see the same data in real time, then collaboration consistency is improved, but users cannot apply unique filters or views to their own data

Engineering Contradiction:
Improvecollaboration consistencyVSAvoidunique data views
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent extracts the view-specific filtering and sorting logic from the core data model. Each user's filters, sorts, and other view modifications are stored as separate metadata associated with their specific view, rather than being part of the underlying data itself. This allows users to have personalized views while the base data remains consistent for all collaborators.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent adds another dimension to the data model by separating the base data layer from the view layer. The base data layer maintains consistency for all users, while the view layer allows each user to have their own filters, sorts, and display preferences. This dimensional separation enables both collaboration consistency and personalized views to coexist.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Measurement precision

If complex calculations are performed centrally, then accuracy is maintained, but time consumption and latency increase

Engineering Contradiction:
Improvecalculation accuracyVSAvoidcalculation latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements dynamic calculation strategy selection based on the characteristics of each calculation. The system automatically determines whether a calculation is deterministic and should be performed locally, or if it requires centralized processing. This dynamic approach allows the system to optimize for speed when accuracy can be maintained locally, and switch to centralized processing only when necessary.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of calculation location from a fixed central server to a flexible distribution between client devices and server. By analyzing calculation characteristics, the system dynamically changes where calculations are performed, moving deterministic calculations to the client side to reduce latency while maintaining accuracy through selective synchronization of results.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2218011B1Private views of data and local calculations during real time collaboration
Publication Date: 2019.05.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2218011B1 patent drawingFigure 1
  • EP2218011B1 patent drawingFigure 2
  • EP2218011B1 patent drawingFigure 3

AI summary

Techniques for performing a process during a real time collaboration by multiple users or clients on a spreadsheet file are disclosed herein which may permit calculations to be performed locally by at least one of the clients. By doing so, increases in performance are realized since only data updates need to be provided to the host machine. As such, a determination is preferably made whether calculations performed locally can result in different data. If conflicting data is a possibility, then the calculations for the spreadsheet file will usually be performed remotely by a host machine. If not, then each client capable of doing so will perform the calculations locally and then provide only the updated data to the host machine. The determination of whether to perform the calculations locally or not may also be made dynamically, such as when one or more new formulas are added to the spreadsheet file.