System and method for self-configuring multi-type and multi-location result aggregation for large cross-platform information sets

Information

  • Patent Application
  • 20070180115
  • Publication Number
    20070180115
  • Date Filed
    February 02, 2006
    18 years ago
  • Date Published
    August 02, 2007
    16 years ago
Abstract
A system and method for self-configuring multi-type and multi-location result aggregation for large cross-platforms is presented. An enterprise tier component includes a request manager that receives query requests from a distribution tier component over a request path. The request manager retrieves one or more data thresholds and compares the data query's result to the data thresholds. When the data query result is less than the data thresholds, the request manager sends the data query result to the distribution manager over the request path. However, when the data query result exceed one of the data thresholds, the request manager stores the data query result in a temporary storage area and sends metadata, which includes the temporary storage area location, to the distribution tier component over the request path. In turn, the distribution tier component retrieves the data query result directly from the temporary storage area over a dedicated data path.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.



FIG. 1 is an exemplary diagram showing an embodiment of an enterprise tier component receiving a data query request from a distribution tier component, and deciding to provide data query result to the distribution tier component over a request path;



FIG. 2 is an exemplary diagram showing an embodiment of a request manager receiving a data query request from a distribution tier component and, in turn, providing metadata to the distribution tier component that corresponds to the location of the data query result;



FIG. 3 is a flowchart showing steps taken in an enterprise tier component providing data to a distribution tier component through direct means or through a temporary storage area;



FIG. 4 is an example of metadata that a server provides to a distribution tier component when the distribution tier component's data request exceeds one or more data thresholds;



FIG. 5 is an interaction diagram corresponding to an embodiment of the present invention showing a stored procedure deciding that a data query result does not exceed one or more data thresholds;



FIG. 6 is an interaction diagram corresponding to an embodiment of the present invention showing a stored procedure deciding that a data query result exceeds one or more data thresholds;



FIG. 7 is an interaction diagram corresponding to an embodiment of the present invention showing a middleware application deciding that a data query result does not exceed one or more data thresholds;



FIG. 8 is an interaction diagram corresponding to an embodiment of the present invention showing a middleware application deciding that a data query result exceeds one or more data thresholds; and



FIG. 9 is a block diagram of a computing device capable of implementing the present invention.


Claims
  • 1. A computer-implemented method comprising: receiving, at a first software component, a data query request from a second software component over a request path;retrieving, at the first software component, a data query result corresponding to the data query request;comparing the data query result with a data threshold;in response to the data query result not exceeding the data threshold, providing the data query result from the first software component to the second software component over the request path; andin response to the data query result exceeding the data threshold, storing the data query result in a temporary storage area and providing metadata from the first software component to the second software component over the request path, the metadata including a temporary storage identifier corresponding to the temporary storage area.
  • 2. The method of claim 1 wherein the data threshold is selected from the group consisting of a size limit threshold, a time limit threshold, a data not ready threshold, and a security check threshold.
  • 3. The method of claim 1 further comprising: extracting, at the second software component, the temporary storage identifier from the metadata; andretrieving, at the second software component, the data query result from the temporary storage area based upon the temporary storage identifier, the data query result retrieval performed over a data path which is different than the request path.
  • 4. The method of claim 3 further comprising: extracting, at the second software component, a retrieval timeframe from the metadata that indicates a timeframe that the data query result is available at the temporary storage area; andperforming the retrieving during the retrieval timeframe.
  • 5. The method of claim 3 wherein the request path includes an extensible mark-up language and the data path does not include the extensible mark-up language.
  • 6. The method of claim 1 wherein the metadata includes a plurality of temporary storage identifiers, each temporary storage identifier corresponding to different data query results that are retrieved from a plurality of data storage areas.
  • 7. The method of claim 1 further comprising: wherein the temporary storage area is co-located with the second software component; andwherein the first software component and the second software component are at different locations.
  • 8. A computer program product stored on a computer operable media, the computer operable media containing instructions for execution by a computer, which, when executed by the computer, cause the computer to implement a method for providing data, the method comprising: receiving, at a first software component, a data query request from a second software component over a request path;retrieving, at the first software component, a data query result corresponding to the data query request;comparing the data query result with a data threshold;in response to the data query result not exceeding the data threshold, providing the data query result from the first software component to the second software component over the request path; andin response to the data query result exceeding the data threshold, storing the data query result in a temporary storage area and providing metadata from the first software component to the second software component over the request path, the metadata including a temporary storage identifier corresponding to the temporary storage area.
  • 9. The computer program product of claim 8 wherein the data threshold is selected from the group consisting of a size limit threshold, a time limit threshold, a data not ready threshold, and a security check threshold.
  • 10. The computer program product of claim 8 wherein the method further comprises: extracting, at the second software component, the temporary storage identifier from the metadata; andretrieving, at the second software component, the data query result from the temporary storage area based upon the temporary storage identifier, the data query result retrieval performed over a data path which is different than the request path.
  • 11. The computer program product of claim 10 wherein the method further comprises: extracting, at the second software component, a retrieval timeframe from the metadata that indicates a timeframe that the data query result is available at the temporary storage area; andperforming the retrieving during the retrieval timeframe.
  • 12. The computer program product of claim 10 wherein the request path includes an extensible mark-up language and the data path does not include the extensible mark-up language.
  • 13. The computer program product of claim 8 wherein the metadata includes a plurality of temporary storage identifiers, each temporary storage identifier corresponding to different data query results that are retrieved from a plurality of data storage areas.
  • 14. The computer program product of claim 8 wherein the method further comprises: wherein the temporary storage area is co-located with the second software component; andwherein the first software component and the second software component are at different locations.
  • 15. An information handling system comprising: one or more processors;a memory accessible by the processors;one or more nonvolatile storage devices accessible by the processors; anda data distribution tool for providing data, the data distribution tool being effective to: receive, at a first software component, a data query request from a second software component over a request path;retrieve, at the first software component, a data query result from one of the nonvolatile storage devices corresponding to the data query request;compare the data query result with a data threshold;in response to the data query result not exceeding the data threshold, provide the data query result from the first software component to the second software component over the request path; andin response to the data query result exceeding the data threshold, store the data query result in a temporary storage area located in one of the nonvolatile storage devices and provide metadata from the first software component to the second software component over the request path, the metadata including a temporary storage identifier corresponding to the temporary storage area.
  • 16. The information handling system of claim 15 wherein the data threshold is selected from the group consisting of a size limit threshold, a time limit threshold, a data not ready threshold, and a security check threshold.
  • 17. The information handling system of claim 15 further wherein the data distribution tool is further effective to: extract, at the second software component, the temporary storage identifier from the metadata; andretrieve, at the second software component, the data query result from the temporary storage area based upon the temporary storage identifier, the data query result retrieval performed over a data path which is different than the request path.
  • 18. The information handling system of claim 17 wherein the data distribution tool is further effective to: extract, at the second software component, a retrieval timeframe from the metadata that indicates a timeframe that the data query result is available at the temporary storage area; andperform the retrieving during the retrieval timeframe.
  • 19. The information handling system of claim 17 wherein the request path includes an extensible mark-up language and the data path does not include the extensible mark-up language.
  • 20. The information handling system of claim 15 wherein the metadata includes a plurality of temporary storage identifiers, each temporary storage identifier corresponding to different data query results that are retrieved from a plurality of data storage areas that are located in one or more of the nonvolatile storage devices.