dcs - Device Classifier Service

This Varnish module provides an efficient implementation of device detection and classification using the downloadable version of the Netbiscuits Device Classifier Service (DCS) database or a self-provided database. An example is included.

This module was developed to provide exceptional performance. All lookups are uncached and lookup complexity does not depend on the position of the best match in the dcs database.

To achieve high performance, C code for a custom parser for all tokens (substrings) from the DCS database is generated. The parser is run to detect all tokens from the User-Agent, marking potential matches. As the match result, the DCS database entry which comes first in the database is returned.

Exemplary benchmarks on a single i7-4600M core @2.9 GHz max suggest that detection throughput exceeds 200.000 matches per second per core, which corresponds to a latency in the order of 5us (5 microseconds).

Status: 
Used in production
Licence: 
Varnish version supported: 
Commercial support: 
Uplex