User Agent String Clustering for Automated Detection Database

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for detecting user agent identity rely on predefined regular expressions, which are inadequate for handling the vast and constantly changing landscape of user agent strings, resulting in low detection rates and requiring extensive manual effort to maintain.

Innovation Solution

A method and system that group user agent strings into clusters, compare them to determine keywords, and use these keywords to extract and validate user agent information, including OS and browser versions, with an automated database building engine to adapt to new devices and versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If predefined regular expressions are used to detect user agent identity, then the detection process is simple and structured, but the detection rate is low and cannot cover the vast and constantly changing user agent strings

Engineering Contradiction:
Improvedetection rateVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system automatically learns and updates user agent patterns from actual traffic data without requiring manual intervention. The database building engine continuously collects user agent strings, clusters them to identify new patterns, and updates the detection database autonomously, enabling the system to adapt to constantly changing user agent formats while maintaining high detection rates

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system transitions from static predefined regular expressions to dynamic pattern learning. By continuously clustering incoming user agent strings and extracting new patterns, the system adapts its detection capabilities over time to cover emerging devices, operating systems, and browsers without requiring manual updates

Inventive Principle:
Principle #15Dynamics

2Productivity

If predefined regular expressions are used for user agent detection, then the system structure is simple, but extensive manual effort is required to maintain and update the expressions

Engineering Contradiction:
Improvemaintenance efficiencyVSAvoidautomation level
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The database building engine implements self-service by automatically collecting user agent strings from traffic, clustering them to identify new patterns, extracting keywords and regular expressions, and updating the detection database without human intervention. This eliminates the need for manual maintenance while keeping the system structure relatively simple

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system establishes a feedback loop where detected user agent strings are continuously analyzed, clustered, and used to generate updated detection patterns. This closed-loop feedback mechanism automatically adapts the system to new user agent formats, replacing manual maintenance with automated learning and updating processes

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If the user agent schema is constantly updated to cover new devices and versions, then the detection coverage improves, but the manual work required to collect information and generate new regular expressions increases significantly

Engineering Contradiction:
Improvecoverage of user agent typesVSAvoidtime for manual maintenance
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system automatically adapts to new user agent types by clustering incoming strings and extracting patterns without manual intervention. When new devices, operating systems, or browsers emerge, the system autonomously learns their characteristics and updates the detection database, eliminating the time-consuming manual process of collecting information and generating new regular expressions

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary clustering and pattern extraction on collected user agent strings to proactively identify new device types and formats before they become widespread. This preliminary action enables the system to be ready with appropriate detection patterns in advance, improving coverage without requiring reactive manual updates

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11537642B2Method and system for providing a user agent string database
Publication Date: 2022.12.27 YAHOO ASSETS LLC
  • US11537642B2 patent drawing
  • US11537642B2 patent drawing
  • US11537642B2 patent drawing

AI summary

Method, system, and programs for determining a keyword from user agent strings are disclosed. In one example, a plurality of user agent strings is received. The plurality of user agent strings is grouped into one or more clusters. The one or more clusters comprise a first cluster that includes two or more user agent strings. The two or more user agent strings in the first cluster are compared. Based on the comparing, a keyword is determined from the first cluster. The keyword represents a type of user agent information.