
The user-agent-utils java library can be used to parse http requests in real-time or to analyze log files and gather information about the user-agent.
it doesn't try to identify hundreds of different clients and operating systems but instead offers a compromise between performance and usability.