Agent IQ
Informing web servers about device capabilities
....
If there is no match, the request is re-directed to a javascript 'learning page' where the database is updated with the client capabilities and is redirected back. This happens in a flash.
The 'learning page' uses Javascript and Modernizr. There is a learning logic built in to avoid incorrect records. You can set a barrier which determines how many identical records need to be 'learned' from unique IP's before the record becomes 'official'. An 'official' record never diverts to the learning page.