Web Application Schema Versioning for Client-Server Coherence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing web application systems face version mismatches between clients and servers, leading to incompatibilities and errors when clients or servers are offline, as changes made offline may not be compatible with updated server code upon reconnection, causing data access issues and requiring manual updates.

Innovation Solution

A computer system that receives data requests from web application clients, updates the web application schema to the current version if necessary, and determines which updates to apply based on version identifiers and importance levels, ensuring compatibility and seamless data processing by resending requests with updated headers and applying necessary updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If offline functionality is enabled allowing users to make changes locally, then user productivity and accessibility are improved, but version mismatches between client and server occur causing data coherence issues

Engineering Contradiction:
Improveuser productivityVSAvoiddata coherence
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary version checking and schema validation before processing offline changes. When the client reconnects, it proactively compares its local schema version with the server's current schema version, and applies necessary updates before processing the queued changes, preventing version mismatch errors

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the client sends version identifiers with each data request, the server responds with compatibility status and required updates, and the client applies these updates before resuming offline operations. This closed-loop feedback ensures version coherence while maintaining offline productivity

Inventive Principle:
Principle #23Feedback

2Reliability

If manual updates are required to fix version mismatches, then data coherence is maintained, but user convenience and operation ease deteriorate

Engineering Contradiction:
Improvedata coherenceVSAvoiduser convenience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system enables self-service automatic update application. When version mismatches are detected upon reconnection, the client automatically downloads and applies schema updates without requiring user intervention, while maintaining data coherence through automated validation and conflict resolution

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary automatic updates in the background before the user resumes work. Schema validation and update application occur automatically during the reconnection process, so when the user returns to the application, their environment is already coherent and ready for use

Inventive Principle:
Principle #10Preliminary action

3Reliability

If schema updates are applied automatically upon reconnection, then version coherence is improved, but system complexity and processing time increase

Engineering Contradiction:
Improveversion coherenceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements partial update application by first checking version identifiers and only applying the specific schema updates that are actually needed rather than forcing a complete schema reapplication. This selective approach reduces processing time and complexity while maintaining necessary version coherence

Inventive Principle:
Principle #16Partial or excessive action

4Reliability

If version checking is performed on every data request, then version mismatch detection is improved, but communication overhead and processing time increase

Engineering Contradiction:
Improveversion mismatch detectionVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs version checking periodically at key transition points (when going offline, when reconnecting, and when applying updates) rather than on every single data request. This periodic checking maintains reliable version detection while significantly reducing communication overhead and processing time during normal operations

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9229701B2Local store data versioning
Publication Date: 2016.01.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9229701B2 patent drawing
  • US9229701B2 patent drawing
  • US9229701B2 patent drawing

AI summary

Embodiments are directed to maintaining coherence between web application versions, to maintaining proper versions between web application clients and servers and to determining whether to apply a web application update. In one scenario, a computer system receives a data request from a web application client for certain specified data. The data is indexed according to a web application schema, and the data request includes a web application client version identifier. The computer system determines that the requested data is not accessible using the web application schema, updates the web application schema to a current version of the web application schema and processes the received data request using the updated web application schema.