Patent ID: 7668807

Claim:
A computer-implemented method for managing execution of queries querying physical data logically represented by a data abstraction model stored in a memory coupled to a processor, comprising: receiving a first abstract query against physical data in a first data source, the first abstract query having one or more result fields configured to return requested data from the first data source, each result field having a corresponding logical field specification of a first data abstraction model stored in the memory, wherein each corresponding logical field specification describes an access method for accessing physical data in the first data source; in response to receiving the first abstract query and determining that the first abstract query is configured for retrieving data from the first data source, detecting whether the first data source is available; and upon detection that the first data source is unavailable: creating, on the basis of the first abstract query, a second abstract query against physical data in a second data source containing at least a portion of the requested data, the second abstract query having one or more result fields configured to return at least the portion of the requested data from the second data source, each result field of the second abstract query having a corresponding logical field specification of a second data abstraction model stored in the memory abstractly describing the second data source, wherein each corresponding logical field specification describes an access method for accessing physical data in the second data source; wherein creating the second abstract query comprises: for each result field of the first abstract query: identifying a matching logical field specification in the second data abstraction model by accessing predefined mappings describing matching logical field specifications of the first data abstraction model and the second data abstraction model; and adding a result field corresponding to the matching logical field specification to the second abstract query; and executing the second abstract query against the second data source to obtain at least the portion of the requested data.