Updating cache data
AssigneeAmadeus S.A.S.
InventorsLaure Canis, Sarah Muguerza, Victor Alonso, Celine Pradin, Antoine Menard, Jean-Baptiste Rey, Geoffrey Claude
Life of this patent
Estimating the term…
Loading patent…
AssigneeAmadeus S.A.S.
InventorsLaure Canis, Sarah Muguerza, Victor Alonso, Celine Pradin, Antoine Menard, Jean-Baptiste Rey, Geoffrey Claude
Estimating the term…
Cached data is updated by a computing machine coupled to a primary database maintaining original data and to a cache maintaining data corresponding to the data in the primary database. In response to receiving a first database query relating to a first data, the computing machine determines whether to process the first database query by utilizing the cache or based on the primary database. In response to concluding processing the first database query, the computing machine determines whether to update the first data in the cache, and based on the result of the determining, updates the first data in the cache based on original first data in the primary database.
A method for updating data in a cache performed by a computing machine which is coupled to a primary database maintaining original data and to the cache maintaining data corresponding to the original data in the primary database, the method comprising, at the computing machine:
A computing machine coupled to a primary database maintaining original data and to a cache maintaining data corresponding to the original data in the primary database, the computing machine comprising:
A computer program product comprising program code instructions stored on a non-transitory computer readable medium, wherein the instructions are executable on a computer to:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Query execution: database cache management
Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches: caches…
Of structured data, e.g. relational data: updating
Unary operations; Data partitioning operations: aggregation; Duplicate elimination
About 14 years 2 months of term left · ends 27 Dec 2040 (estimated)
The present subject-matter generally relates to database technology. More specifically, it is directed to updating cached data after a processing a query on the cached data or original data is concluded.
A common problem in database technology is to ensure short response times to database queries or requests which require complex, long and resource-intensive processing, e.g. due to large volumes of data. For example, such computing-power consuming processing has to be performed in response to so-called “open queries” which contain only little input information (e.g. only one or two parameters out of a dozen possible parameters are specified and/or the specified value ranges of the parameters are broad) and, consequently, lead to a large number of results in general. Possibilities to speed up data processing by increasing hardware performance are limited. Thus, attention is drawn to improving the mechanisms underlying the complex, long and resource-intensive processing in order to respond to such queries.
One general approach to shorten response times is to prepare results to be returned in response to expected requests (e.g. by pre-computing or pre-collecting such results based on original data) and to maintain the corresponding query results in a pool of pre-computed query results. Requests are then not processed and responded to on the basis of the original data basis, but are directed to the pool of pre-computed query results.
The present mechanisms will be described with reference to accompanying figures. Similar reference numbers generally indicate identical or functionally similar elements.
FIG. 1 visualizes an effect of decreasing validity probability of pre-computed query results over time.
FIG. 2 schematically depicts an example of a distributed database system.
In order to handle database queries or batch computation requests which require computations on the basis of large volumes of underlying data, data subject to expected database queries can be cached (pre-collected, pre-computed) and stored as cached data in a cache or cache database, while the original data is kept in a primary database. The cache is queried by requesting entities (such as clients, applications, browsers installed on user terminals, etc.) in the course of a search and any cached data fulfilling search criteria indicated by the query are returned to the client in response to the query. Subsequently, the term “database query” is used herein as a general term including any type of information retrieval requests such as transactional queries, requests for batch computations and other forms.
The approach of caching data and storing the cached data in the cache accessible to querying clients leads to the general situation that the cached data get may become outdated or invalid (both terms are used synonymously herein) over time due to changes of the original data from which the cached data are derived. Cached data which are still up-to-date, i.e. which match the corresponding original data equivalents, are called “valid” cached data hereinafter.
Generally, to enable a search platform (i.e. a platform arranged to receive database queries and return responses to the database queries) to return correct results, one wants to maintain a significant degree of correlation between cached data which are provided to the querying entity in response to database queries and their original data equivalents. At the same time, however, it is desirable to minimize computation resource consumption caused by re-computations or cache updates, i.e. to avoid any unnecessary re-computations such as re-computation/updates of still valid cached data. Computing resources are limited and, generally, there are not enough computing resources to re-compute/update all cached data at all times. Thus, a trade-off between cached data validity and utilization of the available computing resources is sought.