Asynchronous Client Editing for Project Management Data Stores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web applications often lack interactivity due to network roundtrips between the client and server, leading to delayed feedback and reduced functionality, especially in project management software where users must wait for validation and scheduling processes to complete before seeing the effects of their edits.

Innovation Solution

A dynamic client system that allows users to continue editing project tasks while background edits are being processed by the server, providing immediate feedback and reducing the need for constant page reloads by batching and validating changes asynchronously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the web application waits for server validation and scheduling before allowing user interaction, then data consistency is maintained, but user interactivity and responsiveness are reduced

Engineering Contradiction:
Improvedata consistencyVSAvoiduser interactivity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs preliminary validation and scheduling actions on the server side before the user completes their editing session. The server validates changes and performs scheduling calculations in the background, allowing the user interface to remain responsive while ensuring data consistency is maintained through pre-computed validation results.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary validation and scheduling service that acts as a mediator between the user interface and the core data storage. This intermediary layer processes validation and scheduling requests asynchronously, returning results to the user interface without blocking user interactions, thus maintaining both data consistency and user interactivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If the application processes edits synchronously with server validation, then data accuracy is ensured, but processing time and user waiting are increased

Engineering Contradiction:
Improvedata accuracyVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system implements periodic validation and scheduling actions rather than continuous synchronous processing. The server performs validation and scheduling at periodic intervals or triggered by specific events (such as user navigation or explicit save actions), rather than blocking on every user input, thus maintaining data accuracy while reducing perceived processing time.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The server performs preliminary validation and scheduling calculations in advance, caching results that can be quickly applied to user edits. This preliminary action ensures data accuracy is maintained through pre-computed validation rules, while users experience reduced waiting time as the heavy computational work has already been completed.

Inventive Principle:
Principle #10Preliminary action

3Loss of energy

If the web application transmits minimal data to reduce network roundtrips, then network efficiency is improved, but application interactivity and feedback are reduced

Engineering Contradiction:
Improvenetwork efficiencyVSAvoidapplication interactivity
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent segments data transmission into multiple smaller, targeted requests rather than transmitting large amounts of data in single roundtrips. The client transmits only the specific changes made (deltas) to the server, and the server returns segmented validation results and scheduling updates, maintaining network efficiency while providing timely interactive feedback.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements a feedback mechanism where the server returns validation results and scheduling information to the client in response to edit transmissions. This feedback loop maintains application interactivity by providing users with immediate information about the validity of their edits, while still transmitting minimal data to maintain network efficiency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8676919B2Asynchronously editing a synchronous data store, such as a project management data store
Publication Date: 2014.03.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8676919B2 patent drawing
  • US8676919B2 patent drawing
  • US8676919B2 patent drawing

AI summary

A dynamic client system is described that provides an interactive client-side web application experience to a user accessing an application through a web browser. At the client, the system receives an edit to a project task from a user of the client. The system receives an indication that the user has completed editing the project task. The system sends the edited project task to the project server. The client sends edits to the project server in the background and users can continue editing the project without waiting for the project server to finish processing the edits.