User Agent String Parser with Dynamic Pattern Learning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for parsing user agent strings are inefficient in extracting and analyzing user agent information, as they struggle to recognize and handle non-standard formats, leading to high rates of unrecognized and incorrectly recognized strings.

Innovation Solution

A system that utilizes standard and customized extractors to process user agent strings, employing regular expressions to match patterns, and a mapper to supplement extracted information with predefined data, with an alerting mechanism to update patterns based on unrecognized strings, thereby improving recognition accuracy and coverage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing parsing methods are used, then the system can process user agent strings, but the recognition accuracy is low and many strings remain unrecognized

Engineering Contradiction:
Improverecognition accuracyVSAvoidunrecognized rate
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The parsing system dynamically adapts to new user agent string formats by continuously learning from unrecognized strings. The system updates its patterns and extractors based on encountered variations, transforming from a static recognition tool into a dynamic system that evolves with incoming data, thereby improving recognition accuracy while maintaining low unrecognized rates

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements a feedback mechanism where unrecognized user agent strings are fed back into the learning process. This feedback loop allows the system to identify patterns in previously unrecognized formats, update its extraction rules, and improve future recognition, directly addressing the low accuracy and high unrecognized rate problems

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If standard extractors alone are used, then the system maintains simplicity, but it cannot handle non-standard user agent formats

Engineering Contradiction:
Improveformat compatibilityVSAvoidextractor complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The extraction system is segmented into multiple specialized extractors (standard extractor, customized extractor, regex-based extractor) that handle different types of user agent formats. Each extractor focuses on specific patterns, allowing the system to maintain simplicity within each component while achieving high versatility through their coordinated operation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates universal extractors that can handle multiple formats through configurable patterns and mappings. The customized extractor, in particular, is designed to be multi-functional, capable of adapting to various non-standard formats through learning, thus providing both versatility and controlled complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If the system processes all user agent strings in real-time, then it provides immediate analysis, but it loses efficiency when dealing with diverse formats

Engineering Contradiction:
Improveparsing efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-compiling patterns, mappings, and extraction rules before processing user agent strings. Common formats are pre-configured with optimized extraction paths, allowing the system to quickly process standard strings while reserving more resources for complex, non-standard formats, thereby maintaining high overall efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies different processing qualities to different user agent strings based on their format. Standard formats receive fast, simplified processing paths, while non-standard or complex formats receive more intensive, adaptive processing. This local differentiation of processing quality maintains high productivity for the majority of cases while ensuring accurate handling of diverse formats

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11429671B2Parser for parsing a user agent string
Publication Date: 2022.08.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11429671B2 patent drawing
  • US11429671B2 patent drawing
  • US11429671B2 patent drawing

AI summary

The present disclosure provides a method for parsing a user agent string. Information is extracted from a user agent string based on user agent string patterns. The extracted information is mapped to predefined information based on patterns of the extracted information.