Multi-branch Software Update Management System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The linear progression model for software updates can cause issues as customers installing public patches may experience new problems introduced by previously released private patches, potentially degrading software performance, and comprehensive testing is often not feasible due to expedited release timelines.

Innovation Solution

A multi-branch update management system that separates updates into specific and general branches, using distinct version numbering ranges to ensure users receive only necessary updates, preventing the installation of updates that could revert or introduce issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a linear progression model is used for software updates, then all customers receive comprehensive updates containing all previous patches, but customers may experience new issues caused by private patches designed for specific customers and software performance may degrade

Engineering Contradiction:
Improvesoftware stabilityVSAvoidupdate compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The update system is segmented into multiple branches: a public branch containing universally applicable updates and private branches containing customer-specific updates. This segmentation allows each branch to be managed independently, preventing private patch issues from affecting all customers while maintaining the ability to deliver comprehensive updates when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different update branches are assigned different qualities and purposes: public branches provide stable, widely-tested updates for general use, while private branches provide customized updates for specific customers. This local quality approach ensures that each customer receives updates appropriate to their needs without exposing them to unnecessary risks from other customers' private patches.

Inventive Principle:
Principle #3Local quality

2Productivity

If private patches are released expedited to solve urgent customer problems, then customer-specific issues are resolved quickly, but comprehensive testing cannot be done and new issues may be introduced

Engineering Contradiction:
Improvepatch release speedVSAvoidpatch stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments patches into private (expedited) and public (comprehensive testing) branches. Private patches can be released quickly to specific customers who need urgent fixes, while public patches undergo thorough testing before release. This segmentation allows the organization to maintain both fast response times for critical issues and high quality standards for general updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The testing and release parameters are changed based on patch type: private patches use expedited parameters with limited testing and targeted distribution, while public patches use stringent parameters with comprehensive testing and broad distribution. This parameter flexibility allows the system to adapt to different customer needs and risk tolerances.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If public patches contain all previous private and public patches, then comprehensive updates are provided, but customers with highly tuned software may experience substantial performance degradation

Engineering Contradiction:
Improveissue resolution completenessVSAvoidsoftware performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The update system segments patches to allow customers to choose which branches to apply. Customers with highly tuned software can selectively apply only public patches that maintain performance, or selectively apply specific private patches when needed. This segmentation prevents forced performance degradation from unnecessary private patches while still providing access to comprehensive updates when desired.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The update application process becomes dynamic, allowing customers to adjust their update strategy based on their specific needs and performance requirements. Customers can dynamically choose to apply updates from different branches in different sequences, or even skip certain updates, rather than being forced into a fixed linear progression that may degrade performance.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8032880B2Multi-branch management for updating software
Publication Date: 2011.10.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8032880B2 patent drawing
  • US8032880B2 patent drawing
  • US8032880B2 patent drawing

AI summary

A system for managing updates of an executable component in accordance with an updating tree with multiple branches is provided. In one implementation, specific updates are provided to users with specific problems while general updates are provided to all users of the executable component. A range of lower version numbers is reserved for the general updates. When a specific update with a version number higher than those in the reserved range has been installed on a computing device, an installer may prevent a new general update with a lower version number to be installed. The installer may determine a new specific update corresponding to the general update and provide an indication to the user to install this new specific update instead of the general update. This multi-branch update delivery system enables users to elect to receive only updates that are necessary.