Touch Support for Remoted Applications via Input Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies face challenges in supporting touch input for remoted applications, particularly in handling touch input data across devices due to proprietary operating system memory access issues, leading to processing obstacles and compatibility problems.
Innovation Solution
The solution involves providing touch input data to a server executing the remoted application by using hooks to access private address spaces, simulating touch input events using a driver, and converting touch input into mouse events for legacy applications, allowing for local or remote processing based on latency and user preferences, and translating input types and sources to ensure compatibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If touch input data is passed from client device to server device for processing, then touch support for remoted applications is enabled, but processing obstacles occur due to inability to store touch input data in non-public memory areas of the operating system
Solution Approach 1:
The patent introduces an intermediary component (hook or driver) that mediates between the touch input data and the application's access to it. This intermediary translates or adapts the touch input data format and storage location, allowing the application to access touch data without directly accessing the non-public memory areas of the operating system. The intermediary acts as a bridge that resolves the compatibility issue between proprietary memory access restrictions and the need for touch input processing.
2Ease of operation
If touch input data is stored in non-public memory area accessible only by operating system, then operating system can manage touch input, but applications cannot retrieve touch input data using operating system functions
Solution Approach 1:
The hook or driver serves as an intermediary that sits between the operating system's non-public memory area and the application. It intercepts operating system functions related to touch input and provides alternative access paths for applications. The intermediary translates application requests into operating system-compatible operations, enabling applications to retrieve touch input data without directly accessing restricted memory areas.
Solution Approach 2:
The patent employs copying by creating a duplicate or representation of the touch input data in a location that both the operating system and application can access. Instead of allowing direct access to the original touch input data in non-public memory, the system creates a copy in a shared or public memory area that applications can retrieve using standard operating system functions, while the original data remains in its secure location.
3Speed
If touch input is processed locally on client device, then latency is reduced, but server cannot process touch input for remoted application
Solution Approach 1:
The patent segments the touch input processing into multiple components: local preprocessing on the client device and remote processing on the server device. The client device performs initial processing of touch input data (such as formatting and basic validation) to reduce latency, while the server device performs application-specific processing. This segmentation allows both local speed and remote application processing to coexist by dividing the processing workload across different locations.
Data Source
AI summary
Touch, multi-touch, gesture, flick and stylus pen input may be supported for remoted applications. For example, a touch capable client device may receive touch input for a remoted application executing on a server. In such an instance, the touch input may be transmitted to the server for processing. The server may modify the application display or the application functionality and provide an output to the client device. In some arrangements, the output may correspond to instructions for modifying a display of the application while in other examples, the output may correspond to an image of the changed application display. Additionally or alternatively, determining a functionality associated with touch input may be performed based on user definitions, user preferences, server definitions (e.g., operating system on the server), client definitions (e.g., operating system on the client) and the like and/or combinations thereof. Aspects may also include resolving latency and enhancing user experience.


