Feature Version Matrix for Data Flow Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Incompatibilities between client devices and server systems in data preparation applications can lead to crashes, invalid data, or failure to execute data flows when new features are used on a client device that are not supported by the server, causing user access issues and data integrity problems.

Innovation Solution

The implementation of a feature/version matrix that allows the data preparation application to determine which flow elements are supported by the server, providing users with visual indications of unavailable features and enabling them to publish flows only to servers with compatible versions, and allowing modifications to use alternative flow elements if necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the client device is upgraded to use new features without upgrading the server, then the client device gains access to new functionality, but the server may crash or produce invalid data when attempting to execute unknown functions

Engineering Contradiction:
Improveaccess to new featuresVSAvoidserver execution stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary version compatibility checking before allowing flow publication. The client device retrieves the server's version number and compares it against the flow's required version using a feature/version matrix, preventing incompatible flows from being published to the server in advance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the client device continuously monitors server version information and adjusts available features accordingly. The interface dynamically enables or disables features based on server compatibility, providing real-time feedback to users about which features can be safely used

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If the server is upgraded first with new features before the client device, then the server gains new functionality, but the client device cannot utilize these new features until it is also upgraded

Engineering Contradiction:
Improveserver feature availabilityVSAvoidfeature accessibility
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system dynamically adjusts the client device's feature availability based on the connected server's version. The interface automatically enables or disables specific features depending on server compatibility, allowing the system to adapt its behavior to the current server capabilities without requiring manual configuration

Inventive Principle:
Principle #15Dynamics

3Reliability

If version compatibility checking is implemented, then incompatible flows are prevented from being published, but the system complexity increases due to version tracking and feature matrix management

Engineering Contradiction:
Improveflow execution compatibilityVSAvoidversion management system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The feature/version matrix serves multiple functions simultaneously: it tracks which features are available in each version, determines compatibility between client and server, guides interface feature availability, and provides version upgrade recommendations. This multi-functional approach reduces overall system complexity despite the added version management capability

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

Data Source

PatentUS11989387B2Updating available features based on server compatibility
Publication Date: 2024.05.21 TABLEAU SOFTWARE INC
  • US11989387B2 patent drawing
  • US11989387B2 patent drawing
  • US11989387B2 patent drawing

AI summary

A computing device displays a user interface for a data preparation application, including a flow pane that visually represents a data preparation flow and a plurality of icons in a flow element palette. Using a feature/version matrix, the device determines that (i) a first subset of parameterized operations represented by a first subset of icons is not supported by the data preparation server application according to a version number of the data preparation server application and (ii) a second subset of parameterized operations represented by a second subset of icons is supported by the data preparation server application. The device provides a first indication that the parameterized operations represented by the icons in the first subset are unavailable to be inserted into the data preparation flow and displays a visual indication that each of the icons in the second subset is available to be inserted.