Patent ID: 7792878

Claim:
A computer-implemented method for accessing data, comprising: exposing an externalized data model, wherein the externalized data model describes a structure of data stored in one or more database systems controlled by a first entity and provides a fee schedule describing how to calculate fees for accessing data made available through the externalized data model, and wherein the externalized data model comprises a data repository abstraction component defining a set of logical fields for composing an abstract query, and for each of the logical fields, providing (i) a logical filed name and (ii) an access method which specifies at least a method for accessing the data according to a physical data representation of the one or more database systems and a location of the data; receiving, from a second entity, a composite data model, wherein the composite data model describes a federated database composed from at least a first one of the database systems exposed in the externalized data model and at least one database system controlled by the second entity; receiving a composite query composed according to the composite data model; providing the composite query to a runtime component configured to execute the composite query against the federated database, wherein the runtime component is configured to: generate at least a first database query fragment executed against at least the first of the one or more database systems controlled by the first entity, generate at least a second database query fragment executed against the database system controlled by the second entity, and merge data received from executing the first and second database query fragments as a query result for the composite query; determining, by execution of the runtime component on one or more computer processors, a fee amount charged to the second entity for accessing at least one element of data included in the query results originating from one or more of the database systems exposed in the externalized data model provided by the first entity.