Multi-tenant Patch Development via Versioned Workspace Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional patch development systems for multi-tenant on-demand database systems often require users to upgrade to the latest version of code to receive bug fixes, which can be risky and inconvenient for customers reluctant to upgrade, limiting flexibility in patch development.

Innovation Solution

The method involves associating a plurality of stored elements with the creation of a patch, allowing for the development of patches for earlier versions of code by storing and retrieving elements from a previous workspace, enabling patch creation even after a new version of the code has been created, thus enabling targeted fixes without requiring users to upgrade.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional patch development systems address only the latest version of code, then system simplicity is maintained, but flexibility in providing bug fixes for earlier versions is lost

Engineering Contradiction:
Improveflexibility in patch developmentVSAvoidpatch development system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the codebase into multiple version-specific workspaces, allowing patches to be developed and applied to specific versions independently. Each workspace contains elements (code, metadata, configuration) associated with a particular version, enabling targeted patching without affecting other versions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by creating and storing workspace elements for multiple code versions in advance. This allows patch developers to access and modify elements from earlier versions even after newer versions have been released, enabling bug fixes for legacy versions without requiring users to upgrade.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If users are forced to upgrade to the latest version to receive bug fixes, then patch development is simplified, but user convenience and risk tolerance are reduced

Engineering Contradiction:
Improveuser convenienceVSAvoidsystem reliability during upgrade
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system segments patch delivery by version, allowing users to receive bug fixes for their specific installed version without being forced to upgrade. Each version has its own workspace with associated patches, enabling users to stay on earlier versions while still receiving security and bug fixes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates copies of workspace elements from earlier versions and stores them for future patch development. These copied elements can be modified and applied as patches without requiring users to upgrade to the latest version, thus maintaining system stability while providing bug fixes.

Inventive Principle:
Principle #26Copying

3Productivity

If patches are developed only for the latest code version, then development time is reduced, but the ability to provide targeted fixes for specific versions is lost

Engineering Contradiction:
Improvepatch development speedVSAvoidversion-specific patch capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system segments the development process by creating version-specific workspaces that can be accessed independently. Developers can quickly create patches for specific versions by working with pre-stored workspace elements, maintaining high productivity while enabling version-specific patching capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-storing workspace elements for multiple versions, which accelerates subsequent patch development. When a bug is discovered in an earlier version, developers can immediately access the stored elements and create targeted patches without needing to recreate the entire workspace or upgrade to the latest version.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9733920B2System, method and computer program product for associating a plurality of stored elements with a creation of a patch
Publication Date: 2017.08.15 SALESFORCE INC
  • US9733920B2 patent drawing
  • US9733920B2 patent drawing
  • US9733920B2 patent drawing

AI summary

In accordance with embodiments, there are provided mechanisms and methods for associating a plurality of stored elements with a creation of a patch. These mechanisms and methods for associating a plurality of stored elements with a creation of a patch can enable improved patch development for multi-tenant on-demand database systems, improved patch flexibility, etc.