Patent ID: 8713535

Claim:
A method for detecting software application usage on a client device, the method comprising the steps of: categorizing components of applications that are instantiated on the client device, the categorization being performed based on at least one of usage pattern of the components or correlation of the components to active usage, the categorization classifying the components into categories that includes primary processes, user interaction with a user interface and auxiliary processes, wherein primary processes run when the application is being actively used, and terminate when the application is not being actively used, user interaction with a user interface interaction enables detection of the software application usage by monitoring interaction patterns with the user interface, and auxiliary processes run without correlation to application usage; providing the categorized components as elements in a usage manifest that is published to the client device, the categorized components being respectively monitored by a plurality of usage counters for generating usage metrics based on a frequency of unique launches of an application or a duration of each unique use of an application responsively to the monitoring; and implementing a software usage detection service on the client device, the software usage detection service arranged for monitoring one or more of the components according to the usage manifest to detect usage of the applications based on the categorization of the one or more components.