Capability Service for Distributed System Version Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional versioning in distributed computing systems is not scalable, as it assumes higher versions have all features of lower versions, and different features require different node capabilities, leading to issues in managing capabilities dynamically and across partially upgraded systems.

Innovation Solution

A capability service and store system that allows components to publish and query capabilities, enabling devices to determine and subscribe to necessary capabilities based on application requirements, independent of version numbers, and dynamically update capability information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If traditional versioning is used in distributed computing systems, then version management is simplified by assuming higher versions have all features of lower versions, but this assumption is not always true and leads to incompatibility issues when different versions require different node capabilities

Engineering Contradiction:
Improveversion management complexityVSAvoidfeature compatibility
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent changes the parameter from version numbers to capability descriptors. Instead of relying on version numerals to imply feature sets, the system uses explicit capability parameters that describe what features are actually available. This allows any version to accurately declare its capabilities without assuming a hierarchical relationship with other versions, resolving the contradiction between simplified management and compatibility reliability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces a capability service as an intermediary between application instances and node components. This mediator translates version information into capability declarations and matches capabilities with required features. The capability service acts as a buffer that handles the complexity of version compatibility, allowing applications to request features through capability queries rather than relying on version assumptions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If versioning assumes higher versions have all features of lower versions, then version tracking becomes easier, but this assumption fails when features are added or removed in higher versions, requiring complex capability tracking

Engineering Contradiction:
Improvetime for version trackingVSAvoidcapability tracking complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent extracts capability information from version numbers and places it in dedicated capability descriptors. Instead of inferring capabilities from version tracking, the system separately maintains explicit capability declarations for each instance. This extraction separates the version tracking function from capability tracking, allowing each to be handled independently and reducing overall system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The capability service provides multiple functions through a single unified mechanism. It handles capability declaration, capability querying, capability matching, and version-agnostic feature requests all through the same capability descriptors. This multi-functionality eliminates the need for separate version tracking and capability tracking systems, reducing both time loss and complexity.

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

3Reliability

If the system uses explicit capability declarations instead of version assumptions, then feature compatibility is improved, but the system requires a capability service and store infrastructure

Engineering Contradiction:
Improvefeature compatibilityVSAvoidsystem infrastructure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service by having each application instance automatically declare its own capabilities and have these declarations stored. The capability service automatically queries and matches capabilities without manual intervention. Instances self-manage their capability information, reducing the need for complex external infrastructure while maintaining high compatibility reliability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11057496B2Distributed computing systems having capability services
Publication Date: 2021.07.06 NUTANIX INC
  • US11057496B2 patent drawing
  • US11057496B2 patent drawing
  • US11057496B2 patent drawing

AI summary

A device executing an application in a distributed system may transmit a query for capabilities of one or more components in the distributed system to a capability service and receive a response. Based on the response, the device may determine whether a first capability criteria that is based on a first version of the application is met. If the first capability criteria is met, the device may execute the first version of the application. If the first capability is not met: the device may transmit a subscription request to subscribe to one or more particular capabilities; and optionally may determine a second version of the application for which a second capability criteria is met and execute the second version until receiving a notification to the subscription. The capability service may have a capability store that is updated upon a capability change in the one or more components in the system.