Patent ID: 8655917

Claim:
A system comprising: a processor coupled with a computer network interface and a memory, the memory having logic stored thereon, the logic which when executed by the processor causes the processor to: receive, via a presentation layer interface stored on the memory, a data query for a primary data store from a requesting presentation layer; and store on the memory a data link layer that is in communication with the presentation layer interface, the data link layer comprising: a query handler operable to: identify a query filter parameter for the data query; retrieve identifying information for a requesting entity causing the data query; identify a group membership list of usergroups to which the requesting entity belongs based on the identifying information; identify a security specifier of the requesting entity to authorize access to the primary data store for the data query, the security specifier comprising the group membership list; identify a query statement for the data query; and form a search key comprising the query filter parameter, the security specifier, and the query statement; a data cache comprising cached query results obtained from the primary data store, each cached query result comprising: a query result key comprising a query filter parameter for the cached query result, a security specifier of the requesting entity for the cached query result, and a query statement for the cached query result; and a query result data entity linked to the query result key; a search handler operative to: search the cached query results to match the query filter parameter, the security specifier, and the query statement of the search key to the query filter parameter, the security specifier, and the query statement of the query result key to determine that the query result data entity already exists for the data query in the data cache; and return the query result data entity to the requesting presentation layer through the presentation layer interface.