The invention relates to handling data requests on a database by using an improved update indicator. The Examining Division refused the application, alleging that although caching was a technical principle, the content of the cache (prepared cache) was not technical. The Board noted that technical use of the returned results was not claimed. In any event, improving the functioning of a computer system in terms of speed and resource usage can have a technical effect, particularly if the improvement is based on technical considerations.
Based on the simulation data provided by the application, the Board agreed with the applicant that the claimed update indicator was not merely a trade-off between resource usage and the validity of returned search results but implements a specific strategy that credibly achieves a better trade-off curve (overall validity as a function of resource usage) than other update indicators. Therefore, the subject-matter was inventive.
Here are the practical takeaways from the decision T 0729/21 (Handling data requests/AMADEUS) dated May 02, 2023, of the Technical Board of Appeal 3.5.07.
This invention is about handling data requests for a database. The database has two parts: one with “original results” retrieved in real-time from the database, and another with “prepared results”, prepared in advance. To speed up request handling, the previous original results were saved as prepared results. These prepared results were given back when data was requested.
To ensure freshness, each prepared result has an “update indicator” showing if it needs updating. So, when a data request comes in, the control unit checks the prepared result’s update indicator against a limit, and if it needs to update the original results, gets an updated version from the original results. If no update is needed, the control unit gives the original (not-updated) result.
Importantly, the invention relates to how the update indicator was calculated “(1 – acc) · t”, where “acc” is the probability that the prepared result is valid, “t” is its age. The probability “acc” is “e^(-λt)”, where “λ” shows how often the prepared result changes. This follows a Poisson process with a rate “λ” linked to the prepared result.
A method for handling data requests directed to a database environment, the database environment comprising a least one first platform providing original results to be stored in a second platform as prepared results, the second platform maintaining a pool of the prepared results in order to be returned to data requests, and a control unit for processing the data requests directed to the database environment, wherein each prepared result maintained in the pool of the second platform is associated with an update indicator being a measure that the associated prepared result kept in the pool of the second platform is to be updated, the method comprising:
– receiving, by the control unit, a data request;
– determining, by the control unit, at least one prepared result corresponding to the data request;
– comparing, by the control unit, the update indicator of the determined prepared result corresponding to the data request with a threshold value;
– in response to the control unit determining that the comparison indicates a requirement to update the prepared result,
– retrieving, by the control unit from the first platform, an updated version of the at least one prepared result;
– updating, by the control unit, the prepared result in the pool of the second platform and the associated update indicator based on the updated version of the at least one prepared result by storing a new timestamp of the update of the at least one prepared result; and
– returning, by the control unit, the updated version of the at least one result,
– in response to the control unit determining that the comparison does not indicate a requirement to update the at least one prepared result,
– the control unit returning the at least one determined prepared result;
wherein the update indicator is defined by (1 – acc) . t, wherein acc is a probability that the associated prepared result is valid and t as [sic] an age of the associated prepared result, wherein acc = e^(-λt), wherein the validity rate lambda (λ) is an indicator of how frequently the prepared result changes.
Is it patentable?
In the decision under appeal, the examining division held that the subject-matter of claim 1 lacked an inventive step. In particular, although caching was a technical principle, the content of the cache (prepared cache) was not technical.
In the inventive step assessment, the Board considered two cited documents. One (document D5) related to a system for determining airline seat availability information, where the process includes an update indicator for comparing the prepared result with the time that has passed since the result was stored. While the other (document D2) was concerned with the problem of keeping a database of cached/prepared results fresh, which includes updating the results in different order or uniformly. The assessment of the Board was as follows:
9.1 The board considers document D5 to be a suitable starting point for assessing inventive step.
In view of the analysis presented in point 7. above, the subject-matter of claim 1 differs from the disclosure of document D5 in that the update indicator is defined as “(1 – acc) · t”, i.e. the prepared result is updated if “(1 – acc) · t” exceeds a threshold value, where acc = e^(-λt), t is the age of the prepared result, and the validity rate lambda is an indicator of how frequently the prepared result changes.
In document D5, the update indicator is “t”, i.e. the prepared result is updated if its age “t” exceeds a threshold value.
9.2 The appellant submitted that the claimed update indicator “(1 – acc) · t” improved the validity (or “freshness” in the terminology of document D2) of the data kept in the cache.
9.3 In its decision, the examining division argued that, although caching, i.e. serving locally stored results instead of fetching remote results, was a technical principle, in the present case the content of the cache, i.e. of the prepared results, was not technical. The update indicator implemented a trade-off between always updating requested results and always returning the prepared results without regard to their validity. Since no technical considerations were apparent in the choice of the update indicator, this trade-off reflected a non-technical user requirement.
9.4 The board agrees that claim 1 does not express any technical use of the returned results. However, improving the functioning of a computer system in terms of speed and resource usage can itself be a technical effect, in particular if the improvement is based on technical considerations. As the examining division acknowledged, caching mechanisms are normally based on such technical considerations.
Moreover, in the present case the claimed update indicator does not merely represent a trade-off between resource usage and the validity of returned search results; rather, it implements a specific strategy which – at least according to the application – achieves a better trade-off curve (overall validity as a function of resource usage) than other update indicators.
However, according to the EPO jurisprudence, a technical problem may be regarded as being solved only if it is credible that substantially all claimed embodiments exhibit the technical effects upon which the invention is based:
9.5 The board therefore accepts that the distinguishing feature may in principle achieve a technical effect over the prior art. However, it still has to be assessed whether such a technical effect is credibly achieved over the whole claimed scope.
9.7 The description of the present application, on page 14, line 26, to page 16, line 18, gives reasons why the claimed update indicator “(1 – acc) · t” is an improvement over the update indicator “(1 – acc)”, previously known from document D3. The board considers this improvement to be credible in view of the fact that an update strategy based on the update indicator “(1 – acc)” is likely to spend (too) many resources on updating prepared results with a high rate of change, which then quickly become inaccurate again and require a new update.
However, prior-art document D5 does not use “(1 – acc)” but the age “t” of a prepared result as the update indicator.
The Board noted that document D2 suggests using the update indicator “t” to improve the freshness. Therefore, in the communication prior to Oral Proceedings, the Board raised doubts if the update indicator “(1 – acc) · t” performed better than the update indicator “t”. The applicant alleviated these concerns by providing simulation data using graphs:
9.10 During the oral proceedings before the board, the appellant gave the board more insight into its pre-filing documentation, which convinced the board that the three simulated strategies indeed correspond to the update indicators “t”, “(1 – acc)” and “(1 – acc) · t”.
The graphs confirm that the update indicators “t” and “(1 – acc) · t” both outperform the update indicator “(1 – acc)” by a significant margin. Moreover, the simulation results for the claimed update indicator “(1 – acc) · t” are slightly better than those for the update indicator “t” of document D5.
9.11 The board is aware that the simulation results presented by the appellant correspond to only a single data point and do not amount to conclusive evidence that the distinguishing feature achieves an improvement over the whole scope of claim 1.
However, this single data point is sufficient to refute the board’s doubts about the credibility of the alleged technical effect, which were based solely on the teaching in document D2 that the “uniform allocation policy”, corresponding to the update indicator “t” of document D5, while not optimal, is significantly better than the “proportional allocation policy”, corresponding to the update indicator “(1 – acc)”. In the absence of any further substantiated doubts, the board considers that it has to accept that the improvement on which the appellant relies indeed exists (see decision T 578/06, Reasons 21).
The Board then granted the patent based on the request.
You can read the full decision here: T 0729/21 (Handling data requests/AMADEUS) dated May 02, 2023 of the Technical Board of Appeal 3.5.07.