Trie-Based User-Agent String Segmentation for Device Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for identifying communication device properties from HTTP headers, particularly User-Agents, are inefficient due to the vast number of varying formats and the increasing computational resources required for pattern matching and database lookups, leading to slow response times and storage constraints for small to medium-sized websites.

Innovation Solution

A method involving the use of trie data structures and regular expressions to efficiently identify substrings within User-Agent strings, associating these substrings with device profiles, and storing them in a structured format to reduce computational complexity and storage needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional pattern matching and database lookup methods are used to identify device properties from User-Agent strings, then identification accuracy can be maintained, but response time increases significantly and computational resources are excessively consumed

Engineering Contradiction:
Improvedevice identification accuracyVSAvoidresponse time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the User-Agent string into multiple substrings at different character positions (e.g., position 0, position 5, position 10). Each substring is independently processed and matched against corresponding data structures. This segmentation allows the system to identify device properties by examining only relevant portions of the User-Agent string rather than performing exhaustive pattern matching on the entire string, thereby reducing computational complexity and response time while maintaining identification accuracy.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If comprehensive device information is stored in traditional data structures, then identification coverage is improved, but storage requirements increase significantly

Engineering Contradiction:
Improvedevice identification coverageVSAvoidstorage space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent divides the comprehensive device information database into multiple segmented data structures, where each data structure stores substrings occurring at a specific character position in User-Agent strings. This segmentation allows the system to store only the necessary portions of device information relevant to each position, eliminating redundant data while maintaining comprehensive device identification coverage across various device types and configurations.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If exhaustive pattern matching is performed on entire User-Agent strings, then device identification accuracy is maintained, but computational complexity increases

Engineering Contradiction:
Improvedevice identification accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent reduces computational complexity by segmenting the pattern matching process into multiple independent operations. Instead of performing one exhaustive pattern match on the entire User-Agent string, the system performs multiple simpler pattern matches on substrings at different character positions. Each substring match is computationally less intensive, and the combination of these partial matches achieves the same identification accuracy as exhaustive pattern matching would provide.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and processes only the relevant substrings from the User-Agent string at specific character positions, rather than processing the entire string. This extraction approach eliminates unnecessary computational operations on irrelevant portions of the User-Agent string while maintaining the accuracy needed for device identification, thereby reducing overall computational complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9875264B2Identifying properties of a communication device
Publication Date: 2018.01.23 51 DEGREES MOBILE EXPERTS
  • US9875264B2 patent drawing
  • US9875264B2 patent drawing
  • US9875264B2 patent drawing

AI summary

A method (300) of generating information for use in identifying a property of a communication device (10) includes identifying (304) one or more substrings within a character string that identifies the communication device. For each substring, an entry is added (306) to a respective one of a plurality of data structures (800), each data structure being designated for storing substrings that occur at a particular character position within the character string. Each entry is associated (310) with a profile that includes a value of at least one property of the communication device. Also disclosed is a method (1000) of identifying the properties of a communication device based on such previously-generated information.