Patent ID: 8903806
Filing Date: 2014-12-02
Classification: G06F

Abstract:
1. A method, comprising: receiving a query from a requesting entity; selecting one or more data operations from among a fixed set of data operations for accessing a data service based on the query, the one or more selected data operations partially satisfying the query, the selecting comprising comparing the query to a set of query templates stored in a catalog, each query template in the set of query templates being respectively associated with a data operation in the fixed set of data operations, each query template comprising an algebraic description of queries that the associated data operation can satisfy, the comparing comprising comparing the query to at least one query template that includes an operator that indicates that a portion of the query template is optional when ascertaining whether or not the query template matches the query, the operator enabling the at least one query template to be matched to at least one query that includes the optional portion of the query template and to be matched to at least one query that does not include the optional portion of the query template, the catalog including a cost estimate associated with each data operation, and the selecting further comprising selecting the one or more data operations based in part on the cost estimates so as to minimize a cost associated with selected data operation(s); executing the selected data operation(s) against a data service to obtain data therefrom that partially satisfies the query; performing one or more post-processing functions on the data obtained from the data service to satisfy the query prior to providing any data to the requesting entity; and providing the post-processed data to the requesting entity.