Extensible data provider querying and scheduling system
First Claim
1. One or more computer storage media embodying computer readable instructions which, when executed, implement:
- a query and aggregation layer that is configured to be communicatively coupled to, and independent of, a presentation layer and a storage layer, the storage layer comprising one or more different data sources configured to store different types of data, the query and aggregation layer including a data model configured to expose an access mechanism that is usable to access the different data sources in the storage layer by at least;
receiving a search query from the presentation layer;
ascertaining one or more data providers identified in the search query, at least some of the data providers being creatable on a thread that is a same thread as the data model;
issuing the search query to one or more identified data providers in the query and aggregation layer effective to cause the one or more identified data providers to execute the search query on one or more data sources associated with the one or more identified data providers;
receiving search results with the data model from the one or more identified data providers; and
returning the search results to the presentation layer.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments provide a query and aggregation layer that is communicatively coupled to, and independent of, a presentation layer and a storage layer. The query and aggregation layer includes a data model configured to expose an access mechanism that is usable to access different data sources in the storage layer. A search query is received from the presentation layer, and one or more data providers identified in the search query are ascertained. At least some of the data providers are creatable on a same thread as that of the data model. Also, the search query is issued to identified data providers in the query and aggregation layer effective to cause the identified data providers to execute the search query on data sources associated with the identified data providers. Additionally, search results are received at the data model from the identified data providers and returned to the presentation layer.
28 Citations
20 Claims
-
1. One or more computer storage media embodying computer readable instructions which, when executed, implement:
a query and aggregation layer that is configured to be communicatively coupled to, and independent of, a presentation layer and a storage layer, the storage layer comprising one or more different data sources configured to store different types of data, the query and aggregation layer including a data model configured to expose an access mechanism that is usable to access the different data sources in the storage layer by at least; receiving a search query from the presentation layer; ascertaining one or more data providers identified in the search query, at least some of the data providers being creatable on a thread that is a same thread as the data model; issuing the search query to one or more identified data providers in the query and aggregation layer effective to cause the one or more identified data providers to execute the search query on one or more data sources associated with the one or more identified data providers; receiving search results with the data model from the one or more identified data providers; and returning the search results to the presentation layer. - View Dependent Claims (2, 3, 4, 5)
-
6. One or more computer storage media embodying computer readable instructions which, when executed, implement a querying/scheduling system, the querying/scheduling system comprising:
-
a storage layer comprising different data sources configured to store different types of data; a query and aggregation layer configured to be communicatively coupled to, and independent of, a presentation layer and the storage layer, the query and aggregation layer including a data model configured to; expose an access mechanism that is usable to enable one or more applications to access different data sources in the storage layer and have data stored in the data sources returned to the one or more applications; create one or more data providers that are knowledgeable of how to access data stored in an associated data source, at least some of the data providers created on a thread that is a same thread as the data model; and in an event that one or more extensible data providers are plugged into the querying/scheduling system, use the one or more extensible data providers to query one or more associated extensible data sources using one or more query methods, at least some of the query methods being different than a common query method used by the data model to query the one or more extensible data providers. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. One or more computer storage media embodying computer readable instructions which, when executed, implement an extensible querying/scheduling system, the extensible querying/scheduling system comprising:
a query and aggregation layer that is configured to be communicatively coupled to, and independent of, a presentation layer and a storage layer, the storage layer comprising one or more different data sources storing different types of data, the query and aggregation layer including a data model configured to; present a common access mechanism that can be used by a Web browser to access different data sources in the storage layer and have data stored in the data sources returned to the Web browser, at least some individual data sources being configured to store data in different formats and have their own specific access mechanisms of which the Web browser is unaware; and create one or more data providers that are individually associated with individual data sources and knowledgeable of how to access data stored in an associated data source, at least some of the one or more data providers being configured to receive queries for data and execute the queries using a different thread than the data model, at least some of the one or more data providers being creatable on a thread that is a same thread as the data model. - View Dependent Claims (20)
Specification