Dual Modeling Environment for Concurrent Client-Server Command Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web-based applications on thin-client devices lack precision and processing capabilities, leading to a tradeoff between speed and accuracy, and fail to provide scalable and interactive 3D editing and design features effectively.

Innovation Solution

A dual modeling environment is implemented, where lightweight client modules execute concurrently with more precise server modules, enabling synchronization of data to ensure accurate output results without compromising interactivity, allowing for both speed and fidelity within the same application session.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a native web application is built using current technology (HTML, Flash, third party development tools), then the application can execute quickly on client devices, but it lacks the full processing capabilities and precision of server-based systems

Engineering Contradiction:
Improveexecution speedVSAvoidprocessing precision
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The application is segmented into two parallel execution paths: a lightweight client-side execution path for speed and an accurate server-side execution path for precision. Each path processes commands independently through separate modules, allowing both speed and precision to be achieved simultaneously without compromise.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the execution parameter of computational accuracy by implementing different accuracy levels for different execution paths. The client executes with reduced accuracy parameters for speed, while the server executes with full accuracy parameters for precision, and both results are synchronized.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If a traditional desktop application is created with processing split between client and server, then interactive capabilities can be achieved, but the client-side environment constraints limit the available processing capabilities

Engineering Contradiction:
Improveinteractive capabilityVSAvoidprocessing capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The application framework provides universal execution capabilities by supporting multiple execution paths (client-side and server-side) within the same application. This allows the system to adapt to different processing requirements and resource constraints while maintaining consistent interactive functionality across all execution paths.

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

3Measurement precision

If computing resources are increased on the server side, then processing precision and capabilities improve, but the client-side speed and interactivity may be compromised due to resource constraints

Engineering Contradiction:
Improvedata fidelityVSAvoidresponse speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The computational workload is segmented between client and server, with the client handling speed-critical operations locally and the server handling precision-critical operations. This segmentation allows each component to optimize for its strength without compromising the other.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements feedback mechanisms where client output data is synchronized with server output data. This feedback loop ensures that the lightweight client execution can leverage server results to correct or enhance its output, maintaining both speed and accuracy.

Inventive Principle:
Principle #23Feedback

4Device complexity

If a single behavioral and semantic stack is used for interactive applications, then the application architecture is simplified, but the capacity to scale and provide both speed and accuracy is limited

Engineering Contradiction:
Improvearchitecture complexityVSAvoidscalability
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The application architecture is segmented into multiple execution paths (client-side and server-side modules) that can operate independently. This segmentation enables the system to scale by adding more execution paths or resources without increasing overall architectural complexity, as each path remains modular and independent.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9002946B2Dual modeling environment in which commands are executed concurrently and independently on both a light weight version of a proxy module on a client and a precise version of the proxy module on a server
Publication Date: 2015.04.07 AUTODESK INC
  • US9002946B2 patent drawing
  • US9002946B2 patent drawing
  • US9002946B2 patent drawing

AI summary

A method, apparatus, system, article of manufacture, and computer readable storage medium enable a dual modeling environment. A client application is created that has proxy modules. Each of the proxy modules is a light weight version of a corresponding precise module in a server application. Commands are executed in the client application to produce client output data. The same commands are transmitted to the server application that is executed concurrently with and independent from the client application and produces server output data. The client output data is synchronized with the server output data.