Plugin Version Management for Zero-Downtime Website Upgrades

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deploying new versions of custom software plugins on websites accessed by many users poses challenges, including the need to lock users out during upgrades, administrative authorization issues, and difficulties in reverting to previous versions without taking the website down, especially due to environmental differences between testing and production environments.

Innovation Solution

Implementing a method that allows multiple versions of the same software plugin to be active simultaneously on a website, with designated administrative users controlling which versions are deployed to different user groups, enabling seamless upgrades and rollbacks while keeping the website accessible.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If new version of software plugin is deployed to production environment, then plugin functionality is updated, but website must be taken down for upgrade

Engineering Contradiction:
Improveplugin version updateVSAvoidwebsite availability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the plugin version management by introducing separate storage locations for different plugin versions (first version and second version stored separately) and separate activation mechanisms (first activation flag and second activation flag). This allows the system to switch between versions without taking the website down, as each version can be independently activated or deactivated without affecting the other.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic version switching through the activation flags stored in the database. The system can dynamically change which version is active (first version or second version) based on the activation status, allowing seamless transitions between versions while the website remains operational. This dynamic mechanism enables updates without service interruption.

Inventive Principle:
Principle #15Dynamics

2Ease of manufacture

If website is taken down for plugin upgrade, then new version can be installed, but users cannot access website during upgrade

Engineering Contradiction:
Improveplugin installationVSAvoidwebsite downtime
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent implements preliminary action by storing the new plugin version and its activation flag in the database before actually activating it. The system prepares the second version and its activation status in advance, then only switches activation flags when ready. This allows the upgrade process to be prepared beforehand without requiring website downtime for the actual installation or switching.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating separate storage entries for different plugin versions (first version and second version as separate copies) and separate activation flags. This copying mechanism allows the new version to be prepared and stored independently, then activated without overwriting or taking down the website, enabling seamless version transitions.

Inventive Principle:
Principle #26Copying

3Speed

If plugin version is switched immediately, then update is fast, but environmental differences may cause bugs

Engineering Contradiction:
Improvedeployment speedVSAvoidplugin compatibility
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the deployment process into distinct phases: storing the new version separately, activating it through a flag, and switching between versions. This segmentation allows for controlled deployment where the new version can be prepared and tested independently before activation, providing a mechanism to manage compatibility issues while maintaining fast deployment capability through the flag-based switching mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms through the activation flag system that can be monitored and controlled. The system allows for tracking which version is active and can provide feedback loops for monitoring plugin performance and compatibility. This feedback capability enables rapid detection of issues and controlled rollbacks if environmental differences cause problems.

Inventive Principle:
Principle #23Feedback

4Ease of repair

If multiple versions are stored simultaneously, then rollback is possible, but storage space is consumed

Engineering Contradiction:
Improveversion rollbackVSAvoidstorage space
Core Design Contradiction:
Ease of repairVSQuantity of substance

Solution Approach 1:

The patent segments the storage approach by maintaining separate, structured entries for each version (first version and second version as distinct segments) with corresponding activation flags. This segmentation allows for efficient storage organization and enables rollback capability by simply changing the activation flag, without requiring complex storage management or excessive space consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses parameter changes by storing version information with activation status parameters (first activation flag and second activation flag). Instead of storing all possible version data permanently, the system changes the activation parameter to switch between versions. This parameter-based approach enables rollback functionality while optimizing storage space by only actively maintaining necessary version information.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9229702B1Systems and methods for application plugin deployment for websites
Publication Date: 2016.01.05 KHOROS LLC
  • US9229702B1 patent drawing
  • US9229702B1 patent drawing
  • US9229702B1 patent drawing

AI summary

The method manages customization upgrades to a production website while keeping it accessible. The website currently utilizes a first version of a software plugin. A user requests copying a second version of the plugin from another website to production, which is then authorized. Copying the plugin makes both versions simultaneously operational for distinct groups of users. Users request a webpage that utilizes the plugin, and receive the webpage customized by the first or second version of the plugin depending on whether they are preview-mode users. A request to designate the second version of the plugin as the live version is submitted, and authorization to implement the request is received. After designating the second version of the plugin as the live version, all subsequent requests for the webpage result in receiving the webpage customized by the second version of the plugin regardless of whether the users are designated as preview-mode users.