Patent ID: 8452724

Claim:
A method for generating a report comprising: receiving at a report generation system a request to create a report; determining by the report generation system that data for the report is cached in a data cache, the data for the report that is stored in the data cache is generated based upon data stored in a repository; identifying by the report generation system a first time when the data stored in the data cache was generated based upon the data stored in the repository; determining by the report generation system a set of one or more data collectors for the report, the one or more data collectors configured to store data in the repository; determining by the report generation system whether the data stored in the data cache is out of date, wherein the data stored in the data cache is determined to be out of date when there exists at least one data collector in the set of data collectors for which a second time that the data collector stored data in the repository is after the first time and determining the data stored in the data cache is out of date further comprises accessing a control table, wherein information in the control table identifies one or more data collectors for the report, stores a timestamp indicating a date and time when the one or more data collectors for the report most recently collected data, and stores a timestamp indicating a date and time when the data stored in the data cache was generated and stored in the data cache, determining based on the control table the one or more data collectors for the report, the one or more data collectors configured to store data in the repository, and determining based on the control table there exists at least one data collector in the one or more data collectors for which a time when the data collector stored data in the repository is after the first time; in response to determining that the data stored in the data cache is not out of date, creating the report by the report generation system using the data for the report cached in the data cache; and in response to determining that the data stored in the data cache is out of date, regenerating by the report generation system data for the report based upon data stored in the repository, storing by the report generation system the regenerated data in the data cache, and creating the report by the report generation system based upon the regenerated data.