Hash-Based Device Property Identification Using Trie-Like Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for identifying communication device properties, such as User-Agents, face inefficiencies due to the lack of standardized structure and the increasing complexity of User-Agent headers, leading to slow response times and inaccurate results, especially with Regular Expressions and trie data structures.

Innovation Solution

A computer-implemented method using a data structure with multiple nodes, where each node is associated with a hash value generated from substrings of User-Agent strings, allowing for faster and more accurate identification of device properties by creating paths through the structure that correspond to specific devices and their properties.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If Regular Expressions are used to identify device properties from User-Agent headers, then identification can be performed with simple implementation, but identification speed becomes slow and response time increases

Engineering Contradiction:
Improveimplementation simplicityVSAvoididentification speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent pre-generates all possible User-Agent patterns and their corresponding device properties during an offline phase, storing them in a lookup table. During online operation, the system only needs to perform direct pattern matching and table lookups, eliminating the need for complex real-time Regular Expression processing and significantly improving identification speed

Inventive Principle:
Principle #10Preliminary action

2Productivity

If trie data structures are used to improve identification speed, then response time is reduced, but storage requirements increase significantly

Engineering Contradiction:
Improveidentification speedVSAvoidstorage requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential identifying patterns from User-Agent headers and stores them in a compact lookup table, rather than maintaining a complete trie structure that would require extensive storage. The system takes out only the necessary pattern-device property mappings needed for accurate identification, reducing storage requirements while maintaining fast identification performance

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If comprehensive User-Agent patterns are maintained to handle all device types, then identification accuracy is improved, but device complexity and processing overhead increase

Engineering Contradiction:
Improveidentification accuracyVSAvoiddata structure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs comprehensive pattern analysis and device property mapping in advance during an offline phase, generating a ready-to-use lookup table. This preliminary action consolidates all the complexity of pattern matching and device identification into a pre-processed data structure, allowing the online system to achieve high accuracy through simple table lookups without bearing the processing overhead of maintaining complex patterns

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10482175B2Identifying properties of a communication device
Publication Date: 2019.11.19 51 DEGREES MOBILE EXPERTS
  • US10482175B2 patent drawing
  • US10482175B2 patent drawing
  • US10482175B2 patent drawing

AI summary

A communication device is arranged to transmit a character string that identifies the device. The character string comprises a plurality of substrings, each of which comprises a sequence of characters. A property of the device is identified using a data structure having multiple nodes, wherein each of a plurality of nodes stores a respective hash value. Each hash value corresponds to the hash value that would be generated by performing a hash function on the sequence of characters of each substring. The data structure comprises references between the plurality of nodes, and the references define a path through the data structure that identifies the device. A node on the path is associated with a property of the device.