Patent ID: 8688640

Claim:
A computer program product, comprising a non-transitory computer usable medium having a computer readable program code embodied therein, the computer readable program code adapted to be executed to implement a method, the method comprising: identifying a plurality of related reports to be executed, where each of the plurality of related reports includes a query for data stored in a system, and where each of the plurality of related reports share a common object used for generating each of the plurality of related reports; for each one of the plurality of related reports, storing a local report definition associated with the one of the plurality of related reports in a first shared memory that is accessible to at least a plurality of processors, where the local report definition for each one of the plurality of related reports includes one or more actions to be performed when the one of the plurality of related reports is executed; for each one of the plurality of related reports, receiving a request for the one of the plurality of related reports from one of the plurality of processors, where the one of the plurality of processors sends the request after determining that the one of the plurality of processors has an available capacity to execute the one of the plurality of related reports; for each one of the plurality of related reports, distributing the local report definition for the one of the plurality of related reports from the first shared memory to the one of the plurality of processors that sent the request; receiving a plurality of results from the plurality of processors, where each one of the plurality of results includes a result of executing one of the plurality of related reports, and where each one of the plurality of results is received from the one of the plurality of processors that executed the one of the plurality of reports; storing the plurality of results in a second shared memory that is accessible to at least the plurality of processors; retrieving the plurality of results from the second shared memory; and aggregating the retrieved plurality of results.