Coordinator Module Gesture Recognition Reducing Context Switches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Context switches between threads or processes in computer systems to update displays based on input consume processor and memory resources, leading to system slowdowns.

Innovation Solution

A coordinator module processes input, recognizes gestures, and updates the display, allowing the user interface module to sleep or perform other work concurrently, reducing context switches by only waking up to handle application-specific gestures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If context switches are performed frequently to update the display based on input, then the display responsiveness is improved, but the processor and memory resources are consumed excessively

Engineering Contradiction:
Improvedisplay responsivenessVSAvoidprocessor and memory resource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system segments the input processing workflow into distinct phases: a coordinator thread handles input reception and gesture recognition, while a user interface thread handles display updates. This segmentation allows the user interface thread to sleep during input processing phases, reducing context switches and resource consumption while maintaining display responsiveness when updates are actually needed.

Inventive Principle:
Principle #1Segmentation

2Speed

If the user interface module runs continuously to handle display updates, then the display responsiveness is improved, but the processor resources are wasted during idle periods

Engineering Contradiction:
Improvedisplay responsivenessVSAvoidprocessor resource waste
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The user interface thread operates periodically rather than continuously - it sleeps during periods when no display updates are needed and wakes up only when the coordinator thread signals that display updates are required. This periodic operation eliminates wasted processor resources during idle periods while ensuring the display remains responsive when updates are necessary.

Inventive Principle:
Principle #19Periodic action

3Measurement precision

If the coordinator module processes all input and recognizes all gestures, then the gesture recognition accuracy is improved, but the device complexity increases

Engineering Contradiction:
Improvegesture recognition accuracyVSAvoidcoordinator module complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system extracts and separates application-specific gesture recognition from general gesture processing. The coordinator thread handles general input processing and basic gesture recognition, while application-specific gestures are identified and passed to the user interface thread for specialized handling. This extraction reduces the complexity burden on the coordinator module while maintaining comprehensive gesture recognition accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10761714B2Recognizing gestures and updating display by coordinator
Publication Date: 2020.09.01 GOOGLE LLC
  • US10761714B2 patent drawing
  • US10761714B2 patent drawing
  • US10761714B2 patent drawing

AI summary

A non-transitory computer-readable storage medium may comprise instructions stored thereon. When executed by at least one processor, the instructions may be configured to cause a computing device to implement at least a user interface module and a coordinator module. The user interface module may be configured to pass layout constraints to the coordinator module. The coordinator module may be configured to process input received by the computing device, recognize gestures based on the input, update a display based on the recognized gestures and the layout constraints passed to the coordinator module by the user interface module, and in response to recognizing an application-specific gesture, pass the application-specific gesture to the user interface module.