Isolated Binary Deployment for Web Server Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The slow and methodical update policy for web servers in cloud environments due to the risk of interfering with other users' operations when updating software, which prevents quick and efficient application of patches and updates.

Innovation Solution

A system and method for fast and isolated distribution of binaries to web servers, allowing selected binaries to be downloaded and executed only for specific subsets of users, with multi-factor authentication and change logging, ensuring that experimental binaries override dependencies only for the intended audience while isolating them from core systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software updates are applied to web servers, then the software can be patched and improved, but the updates may interfere with operations for other users and require taking services offline

Engineering Contradiction:
Improvesoftware update reliabilityVSAvoidservice availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the web server environment into isolated binary packages, each containing specific software components that can be updated independently. This allows updates to be applied to specific segments without affecting the entire system or other users' operations, resolving the contradiction between update reliability and service availability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (binary package management system) that mediates between update requirements and running services. The system allows binaries to be updated while services continue to run by managing the transition through isolated packages, preventing direct interference with ongoing operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If software updates are applied quickly, then patch efficiency is improved, but the risk of interfering with other users' operations increases

Engineering Contradiction:
Improveupdate deployment speedVSAvoidinterference with user operations
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

By segmenting updates into isolated binary packages with clearly defined scopes, the system enables rapid deployment while containing potential harmful effects to specific segments only. This segmentation ensures that even if an update causes issues, the impact is localized and does not propagate to other users' operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies local quality by allowing different binary packages to have different update states and isolation levels. Each package can be updated independently with appropriate quality control, enabling fast updates while maintaining system stability through localized changes rather than global updates.

Inventive Principle:
Principle #3Local quality

3Reliability

If extensive testing is performed before deployment, then update safety is improved, but the update policy becomes slow and methodical

Engineering Contradiction:
Improveupdate safetyVSAvoidupdate deployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-compiling and validating binary packages before deployment. Testing and verification are conducted in advance during the package creation phase, allowing rapid deployment of pre-tested updates without extensive on-site testing, thus reducing update deployment time while maintaining safety.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamic update mechanisms where the testing and deployment process adapts based on the criticality and scope of changes. Less critical updates can be deployed faster with minimal testing, while critical updates receive more thorough pre-testing, optimizing the balance between update safety and deployment speed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11496453B2Binary experimentation on running web servers
Publication Date: 2022.11.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11496453B2 patent drawing
  • US11496453B2 patent drawing
  • US11496453B2 patent drawing

AI summary

Systems and methods to enable on-the-fly modification of running processes on a webserver more quickly and efficiently are discussed herein. A code vault is used to store binaries for use in production code running on a server, which are downloaded and implemented in the running process when authorized by developers. The process retrieves the binaries from the code vault to deploy the modifications to a specified audience without having to re-instantiate or run a parallel process with the new binaries. Binaries for different audiences or subsequent experiments may be downloaded onto the same machine, but remain isolated. Control of the deployments may require multi-factor or multi-user authentication and are logged for change control.