Cross-OS Drag-and-Drop Proxy Window Cursor Confinement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Drag-and-drop operations across multiple operating systems (OSs) face inconsistencies, particularly when a client OS interacts with a host OS, due to difficulties in detecting and initiating operations, such as rapid mouse movements and cursor confinement issues, leading to unreliable user experiences.

Innovation Solution

Implementing a system that coordinates drag-and-drop operations by establishing drop target and source proxies within the GUIs of both OSs, using virtualization agents to manage cursor confinement and simulate mouse events, ensuring seamless cross-OS interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the client OS relies on standard mouse event detection for DnD operations, then the detection mechanism is simple, but rapid mouse movements cause the client OS to fail to detect the start of the DnD operation

Engineering Contradiction:
Improvedetection reliabilityVSAvoiddetection mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a proxy window as an intermediary between the host OS and client OS. This proxy window captures mouse events that occur during rapid movements and relays them to the appropriate OS, ensuring reliable detection without requiring complex direct detection mechanisms between the OSs.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The proxy window is established in advance within the client OS GUI before the DnD operation occurs. This preliminary setup ensures that when rapid mouse movements happen, the proxy is already in position to capture and process the events, eliminating detection failures.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If the engaged mouse is allowed to leave the workspace application boundary freely, then cursor movement is flexible, but the client OS cannot reliably detect when a DnD operation has started

Engineering Contradiction:
Improvecursor movement flexibilityVSAvoidDnD operation detection reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The proxy window serves as a mediator that sits within the workspace boundary and captures mouse events. It translates the cursor's movement outside the boundary into detectable events within the boundary, allowing flexible cursor movement while maintaining reliable detection.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The proxy window creates a virtual copy or representation of the mouse event detection capability within the client OS GUI. This copy captures the essence of mouse events without requiring the actual cursor to remain visible or detectable in the traditional sense.

Inventive Principle:
Principle #26Copying

3Ease of manufacture

If the client OS uses its own default DnD framework, then the implementation is simple, but cross-OS DnD operations exhibit inconsistent performance

Engineering Contradiction:
Improveimplementation simplicityVSAvoidcross-OS operation consistency
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The proxy window is designed to work universally across different OS combinations (host OS and client OS). It provides a common interface that handles DnD operations consistently whether the user is dragging from host to client or from client to host, achieving multi-functionality without requiring separate implementations for each direction.

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

Solution Approach 2:

The proxy acts as a universal mediator that translates DnD operations from one OS format to another. It maintains the simplicity of each OS's default framework while providing consistent cross-OS behavior through the proxy's translation layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11893225B2Host to client drag-and-drop operation
Publication Date: 2024.02.06 CITRIX SYSTEMS INC
  • US11893225B2 patent drawing
  • US11893225B2 patent drawing
  • US11893225B2 patent drawing

AI summary

A computer system is provided. The computer system includes a memory, a user interface, and a processor coupled to the memory and the user interface. The at least one processor is configured to render, via the user interface, a first representation of the computer system and a second representation of a remote computer system distinct from the computer system; receive, via the user interface, input initiating a drag-and-drop operation of a digital resource provided by the remote computer system; detect entry of a cursor effectuating the drag-and-drop operation into the first representation; confine the cursor to a portion of the first representation; move a target proxy window to encompass the portion of the first representation; and free the cursor to continue effectuation of the drag-and-drop operation.