Remote Application Access via Interface Hooks and Dynamic Ports

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users face challenges in conveniently and easily accessing remote applications across devices without preconfigured host lists or dedicated remote servers, particularly when trying to access applications from mobile devices like smartphones or tablets, as existing systems require manual specification of applications and can result in occluded windows and mixed user input.

Innovation Solution

The system enables peer-to-peer discovery of remote applications by allowing client devices to dynamically find available peers and access applications without a dedicated remote server, using broadcast messages and hooks into input/output interfaces to redirect user input and output, enabling seamless access to applications across devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a dedicated remote server and client brokering infrastructure is used, then remote access can be established, but device complexity and system cost increase

Engineering Contradiction:
Improveremote access stabilityVSAvoidinfrastructure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the remote access functionality from the complex server-client infrastructure and implements it directly between peer devices using interface hooks. The host device's application interface directly receives input from and sends output to the client device, eliminating the need for dedicated remote server and client brokering infrastructure while maintaining reliable remote access.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The host device provides remote access services itself through interface hooks without requiring external server infrastructure. The application on the host device directly handles remote input reception and output transmission, making the system self-sufficient and reducing infrastructure complexity.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If manual specification of applications is required, then security and precision are improved, but ease of operation deteriorates

Engineering Contradiction:
Improveapplication identification accuracyVSAvoidapplication access convenience
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The system provides feedback by displaying available applications and their statuses to the user, allowing selection based on real-time information. The interface shows which applications are running and accessible, enabling users to make informed choices without manual specification while maintaining precision through explicit selection.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary action by automatically detecting and listing available applications on the host device before user selection. This pre-prepared list eliminates the need for users to manually specify applications while maintaining accurate identification through the displayed options.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple applications share the same user session, then resource utilization is improved, but input routing and output visibility become problematic

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidinput-output management
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent segments the user session by creating a dedicated input queue for each remotely accessible application. This segmentation allows precise routing of remote user input to the correct application instance, preventing mixed input issues while maintaining efficient resource utilization through shared session infrastructure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies local quality by configuring each application's input queue specifically for remote access purposes. Each application receives tailored input processing and has its output selectively forwarded to the remote client, ensuring correct input routing and visibility management while sharing the overall user session resources.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11283866B2Providing remote access to applications through interface hooks
Publication Date: 2022.03.22 CITRIX SYSTEMS INC
  • US11283866B2 patent drawing
  • US11283866B2 patent drawing
  • US11283866B2 patent drawing

AI summary

Methods, systems, and computer-readable media for providing remote access to applications executing on a host device are presented. Aspects described herein may enable a host device to provide remote access to applications executing in a user session by hooking one or more APIs (or other interfaces) associated with an application instance and a window composition module. Dynamically assigned ports may be generated and used to allow a client device to provide remote user input to an application instance operating in a remote access mode. One or more APIs associated with the application instance may be hooked to provide the remote user input to an input queue of the application instance, bypassing an operating system input queue in some embodiments. APIs associated with the application instance and the window composition module may be hooked to allow the host device to recognize window textures generated by the application instance. These recognized window textures may be sent to the remote client device. As a result, according to some aspects, a host device may enable remote access to the application instance by providing remote input to the application instance and forwarding output from the application instance to the remote client device. These and other features will be discussed further herein.