SYSTEM AND METHOD FOR STORING AND AGGREGATING DATA
Some embodiments of the invention provide a method for tracking the use of software resources of a computer. This method identifies an instance when a particular software resource is used. It then measures and records a time period relating to the detected utilization of the software resource. In some embodiments, this time period is an estimated duration of the utilization of the software resource.
1 . A system for tracking utilization of resources of computers, the system comprising:
a plurality of client computers, wherein each computer has one or more resources that the system tracks;
a client application for each client computer, each client application for collecting utilization duration data relating to the utilization of the resources of the application's corresponding client computer;
an application server for receiving the utilization duration data collected by the client applications and for storing the received data in a storage structure;
a second storage structure; and
a data transformer for transforming the duration data stored in the first storage structure into a format that is optimized for querying, wherein the data transformer stores the transformed data in the second storage structure.
2 . The system of claim 1 , wherein the second storage structure uses a star schema.
3 . The system of claim 1 further comprising:
a reporting engine for querying the second storage structure and generating reports based on the results of the query.
4 . The system of claim 3 , wherein the duration data stored in the second storage structure is associated with a number of searchable criteria; and
wherein for each query, the reporting engine specifies a set of search criteria and parameters for the criteria and then retrieves from the second storage structure duration data that satisfies the set of search criteria.
5 . The system of claim 4 , wherein at least for some of the queries, the reporting engine aggregates at least some of the duration data that the reporting engine retrieves from the second storage structure.
6 . The system of claim 4 , wherein the searchable criteria include temporal data relating to the duration data.
7 . The system of claim 4 , wherein the searchable criteria include organizational data relating to the duration data.
8 . The system of claim 4 , wherein the application server, first storage structure, second storage structure, and reporting engine operate on one computer.
9 . The system of claim 4 , wherein the application server, first storage structure, second storage structure, and reporting engine operate on more than one computers.
10 . The system of claim 1 , wherein at least the client applications, application server, or data transformer aggregate some of the collected duration data.
11 . The system of claim 2 , wherein the star schema has several fact tables for storing several types of data
12 . The system of claim 11 , wherein the types of data are selected from the group consisting of: inventoried assets, software utilization, browser utilization, hardware utilization, time periods, and usage durations.