Composite View Rendering for Thin Client GUI Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In client/server configurations, existing technologies face challenges in providing a satisfactory user experience on client devices with varying graphics and processor capabilities, as current methods require significant effort to customize applications, and porting applications to new devices is resource-intensive, leading to impractical portability and difficulty in creating personalized GUIs.

Innovation Solution

A system that allows a server to remotely provide a composite view to a client device, including a local GUI optimized for the client's display and a remote application view, enabling users to interact with server-based applications using native client interface elements, without requiring extensive rewriting or porting of applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If an application is designed to run on a server platform with minimal customization for client devices, then development effort is reduced, but user experience on small displays deteriorates

Engineering Contradiction:
Improveapplication deployment effortVSAvoiduser experience on small display
Core Design Contradiction:
Ease of manufactureVSEase of operation

Solution Approach 1:

The display output is segmented into multiple views: a first view showing a portion of the application output and a second view showing another portion. This allows the server to provide different display regions to the client device, enabling effective use of small display screens while maintaining server-centric architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a spatial dimension by dividing the display output into multiple views that can be positioned at different locations. The client device can switch between or combine these views, effectively expanding the usable display space beyond the physical screen limitations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Extent of automation

If graphical control objects are displayed on a small client device screen, then server application control is enabled, but the objects become too small for effective manipulation

Engineering Contradiction:
Improveremote application controlVSAvoidgraphical object manipulability
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The graphical user interface is segmented into multiple control regions corresponding to different views. Each view can have its own set of control objects, allowing users to access and manipulate controls that would otherwise be too small or crowded on a single small screen.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces view switching mechanisms and display management as intermediaries between the user and the graphical control objects. These intermediaries allow users to navigate between different portions of the interface and access controls in a more manageable way.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If an application is ported to a new client device with different software and hardware environment, then device compatibility is improved, but resource requirements increase significantly

Engineering Contradiction:
Improvedevice compatibilityVSAvoidporting resource requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Instead of porting the application from server to client (traditional approach), the patent inverts the architecture by running the application on the server and streaming the display output to the client. This eliminates the need for application porting while maintaining compatibility across different client devices.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent creates a visual copy of the application display output and transmits it to the client device. The client device receives and displays this copy without needing to execute the application locally, thereby avoiding the complexity of porting while achieving universal compatibility.

Inventive Principle:
Principle #26Copying

4Productivity

If the client GUI is compiled and built before shipping the device, then device performance is optimized, but GUI personalization becomes difficult

Engineering Contradiction:
Improvedevice performanceVSAvoidGUI personalization capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent makes the GUI dynamic by allowing the client device to receive and display different views of the server application output based on user needs. The first view and second view can be switched or combined dynamically, providing personalization capabilities without requiring recompilation or reconfiguration of the client device.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2419863B1Method and system for rendering composite view of an application
Publication Date: 2020.01.22 WYSE TECHNOLOGY INC
  • EP2419863B1 patent drawingFigure 1A
  • EP2419863B1 patent drawingFigure 1B
  • EP2419863B1 patent drawingFigure 1C~1E

AI summary

Examples of systems and methods are provided for rendering a composite view of an application. A system may display a local graphical user interface (GUI) and a remote application view associated with a remote application running at a remote server. The system may provide a message directed to a remote server to launch a remote application at the remote server. The system may receive a configuration file from the remote server. The system may register a GUI event listed in the configuration file. The system may display a local GUI based on the configuration file. The system may receive display output data of the remote application running on the remote server. The system may render a composite view including the local GUI based on the configuration file and a remote application view based on the display output data.