User Agent String Analysis via Dynamic Keyword Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for detecting user agent identity rely heavily on predefined regular expressions, which are inadequate for covering the vast and constantly changing landscape of user agent strings, resulting in low detection rates and requiring significant manual effort to maintain.
Innovation Solution
A method and system that utilize a list of predefined keywords associated with user agent information, extract candidate keywords from user agent strings, and apply extraction patterns to determine the type and version of user agent information, with an analyzing database building engine that automatically updates the database with new keywords from unrecognized strings.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If predefined regular expressions are used for user agent detection, then the detection process is simple and fast, but the detection rate and coverage are low due to the inability to cover constantly changing user agent strings
Solution Approach 1:
The patent implements a dynamic keyword list that can be automatically updated with new keywords extracted from unrecognized user agent strings. Unlike static regular expressions, the system adapts to changing user agent formats by continuously learning new patterns from actual traffic data, thereby improving detection rate while maintaining manageable complexity through automated updates.
Solution Approach 2:
The system performs self-updates by automatically extracting new keywords from unrecognized user agent strings and adding them to the keyword list without requiring manual intervention. This self-service mechanism allows the system to improve its own detection capabilities over time, resolving the contradiction between maintaining high detection rates and avoiding excessive complexity.
2Reliability
If predefined regular expressions are used, then manual maintenance effort is required to update for new devices and OS versions, but this requires significant human resources and time
Solution Approach 1:
The system automatically extracts new keywords from unrecognized user agent strings and updates the keyword list without human intervention. This eliminates the need for manual collection of new information from market sources and generation of new regular expressions, dramatically reducing maintenance time and human resources while improving detection coverage for new devices and OS versions.
Solution Approach 2:
The system uses feedback from unrecognized user agent strings to continuously improve its detection capabilities. When a user agent string cannot be recognized, the system extracts new keywords from it and adds them to the keyword list, creating a closed-loop feedback mechanism that automatically adapts to new devices and OS versions without requiring manual maintenance efforts.
3Adaptability or versatility
If the user agent schema is constantly updated to cover new devices and browsers, then detection coverage improves, but the complexity of managing and updating regular expressions increases significantly
Solution Approach 1:
The system uses a dynamic keyword list that automatically adapts to new user agent formats by extracting keywords directly from unrecognized strings. This dynamic approach replaces the need for manually updating complex regular expressions to cover new devices, browsers, and OS versions, thereby improving adaptability while reducing the complexity of schema management.
Solution Approach 2:
The system automatically updates its keyword list by extracting new keywords from unrecognized user agent strings without requiring manual intervention. This self-service mechanism allows the system to adapt to constantly changing user agent schemas for new devices and browsers while avoiding the complexity of manual regular expression management and updates.
Data Source
AI summary
Method, system, and programs for analyzing user agent string are disclosed. In one example, a user agent string is received. A list of predefined keywords is obtained. Each of the predefined keywords is associated with a type of user agent information. One or more candidate keywords are extracted from the user agent string based on the list of predefined keywords. An extraction pattern is obtained for each of the one or more candidate keywords. A keyword is determined with a version from the one or more candidate keywords based, at least in part, on the extraction patterns for the one or more candidate keywords. The determined keyword with the version represents the type of user agent information in the received use agent string.


