Scroll Offset Detection via Pixel Hashing in Thin Client Displays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In thin client systems, detecting scrolling events efficiently is challenging due to the need to transmit substantial pixel data, especially when the scroll offset is one of a larger number of values, leading to inefficiencies in bandwidth usage and processing.

Innovation Solution

The system employs LZ77 compression and hashing algorithms to determine hash values of pixel pairs, limiting the scope of possible offsets and reducing the number of comparisons needed, allowing for efficient detection of scroll offsets and minimizing data transmission by identifying which pixels need to be updated.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire screen contents are updated when scrolling occurs, then the display is kept current, but the bandwidth consumption increases substantially

Engineering Contradiction:
Improvedisplay update completenessVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts only the necessary pixel data that needs to be transmitted during a scroll operation. By using hash values to identify unchanged regions and calculating scroll offsets, the system extracts only the minimal set of pixel data required to update the display, rather than transmitting the entire screen buffer.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the screen buffer into smaller regions based on hash value comparisons. By dividing the display into manageable segments and identifying which segments have changed, the system can transmit only those specific segments rather than the entire screen, reducing overall bandwidth consumption.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If brute force comparison of all possible scroll offsets is used, then the scroll offset can be determined, but the processing time increases significantly

Engineering Contradiction:
Improvescroll offset detection accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-calculating and storing hash values for pixel pairs in the destination array before the scroll detection process. This preliminary computation allows the system to quickly compare hash values during scroll offset detection without performing time-consuming pixel-by-pixel comparisons for all possible offsets.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces hash values as an intermediary mechanism to compare pixel data. Instead of directly comparing all possible scroll offsets through brute force pixel comparison, the system uses hash values as a mediator to quickly identify potential matches, significantly reducing the search space and processing time required to determine the scroll offset.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9286862B2System and method for detecting a scrolling event during a client display update
Publication Date: 2016.03.15 ORACLE INT CORP
  • US9286862B2 patent drawing
  • US9286862B2 patent drawing
  • US9286862B2 patent drawing

AI summary

An apparatus including a first computer for detecting a scrolling event is provided. The first computer is configured to store a destination array including pixels corresponding to a present set of data for a second computer and to store a source array including pixels corresponding to an expected set of data for a display on the second computer after a scrolling event. The first computer is configured to determine hash values of pixel pairs for the pixels of the destination array and to determine hash values of pixel pairs for the pixels of the source array. The first computer is configured to determine a final scroll offset between the pixels in the destination array and the source array based on the hash values. The first computer is configured to transmit pixels indicative of the expected set of data to the second computer based on the final scroll offset for display.