Tree-Based User Agent Lookup for Mobile Device Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for determining device properties in communication devices, such as mobile phones, are inefficient due to large user agent string look-up tables and slow processing times, leading to difficulties in identifying devices and adapting web resources effectively.

Innovation Solution

A method using a tree-based structure to quickly retrieve device properties from a store of previously identified properties, where the received string of characters is used to locate nodes that reference the properties, allowing for faster and more efficient determination of device capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a large look-up table of user agent strings is used to identify mobile devices, then device identification accuracy may be improved, but processing time increases significantly

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

Solution Approach 1:

The patent segments the large look-up table into multiple smaller trees organized by device categories (e.g., smartphones, tablets, feature phones). Each tree contains a subset of user agent strings specific to that category. This segmentation reduces the search space from examining all entries in a large table to searching only relevant subsets, thereby maintaining identification accuracy while significantly reducing processing time.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the look-up table is made larger to cover more device variations, then more devices can be identified, but the complexity of the system increases

Engineering Contradiction:
Improvedevice coverageVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a categorical dimension to organize user agent strings by device type (smartphones, tablets, feature phones, etc.). Instead of a flat, one-dimensional look-up table, the system creates a multi-dimensional structure where strings are grouped into trees based on device categories. This dimensional organization allows the system to handle diverse device variations without proportionally increasing complexity, as new devices can be accommodated by adding them to appropriate existing categories.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Measurement precision

If exact matching of user agent strings is required, then precise device identification is achieved, but many devices fail to be identified due to string variations

Engineering Contradiction:
Improvedevice identification precisionVSAvoiddevice identification reliability
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent implements partial matching within each tree structure, allowing the system to identify devices even when the user agent string does not exactly match any entry. The matching process examines portions of the string (prefixes, key segments) rather than requiring complete exact matches. This partial matching approach maintains high precision for known devices while significantly improving reliability by successfully identifying devices with string variations, typos, or minor modifications.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3264728B1Determining a property of a communication device
Publication Date: 2020.12.02 DEVICEATLAS LTD
  • EP3264728B1 patent drawingFigure 1
  • EP3264728B1 patent drawing
  • EP3264728B1 patent drawing

AI summary

A mobile communication device 1 sends an HTTP request for a Web resource over a mobile network 3 to a Web server 2. The USER AGENT string of the HTTP request is used by the Web server 2 to retrieve properties of the mobile communication device 1 from device properties stored in a device property store 4. The device properties are referenced by nodes of a tree of sample USER AGENT strings for sample mobile communication devices.