Dual-Protocol Server for Seamless Web Application Upgrades

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern web applications with complex dependencies face challenges in deploying incremental updates without causing service interruptions or compatibility issues between different versions.

Innovation Solution

A method and system that utilize a dual-protocol approach, allowing servers to communicate with client devices using both the old and new versions of a web application protocol, ensuring seamless transition by serving new application resources and services once the new version is installed, and removing support for the old protocol and resources accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If servers are updated to support only the new version of the protocol, then the new version of the application can be deployed with full functionality, but service interruptions occur and compatibility with old version clients is lost

Engineering Contradiction:
Improveapplication deployment speedVSAvoidservice continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The server implements dynamic protocol version support, allowing it to adaptively serve different protocol versions to different clients based on their capabilities. The server can transition from supporting only the old protocol to supporting both old and new protocols, and eventually to supporting only the new protocol, without requiring complete server downtime for each transition phase.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The server is updated to support the new protocol version before all clients have upgraded to the new application version. This preliminary action allows the server to be prepared in advance, and clients can upgrade at their own pace while the server maintains backward compatibility through dual protocol support during the transition period.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If servers maintain dual-protocol support during transition, then service continuity is maintained and compatibility is preserved, but system complexity increases

Engineering Contradiction:
Improveservice continuityVSAvoidprotocol handling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The server is designed with multi-functionality to handle both old and new protocol versions simultaneously. A single server instance can serve both old version clients and new version clients without requiring separate server infrastructures, thereby reducing overall system complexity despite the dual-protocol capability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The server dynamically changes its operational parameters by enabling or disabling support for specific protocol versions based on the client's capabilities and the deployment phase. This parameter-based control simplifies the management of dual-protocol support compared to maintaining completely separate server systems.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If old version resources are removed from servers immediately after new version deployment, then resource efficiency is improved, but clients running old version experience broken functionality

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidclient compatibility
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system implements feedback mechanisms where the server responds to client protocol version capabilities and adjusts its resource serving behavior accordingly. The server monitors which clients are using which protocol version and dynamically serves appropriate resources, ensuring that old version clients continue to receive compatible resources until they upgrade.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Resource availability on the server is dynamically adjusted based on the deployment phase and client composition. During the transition period, the server maintains resources for both old and new versions. After the transition is complete, the server dynamically removes old version resources, optimizing resource utilization while maintaining client compatibility throughout the process.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8370467B1Method for seamlessly providing incremental application updates to users while serving continuous live traffic
Publication Date: 2013.02.05 GOOGLE LLC
  • US8370467B1 patent drawing
  • US8370467B1 patent drawing
  • US8370467B1 patent drawing

AI summary

Methods and systems are provided for upgrading a web application from an existing version to a new version without causing or creating any interruption in service to clients receiving the upgrade. A combination of techniques and strategies are used to fully migrate all connected clients from a first version to a second version of an application while keeping at least two deployment constraints in mind: (1) prevent clients from running with a mixture of resources from two different versions of an application (e.g., Version A and Version B of a given application); and (2) prevent clients from accessing service endpoints from a different version of the application than the client is running (e.g., accessing service endpoints for Version B when running Version A).