Input Event Interleaving for Legacy Application Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web applications designed primarily for mouse input face compatibility and performance challenges with newer input methods like touch input and natural user interfaces, as they often require separate processing and queuing of different input types, leading to inefficiencies and delayed message processing.

Innovation Solution

A system that maps input from a single source, such as touch, to generate events of multiple source types (e.g., touch and mouse events), interleaving messages to improve processing efficiency and correlating data in a cache to avoid redundant processing, allowing for seamless integration and faster message processing across different input types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate processing and queuing systems are used for different input types (mouse, touch, NUI), then compatibility with legacy applications is improved, but processing efficiency deteriorates due to delayed message processing

Engineering Contradiction:
Improvecompatibility with legacy applicationsVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent merges multiple input message streams (mouse, touch, NUI) into a single interleaved message stream, allowing unified processing while maintaining compatibility with legacy applications that expect specific input types. This resolves the contradiction by combining separate processing paths into one efficient pipeline.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system creates a universal message queue that handles multiple input types through a single interface, making the processing system multi-functional. This universal queue can process any input type without requiring separate specialized queues, improving efficiency while maintaining adaptability.

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

2Adaptability or versatility

If touch input is mapped to generate both touch events and mouse events, then compatibility with legacy applications is improved, but message processing delay increases due to non-interleaved queuing

Engineering Contradiction:
Improvecompatibility with legacy applicationsVSAvoidmessage processing delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary mapping of touch input to both touch and mouse events at the point of input generation, rather than waiting for separate processing stages. This preliminary action ensures both event types are available immediately for interleaved queuing, reducing delay while maintaining compatibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The message queue system dynamically interleaves messages from different input types based on processing needs and application requirements, rather than following a static sequential order. This dynamic approach optimizes processing timing and reduces delays while ensuring legacy applications receive compatible event sequences.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If data processing is performed separately for each input type, then processing accuracy is maintained, but redundant processing occurs reducing overall efficiency

Engineering Contradiction:
Improveprocessing accuracyVSAvoidoverall processing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system creates correlated message pairs where processed data from one input type can be copied and reused for correlated messages from other input types. This copying approach maintains processing accuracy by preserving original processing results while eliminating redundant processing operations.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system recovers and reuses processed data across different input type messages, discarding only what is necessary to maintain input-type-specific processing requirements. This recovery mechanism eliminates redundant processing while preserving the accuracy needed for each input type.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10168898B2Supporting different event models using a single input source
Publication Date: 2019.01.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10168898B2 patent drawing
  • US10168898B2 patent drawing
  • US10168898B2 patent drawing

AI summary

In at least some embodiments, input provided by a single source generates events representing multiple source types through a mapping process, e.g. a touch input generates both touch and mouse events. By configuring the system to not recognize certain gestures, messages associated with the events of the different source types are then interleaved and provided to an associated application for processing. Efficiencies are gained by configuring the system to interleave the messages associated with the source types because messages of one source type can be processed sooner than if the messages of the one source type were queued up and sent in a non-interleaved fashion.