Feature-Set Baseline Compatibility Checking in Distributed Cloud Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing systems, maintaining compatibility between applications and software frameworks is complex due to frequent changes and interdependencies, requiring a seamless compatibility check process that traditional version controls lack, especially in cloud computing environments where rapid deployments and upgrades are common.

Innovation Solution

A method for maintaining compatibility using feature-set constraints, where a known compatibility baseline is established through compatibility testing, and explicit enumeration of added or removed features is tracked to determine compatibility between applications, allowing for efficient upgrades and deployments without necessitating the explicit enumeration of all features.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional version controls are used to manage application compatibility, then version tracking is simple, but compatibility checking between applications and software frameworks becomes complex and inefficient

Engineering Contradiction:
Improvecompatibility check efficiencyVSAvoidcompatibility management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a compatibility baseline as an intermediary concept that mediates between multiple applications and the software framework. This baseline captures the shared feature set that all applications must support, serving as a common reference point for compatibility checking. By using this intermediary, the system avoids direct complex pairwise compatibility checks between all application pairs and the framework, thereby improving efficiency while managing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the feature sets of applications into two parts: features that are part of the compatibility baseline (shared by all applications) and features that are not. This segmentation allows the system to focus compatibility checking only on the baseline features, which are enumerated and tracked, while ignoring non-baseline features. This reduces the complexity of compatibility management by dividing the feature space into manageable segments.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If all features are explicitly enumerated for compatibility checking, then compatibility determination is precise, but the process becomes cumbersome and complex

Engineering Contradiction:
Improvecompatibility determination precisionVSAvoidcompatibility check simplicity
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent extracts only the essential features that form the compatibility baseline from the complete feature sets of applications. These baseline features are explicitly enumerated and tracked, while non-baseline features are not enumerated. This extraction approach maintains precision in compatibility determination by focusing on the critical shared features, while simplifying the process by not requiring enumeration of all features.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by enumerating only a subset of features (the baseline features) rather than all features. This partial enumeration is sufficient for compatibility checking purposes, as compatibility is determined by whether applications support the baseline feature set. This approach achieves the necessary precision without the burden of complete feature enumeration.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If compatibility testing is performed between all application pairs, then compatibility accuracy is high, but the time and resources required increase significantly

Engineering Contradiction:
Improvecompatibility assuranceVSAvoidcompatibility testing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by establishing a compatibility baseline before deploying or upgrading applications. This baseline is determined through compatibility testing and represents a pre-validated feature set. Once the baseline is established, subsequent compatibility checks rely on comparing against this pre-tested baseline rather than performing new pairwise tests, thereby ensuring reliability while reducing testing time for future changes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges the compatibility requirements of multiple applications into a single compatibility baseline. Instead of maintaining separate compatibility relationships for each application pair, the system combines these requirements into one unified baseline that represents the intersection of all necessary features. This merging reduces the number of separate compatibility checks needed, ensuring comprehensive compatibility assurance while minimizing testing time.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9342298B2Application compatibility checking in a distributed computing environment
Publication Date: 2016.05.17 MICROSOFT TECHNOLOGY LICENSING LLC

AI summary

In various embodiments, methods and systems for maintaining compatibility between applications, based on feature-set constraints are provided. A distributed computing system provides Platform as a service (PaaS) including a software framework in a service model of cloud computing. A known compatibility baseline is established for features of a first application and a second application. The known compatibility baseline inherently includes a baseline set of unenumerated features of the applications. It is determined that the first application is compatible with second application based on comparing an explicit enumeration of added features or removed features in a feature set of the applications. The added features or removed features are tracked after the baseline set of unenumerated features is defined. The determination whether the first application and the second application are compatible is communicated for processing the first application and/or the second application.