The European Patent Office considered an SQL language extension for modifying collection-valued and scalar valued columns in a single statement to be technical. Here are the practical takeaways of the decision T 0697/17 (SQL extensions/MICROSOFT TECHNOLOGY LICENSING) of 17.10.2019 of Technical Board of Appeal 3.5.07:
This European patent application relates to a relational database system and a corresponding method for updating values in a complex-structured-type column. According to the description, the purpose of the invention is to achieve complex and partial updates efficiently.
A complex structured type consists of a set of fields, properties and methods, wherein each field or property can be a scalar type, a complex structured type itself, or a multiset in which each element is a complex structured type. The database system of the invention uses a nested extension of the SQL UPDATE statement which supports the modification of collection-valued columns using syntax and semantics analogous to those of the conventional UPDATE statement. The system includes a parser that parses a database modification (query) statement and produces a logical description of changes to the table as specified by the UPDATE statement, a query optimizer that produces the execution algorithm that will perform the modifications, and finally a query execution engine that implements the execution algorithm.
In order to modify collection-valued columns, the execution algorithm uses a data structure named “change descriptor”. The change descriptor represents an aggregation of changes to the values in the collection-valued column and the location of the values to be updated in the hierarchy of the complex structured type column. It aggregates all changes, both scalar and collection-valued, into a single value. The query execution engine reads the change descriptor and applies the changes as described by it to the collection-valued columns in addition to using simple scalar updates for the scalar valued columns.
The change descriptor was said to enable the efficient application of multiple updates at various granularity levels in a single operation, enable the implementation of efficient index maintenance algorithms and have the benefit of separating the computation of the changes from their application itself (known as Halloween Protection).
Here is how the invention is defined in claim 1 (main request):
Claim 1 (main request)A method of updating values in a complex structured type column having a hierarchical structure in a relational database system, wherein the complex structured type consists of a set of fields, properties and methods and wherein each field or property is one of a scalar type, a complex structured type itself or a multiset in which each element is a complex structured type, the method comprising the steps of:
parsing by a parser a database modification statement and producing a description of changes to the database proposed by the database modification statement;
producing by a query optimizer an execution algorithm that will implement the database modification;
computing by a query execution engine that uses the execution algorithm a data structure of the database modification statement to determine which values within a complex structured type column are to be updated, wherein the data structure represents values in the complex structured type column as an aggregation of changes to the values at any level of the hierarchical structure of the complex structured type column; and
applying by the query execution engine the changes to the values in the complex structured type column that are to be updated.
Is it technical?
Concerning the first hurdle of patentability (patent-eligibility), the first instance examining division had taken the view that claim 1 in its entirety described a purely abstract method. The division held that the wording of the claim did not describe the method as one that was “technically realised (e.g. computer implemented)”, nor did it mention any “technical entities (e.g. a computer, a processor, etc.)”.
The board of appeal did not agree to this assessment and gave an interesting recapitulation of the legal requirements of the exclusion from patentability, citing various earlier decisions:
Claim 1 of the main request defines a method of “updating values in a complex structured type column having a hierarchical structure in a relational database system”. The terms “relational database system”, “parser”, “query optimizer” and “query execution engine” used in the claim have well-known meanings in the field of database management systems.
According to the established case law, a claim directed to a computer-implemented invention avoids exclusion merely by explicitly mentioning the use of a computer, a computer-readable storage medium or other technical means. A claim specifying e.g. a computer-implemented method, a computer-readable storage medium or a program on a computer-readable storage medium is therefore not to be considered excluded from patentability under Article 52(2) and (3) EPC (see e.g. opinion G 3/08, OJ EPO 2011, 10, reasons 10.6, 10.8.5, 10.8.6 and 10.13; T 258/03, OJ EPO 2004, 575, reasons 4; Case Law of the Boards of Appeal of the EPO, 8th edition 2016, I.A.1.4.3 and 2.4.3, e), Guidelines for Examination in the EPO, G-II, 3.3 and 3.6).
In decision T 388/04 (OJ EPO 2007, 16), subject-matter or activities that are excluded from patentability under Article 52(2) and (3) EPC were considered “to remain so even where they impl[ied] the possibility of making use of unspecified technical means” (reasons 3). But that is not the case where the claimed subject-matter does not only merely “imply the possibility of making use of unspecified technical means” but in fact clearly implies the use of concrete technical means. For example, in decision T 650/13 of 2 October 2018 the board considered that the method of claim 1 was not excluded because “transmitting the symbol in a code word to a decoder” implied the use of technical means (reasons 6.1).
In the decision under appeal, the Examining Division argued that claim 1 merely enumerated a number of logical entities, for example a “relational database system” and a “parser”, fulfilling a certain logical functionality.
The Board finds the Examining Division’s assessment to be incorrect. Claim 1 defines a “method of updating values in a complex structured type column … in a relational database system” including steps performed by modules of a database system. Claim 1 therefore defines a method performed in a relational database system. In principle, the terms used in a claim should be given the common meaning they have in the relevant technical field. In computer science, the term “relational database system” relates to a software system implemented in one or more computers for storing, controlling and processing data. Carrying out a method performed in a relational database system involves the use of a computer system. Therefore, the claimed method cannot be seen as a purely abstract method, as argued by the Examining Division, but as a method which uses technical means.
In this context, the Board notes that describing a technical feature at a high level of abstraction does not necessarily take away the feature’s technical character. As explained in opinion G 3/08, reasons 10.8.5, 10.8.7 and 10.13, the feature “computer-readable storage medium” has the technical effects of being computer-readable and of storing data, even if a more concrete technical implementation is not specified. Such a feature does not lose its technical nature just because it is too generic or “functionally defined” (G 3/08, reasons 10.8.7), or commonly known (see T 258/03, reasons 4.3).
Finally, the Board notes that there are several examples in the case law in which features of a database system have been considered as technical aspects when assessing inventive step (see e.g. T 1242/04, OJ EPO 2007, 421, reasons 3.2 and 4.3; T 1025/08 of 19 April 2013, reasons 2.12; T 1500/08 of 4 November 2011, reasons 5.9 and 5.10; T 1414/10 of 23 March 2015, reasons 4.9 and 4.10; and T 1924/17 of 29 July 2019, reasons 9 and 11 to 11.8).
The board therefore disagreed with the examining division’s assessment and had no doubt that claim 1 must be considered an invention in a field of technology within the meaning of Article 52(2) and (3) EPC.
Then, the board moved on with the assessment of inventive step, again giving a helpful summary of the legal framework concerning mixed-type inventions:
Inventive step can be based only on features that contribute to the solution of a technical problem bringing about a technical effect (T 641/00, OJ EPO 2003, 352, reasons 4 to 6). Features which are non-technical when taken in isolation but which interact with technical features of the invention to solve such a technical problem should be taken into account in assessing inventive step (see e.g. T 208/84, OJ EPO 1987, 14, reasons 4 et seq.; T 154/04, OJ EPO 2008, 46, reasons 5 (F) and (G), and 13 to 15; T 1227/05, OJ EPO 2007, 574, reasons 4; G 3/08, reasons 12.2.1 and 12.2.2). In assessing a claim it is therefore important to avoid missing any such features that contribute to a technical effect (T 756/06 of 18 April 2008, reasons 5 and 6).
As mentioned in some decisions, in practice it may be difficult to distinguish between features making a technical contribution and those not contributing, especially in cases in which the non-technical aspects are tightly intermingled with the technical features (T 154/04, reasons 15) or in which “an invention may have technical aspects which are hidden in a largely non-technical context”. Such technical aspects may be easier to identify within the framework of the examination as to inventive step (T 258/03, reasons 3.6 and 5.8).
The problem-solution approach to examining mixed-type inventions described in the Guidelines, section G-VII, 5.4, in the current version and in the version of 2015 prior to the contested decision, is based on a “two-level technicality analysis”. In a first step (i) of the approach, features are classified as either contributing or not contributing to the technical character of the invention on the basis of the technical effects achieved in the context of the invention. In step (ii) a suitable starting point is selected as the closest prior art with a focus on (or “based on” in the 2015 version) the features contributing to the technical character (Guidelines, G-VII, 5.4 (ii)). And in step (iii) the differences over the closest prior art are identified and further examined. In particular, the technical effects of these differences, in the context of the claim as a whole, are determined in order to identify the distinguishing features which make a technical contribution.
The Guidelines also explain that, due to the complexity of the task, the classification in step (i) may be performed on a first-glance basis (“prima facie” in the 2015 version) only and that the analysis in step (iii) may “reveal that some features considered in step (i) at first glance as not contributing to the technical character […] do, on closer inspection, make such a contribution” (Guidelines, G-VII, 5.4, third last paragraph).
In step (iii) the distinguishing features are identified with regard to all claim features, not only those previously identified as contributing to the technical character. All the distinguishing features are then analysed to identify those making a technical contribution, on the basis of which the objective technical problem is formulated.
In the problem-solution approach as described in the Guidelines, the two-level technicality analysis provides a review in step (iii) of the classification in step (i) of a feature as not making a technical contribution. It is important to apply the two-level technicality analysis correctly in order to avoid errors in classifying features with regard to technical contribution. In addition, if the technical and non-technical features closely interact, the starting point in step (ii) should in principle be selected with all claim features in mind, even if the focus is on those identified as contributing to the technical character.
Since the result of the classification of features with regard to technical contribution in step (i) is reviewed in step (iii), it could be argued that step (i) is unnecessary. The Board nevertheless agrees that it is useful, for instance in order to direct the search for relevant prior art, to perform a preliminary classification of features contributing to the technical character as a first step where the classification may be performed only on a preliminary basis, especially in complex cases in which the non-technical aspects are tightly intermingled with the technical features.
According to established case law, either a “conventional approach”, starting with a selection of the prior art, or an approach relying on an initial analysis of the technical character of the claim features may be adopted depending on the circumstances (T 258/03, reasons 3.5 and 3.6; T 756/06, reasons 5; G 3/08, reasons 10.13.2).
Still before looking at the specifics of the invention under consideration, the board then recapitulated the established practice regarding the assessment of technical contribution:
Some decisions have held that in certain circumstances program performance improvements may be unsuitable for distinguishing between technical and non-technical features, and that technical character is assessed without regard to the prior art. For example, according to T 1784/06 of 21 September 2012 (which cites T 1227/05), “[e]nhanced speed of an algorithm, as compared to other algorithms, is not sufficient to establish a technical character of the algorithm” (T 1784/06, reasons 3.1.2). And decision T 2230/10 of 3 July 2015 (reasons 3.6) reads:
“the determination of the claim features which contribute to the technical character of the invention is made, at least in principle (the question may in practice be left open for features which anyway are part of the closest prior art), without reference to the prior art (see T 154/04, supra, as explained in T 1358/09 of 21 November 2014, reasons 5.4). That the claimed invention might achieve better results than the method of document D1 is therefore in itself not an indication that the algorithmic modification is technical, although it may be important in the assessment of inventive step once technicality has been established. Technicality is hence more about control of technical parameters than about improvement.”
The proposition that the issue of “contributing to the technical character” may be determined without reference to the prior art does not imply that technical effects over the prior art never play a role in the process of determining which features make a technical contribution.
More recently this Board considered in T 817/16 of 10 January 2019 (reasons 3.12) that “if non-technical claim features interact with technical claim features to cause a physical effect over the prior art, such as an effect on memory usage in a general-purpose computer, the physical effect is to be regarded as a technical effect for the purpose of assessing inventive step if the non-technical features are based on technical considerations aimed at controlling that physical effect (see e.g. decisions T 2230/10, reasons 3.8; and T 2035/11 of 25 July 2014, reasons 5.2.3)”.
In addition, since a non-technical feature can only be considered to make a technical contribution if it interacts with the technical features of the invention to solve a technical problem, bringing about a technical effect, it is legitimate to establish the technical contribution of a feature by analysing the effect caused once it is added to the other features of the invention. Decision T 336/14 of 2 September 2015 affirms that “in the assessment of whether or not a feature provides a technical contribution, the feature shall not be taken by itself, but its technical character shall be decided by the effect it brings about after being added to an object which did not comprise that feature before” (reasons 1.2.2, referring to T 119/88, OJ EPO 1990, 395, reasons 4.1).
With regard to the role of program performance improvements in distinguishing between technical and non-technical features, the Examining Division’s a priori reluctance to recognise some effects as technical is not convincing. From none of the above cited decisions can it be concluded that execution time, processing speed, latency, amount of memory required or other such program performance measurements are per se non-technical measurements which cannot play a role in establishing a technical effect and determining whether a technical contribution is present. The above cited decisions merely teach that an improvement with regard to one of those performance measurements alone (“the sole”, “not sufficient”, “in itself”), is insufficient to establish technical character. In order to decide whether such an improvement is a technical effect it has to be further determined how the improvement is achieved, for instance whether it is the result of technical considerations (T 258/03, reasons 5.8; T 1358/09, reasons 5.5) regarding the functioning of the technical context of the invention (e.g. computer, system, process, transmission channel). Features that purposively use technical means to achieve such an improvement are technical.
In other words, features make a technical contribution if they result from technical considerations on how to for instance improve processing speed, reduce the amount of memory required, improve availability or scalability, or reduce network traffic, when compared with the prior art or once added to the other features of the invention, and contribute in combination with technical features to achieve such an effect (see also T 1924/17, reasons 21 to 22). In particular, the Board considers that such an effect on computing efficiency corresponds to a physical effect mentioned in the above-cited passage of decision T 817/16, reasons 3.12, or a change in a physical entity within the meaning of T 208/84, reasons 5 and 7 (see also interlocutory decision T 489/14, OJ EPO 2019, A86, reasons 11).
On the other hand, such effects and the respective features are non-technical if the effects are achieved by non-technical modifications to the underlying non-technical method or scheme (for example, a change of the business model, or a “pure algorithmic scheme”, i.e. an algorithmic scheme not based on technical considerations).
Furthermore, a change in the quality of a program in terms of the user preferences or other subjective criteria in principle do not give indications of a technical contribution. For example, decision T 598/14 of 6 November 2014, reasons 2.4, did not recognise query enhancement (meant as modifying the original user query to obtain semantically “better results”), as a technical effect because it relied on a semantic distinction and the concept of “better search” was subjective in the context of retrieval based on semantic similarity.
A possible test for determining whether non-technical features are based on technical considerations is to consider whether the non-technical features would have been formulated by a technical or by a non-technical expert (T 817/16, reasons 3.12). Since computer programming involves technical and non-technical aspects (G 3/08, reasons 13.5.1; T 1463/11 of 29 November 2016, reasons 21), it is difficult to apply that test to distinguish abstract algorithmic aspects from “technical programming” aspects. In that case, the test would have to be whether the features were determined by a “programmer as such” or by a “technical programmer”. It may therefore be preferable to directly determine whether the decision to adopt the non-technical features is a technical one (T 1463/11, reasons 21) or whether it required “technical considerations beyond ‘merely’ finding a computer algorithm to carry out some procedure” (G 3/08, reasons 13.5).
Several decisions of the boards of appeal have considered subject-matter or features which on their own are excluded to nonetheless contribute, in combination with technical features, to the solution of a technical problem bringing about a technical effect. In some of those cases, the relevant technical effect corresponded to one of the above-mentioned efficiency measures.
According to decisions T 650/13 and T 107/87, a compression algorithm contributes to the technical character of the claimed compression method if it is used for the purpose of reducing the amount of data to be stored or transmitted (T 650/13, reasons 6.3 and 6.4; T 107/87 of 26 April 1991, reasons 3).
Decisions T 1003/09 and T 1965/11 considered that the cost-based optimisation of a query in a relational database system normally had technical character (T 1003/09 of 29 April 2015, reasons 13.3 to 13.5; T 1965/11 of 24 March 2017, reasons 5.1). In particular, decision T 1965/11 found that such a cost-based query optimisation searched for low-cost query execution plans using a cost estimate for the computer resources (such as CPU, main memory or hard disk) needed to execute a query plan, and therefore involved further technical considerations relating to the internal functioning of the computer system (T 1965/11, reasons 5.1 and 5.3).
Even though data structures used to store cognitive data are not considered to contribute to the technical character beyond the mere storage of data, data structures used for functional purposes are considered to contribute to producing a technical effect (see e.g. T 1194/97, OJ EPO 2000, 525, reasons 3.3 or T 424/03 of 23 February 2006, reasons 5.2). In decision T 49/99 of 5 March 2002 the deciding board ruled that information modelling was a non-technical intellectual activity, but that the purposive use of information modelling in the context of a solution to a technical problem could contribute to the technical character of an invention (reasons 7). An object table used for storing “a system catalog supporting the technical functions of the database system” had technical character (reasons 8 to 10). In decision T 1351/04 of 18 April 2007, an index file used for the purpose of controlling the computer “along the path leading to the desired data” was considered to contribute to the solution of a technical problem (reasons 7.2). In decision T 1902/10 of 21 June 2016, a RAM-based hash table of fingerprints of stored URLs was used, in the context of web crawling, to determine whether a URL already existed in a database of processed web pages. The hash table was considered part of the solution to the technical problem (reasons 19 to 22). In decision T 2539/12 of 18 January 2018, search indexes used to provide access to stored data were considered to contribute to the technical character of the claimed method (reasons 5.5). And in decision T 2330/13 of 9 May 2018 the specific choice of the claimed bit strings and matrices and respective operations was considered to be determined by technical considerations concerning how to efficiently perform in parallel the steps of a method for evaluating selection conditions, and hence was considered to contribute to the technical character of the claimed invention (reasons 5.7.9 to 5.8).
Applying these legal considerations to the invention at hand, the board held the following:
A database management system uses data structures, software components and processing techniques for storing, controlling and processing data, and for providing an interface to let the user create, read, update and delete data. The internal data structures, such as an index and a query tree, and components, e.g. a parser, a query optimiser and a query execution engine, are used purposively for storing data to a computer storage medium and retrieving data from the medium. As explained above, the established case law considers these to be technical effects (G 3/08, reasons 10.8.5; T 1569/05 of 26 June 2008, reasons 3.6). The data structures used for providing access to data and for optimising and processing queries are functional data structures since they purposively control the operation of the database management system and of the computer system to perform those technical tasks. While a database system is used to store non-technical information and database design usually involves information-modelling aspects which do not contribute to solving a technical problem, the implementation of a database management system involves technical considerations. Therefore, a database management system is not a computer program as such but rather a technical system (see also decision T 1924/17, reasons 9, 13 and 14).
The subject-matter of claim 1 differs from standard relational database management systems in that it supports complex structured type columns. It may be questioned whether some aspects of providing complex structured type columns and deciding to support specific update operations on values of that type are technical, but implementing those operations in a relational database management system which does not support that functionality is a technical problem.
The claimed method solves that problem essentially by means of a data structure representing “values in the complex structured type column as an aggregation of changes to the values at any level of the hierarchical structure of the complex structured type column”. It has to be established whether that data structure is used to control the computer to update data in the database management system and makes a technical contribution. The claim also describes how the different components of the relational database system compute and use the data structure to update the data. It has to be assessed whether these features contribute to solving a technical problem and whether they achieve the effects alleged by the appellant.
In its decision, the Examining Division expressed the view that the “execution algorithm” was a non-technical feature which served no technical purpose, but instead consisted of a number of steps concerning the logical structure of data stored in the database, said steps being based on logical definitions of update operations. It was argued that the feature did not serve a technical purpose, e.g. it was not directed to a physical implementation, and did not involve further technical considerations, e.g. taking account of physical properties of the technical system.
In the Board’s opinion, however, the “execution algorithm” contributes to the overall technical purpose of implementing the update operation on data stored and managed by the relational database management system and to the computation of the data structure representing “values in the complex structured type column as an aggregation of changes to the values at any level of the hierarchical structure of the complex structured type column” mentioned above, and therefore has to be considered in the inventive-step assessment.
The Board does agree with the Examining Division that claim 1 provides a rather abstract description of the invention. Besides, many claimed features appear to be standard features of a relational database management system. But the claimed features do make a technical contribution over a general-purpose computer. Whether they are generic or well-known, or whether they are obvious in combination has to be judged in the context of an inventive-step assessment.
Ultimately, the board found that the first instance decision provided only a very incomplete inventive-step argumentation with respect to the cited prior art. Since the board would have had to start the inventive-step analysis from the beginning and present the appellant with new lines of reasoning to come to a conclusion with regard to inventive step, the board decided to remit the case back to the department of first instance for further prosecution.
You can read the whole decision here: T 0697/17 (SQL extensions/MICROSOFT TECHNOLOGY LICENSING) of 17.10.2019