Mobile Procedure Version Control via Server-Selected Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for managing code versions on client devices lack the ability to efficiently implement and control different versions across various populations and devices, leading to limitations in A/B testing and bug rectification, and result in degraded performance due to frequent data access and encryption requirements.

Innovation Solution

A server system is configured to select and transmit specific versions of procedures to client devices based on user profiles, allowing for version control, storage, and execution, with directives managing the active versions and maximum versions stored, thereby optimizing performance and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If version control of procedures is implemented on client devices, then adaptability and productivity are improved through A/B testing and bug rectification, but device complexity increases due to version management overhead

Engineering Contradiction:
Improveversion control capabilityVSAvoidversion management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A version control module acts as an intermediary between the procedure execution environment and the client device resources. This module manages version information, stores multiple procedure versions locally, and controls which version is active, thereby implementing version control without requiring complex changes to the overall device architecture or existing execution mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple versions of procedures are stored locally on client devices, then adaptability for A/B testing is improved, but loss of substance occurs due to increased storage requirements

Engineering Contradiction:
ImproveA/B testing capabilityVSAvoidstorage space
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The system implements selective local storage by maintaining multiple versions of specific procedures that are relevant to A/B testing and bug rectification, while not duplicating entire applications or unrelated data. The version control module identifies and stores only the necessary procedure variations locally, optimizing storage utilization while preserving adaptability for testing different versions.

Inventive Principle:
Principle #3Local quality

3Reliability

If frequent data access and encryption operations are performed, then security is improved, but productivity decreases due to performance degradation

Engineering Contradiction:
Improvedata securityVSAvoidexecution performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The version control module performs preliminary actions by pre-managing procedure versions and their encryption states locally. By having the version control mechanism ready and configured in advance, the system can quickly retrieve and execute appropriate procedure versions without performing repeated encryption/decryption operations during runtime, thus maintaining security while reducing performance overhead.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11675800B2Version control and execution on a mobile device
Publication Date: 2023.06.13 SALESFORCE INC
  • US11675800B2 patent drawing
  • US11675800B2 patent drawing
  • US11675800B2 patent drawing

AI summary

Disclosed are some implementations of systems, apparatus, methods and computer program products for facilitating version control for a client device. A server system may select one of two or more versions of a procedure based, at least in part, on a user profile. The server system may generate a message including a procedure name of the procedure, a version identifier identifying the selected version of the procedure, a set of computer-readable instructions corresponding to the selected version of the procedure, and a client directive pertaining to storing the procedure in a database. The server system may transmit the message to a client device associated with the user.