Atomic Set Manifests for Software Version Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers and publishers face challenges in managing software updates, as incompatible versions of main and related sub-components can lead to abnormal program behaviors if not synchronized, causing operational issues for end users.

Innovation Solution

The implementation of atomic set management systems that provide methods and apparatuses for joint software package servicing, where atomic set information defines version dependencies between software components, ensuring that only compatible versions are installed and updated, using atomic set manifests to manage and distribute software packages across client devices and servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate version management is used for main program and related sub-components, then installation flexibility is improved, but version compatibility is worsened leading to abnormal program behaviors

Engineering Contradiction:
Improveinstallation flexibilityVSAvoidversion compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent merges the version management of main programs and related sub-components into a unified atomic set. The atomic set manifest groups multiple software packages with their version dependencies together, ensuring they are serviced (installed, updated, or removed) as a complete unit. This combining approach maintains installation flexibility while guaranteeing version compatibility among all components in the set.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements preliminary action by pre-defining version dependencies and compatibility relationships in the atomic set manifest before distribution. The manifest contains metadata that specifies which versions of related sub-components are compatible with each main program version. This preliminary configuration allows the servicing system to automatically enforce compatibility without requiring real-time version checking during installation or updates.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If joint servicing of software packages is implemented, then version compatibility is improved, but system complexity is worsened due to atomic set management

Engineering Contradiction:
Improveversion compatibilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary component - the atomic set manifest - that mediates between the servicing system and the software packages. The manifest contains all necessary version dependency information and compatibility rules, allowing the servicing system to automatically determine which packages should be serviced together without complex real-time analysis. This intermediary simplifies the servicing logic while ensuring compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements self-service by enabling the atomic set manifest to automatically provide its own servicing information. The manifest contains metadata that describes its own structure, the packages it encompasses, and their version relationships. This self-describing approach allows the servicing system to automatically process atomic sets without requiring external configuration or complex management overhead.

Inventive Principle:
Principle #25Self-service

3Manufacturing precision

If atomic set manifests are used to define version dependencies, then version control precision is improved, but information processing overhead is worsened

Engineering Contradiction:
Improveversion control precisionVSAvoidinformation processing overhead
Core Design Contradiction:
Manufacturing precisionVSLoss of information

Solution Approach 1:

The patent extracts version dependency information from complex software relationships and consolidates it into a separate, structured atomic set manifest. Instead of embedding version checking logic within each software package or requiring complex inter-package communication, the manifest extracts and centralizes all version dependency metadata in a standardized format. This extraction reduces information processing overhead during servicing operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies parameter changes by representing version dependencies as structured metadata parameters in the atomic set manifest. Rather than using complex version comparison logic or string-based version strings, the manifest uses standardized version parameters that can be efficiently processed and compared. This parameterization approach maintains precise version control while reducing the computational overhead of version management.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10447814B2Joint servicing of software packages
Publication Date: 2019.10.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10447814B2 patent drawing
  • US10447814B2 patent drawing
  • US10447814B2 patent drawing

AI summary

Methods, systems, and apparatuses for publishing, acquiring, and servicing of related software packages together. Flexible yet robust software package version control through joint servicing using atomic sets, including business software applications and consumer software applications, is performed by client and developer devices in conjunction with a host server. Developers and publishers develop and provide applications and assign specific, related versions of software packages, that are jointly operable per atomic sets embodied in atomic set manifests, in software program bundles for acquisition by end users. Adherence to jointly serviced software packages using atomic sets is performed by client devices and/or servers in a manner that is transparent to the end user. The end user is enabled to acquire all or less than all software packages that make up an atomic set, yet each software package acquired adheres to the version requirements set forth by the atomic set.