Patent ID: 7974967

Claim:
A system comprising: a routines repository that is arranged and configured to store and maintain one or more hardware libraries, one or more software libraries and metadata; a hybrid query engine that is arranged and configured to receive a query, parse the query, compute a query execution plan and output the query execution plan using the metadata and operators from at least one of the hardware libraries and the software libraries, wherein the query execution plan is partitioned into multiple sub-execution plans; a routines management module that is logically coupled to the routines repository and to the hybrid query engine and that is arranged and configured to provide the metadata and the operators from the routines repository to the hybrid query engine; an execution engine module that is logically coupled to the hybrid query engine and that is arranged and configured to receive the sub-execution plans, the execution engine module comprising: a reconfigurable hardware execution engine, wherein the reconfigurable hardware execution engine is arranged and configured to process one of the sub-execution plans and the reconfigurable hardware execution engine comprises: a reconfigurable fabric, a reconfiguration controller that is configured to configure hardware algorithms of operators stored in the routines repository, and an execution controller that is configured to receive and control execution of one of the sub-execution plans on the reconfigurable fabric; a main memory execution engine that is arranged and configured to process one of the sub-execution plans; and a disc resident execution engine that is arranged and configured to process one of the sub-execution plans; a storage management module that is logically coupled to the hybrid query engine and to the execution engine module and that is arranged and configured to interact with multiple storage resources and to optimize distribution of data between the execution engine module and the multiple storage resources; and a communication management module that is logically coupled to the execution engine module and that is arranged and configured to: coordinate communication with the reconfigurable hardware execution engine and the reconfigurable fabric; coordinate communication between the execution engine module and multiple data sources storing the data; and coordinate communication with an end user using one or more interactive interfaces.