European Case Law Identifier: | ECLI:EP:BA:2019:T192417.20190729 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Date of decision: | 29 July 2019 | ||||||||
Case number: | T 1924/17 | ||||||||
Application number: | 13005454.7 | ||||||||
IPC class: | G06F 17/30 | ||||||||
Language of proceedings: | EN | ||||||||
Distribution: | D | ||||||||
Download and more information: |
|
||||||||
Title of application: | Data consistency management | ||||||||
Applicant name: | Accenture Global Services Limited | ||||||||
Opponent name: | - | ||||||||
Board: | 3.5.07 | ||||||||
Headnote: | - | ||||||||
Relevant legal provisions: |
|
||||||||
Keywords: | Inventive step - mixture of technical and non-technical features Inventive step - identification of technical features Interpretation of Article 52(2)(a) and (3) EPC - mathematical methods as such Remittal to the department of first instance - (yes) |
||||||||
Catchwords: |
- |
||||||||
Cited decisions: | |||||||||
Citing decisions: |
|
Summary of Facts and Submissions
I. The applicant (appellant) appealed against the decision of the Examining Division refusing European patent application No. 13005454.7, which was published as EP 2 735 979 A2.
II. The Examining Division refused the application for lack of inventive step (Articles 52(1) and 56 EPC) in respect of the subject-matter of independent claim 1 of the main request and of each of the first to third auxiliary requests, and of independent claim 4 and dependent claims 2 to 3 and 5 to 6 of the third auxiliary request, over the prior art disclosed in the following document:
D1: Gupta, P. et al., "A Trigger-Based Middleware Cache for ORMs", 12th International Conference on Middleware 2011, 12 to 16 December 2011, Lecture Notes in Computer Science, vol. 7049, pages 329-349
The Examining Division considered that most of the claimed features did not contribute to the technical character of the invention.
III. With its statement of grounds of appeal, the appellant requested that the decision be set aside and that a patent be granted on the basis of one of the main request and the first to fourth auxiliary requests submitted with the grounds of appeal. It also requested oral proceedings if the Board were inclined to refuse its main request. The main request corresponds to the main request considered in the contested decision.
IV. In a communication, the Board indicated that it did not find the inventive-step reasoning of the appealed decision convincing and asked the appellant to state its position on the Board's intention to remit.
V. In its reply, the appellant agreed with the Board's intention to remit the present case without oral proceedings to the department of first instance based on the Board's preliminary opinion, and understood the latter as indicating that certain claimed features were considered to involve "further" technical considerations.
VI. Claim 1 of the main request reads as follows:
"A data consistency management system (150) determining whether to forward a query to a not only structured query language (NoSQL) data store (152) or to a relational database management system (RDBMS) (160) by monitoring database queries issued by an application, and identifying data tables with query patterns that are suitable to be managed by the NoSQL data store (152), the system (150) comprising:
a query identification module (151) monitoring and parsing queries (153) to identify all queries of a data table, and calculating how many of the identified queries are read queries, and how many of the identified queries match the query patterns;
a data table ranking module (165) ranking data tables with a linear combination of a percentage of read queries and a percentage of the query patterns;
a data table determination module (167) automatically determining which data table [sic] are to be managed using the NoSQL data store (152);
a query translation module (168) automatically translating queries targeting the determined data tables to NoSQL API calls;
a memory (406) storing machine readable instructions to:
receive, by the query identification module (151), a query (153);
determine, by the query identification module (151), a suitability of the query (153) for processing by the NoSQL data store (152), or the RDBMS (161), wherein the machine readable instructions to determine the suitability of the query for processing by the NoSQL data store (152), or the RDBMS (161) further comprise:
determining whether the query (153) is a select query that selects data from a data table via a primary key (281) of the data table, the query matching a key-select pattern (181); and
determining whether the query (153) is a select query that aggregates a single column of a data table, the query matching an aggregation pattern (182);
rank, by the data table ranking module (165), data tables based on a combination of read queries for the data tables and the query patterns suitable for the NoSQL data store (152) for the data tables, at least one of the data tables containing information for responding to the query (153), wherein the machine readable instructions to rank the data tables further comprise:
ranking a data table based on a linear combination of a percentage of the read queries for the data table, a percentage of queries of the data table that matches [sic] the key-select pattern (181), and a percentage of queries of the data table that matches [sic] the aggregation pattern (182),
wherein the linear combination comprises an equation
rank(t) = lambda1 rp(t) + lambda2 kp(t) + lambda3 maxc(ap(t,c)),
wherein rp(t) represents a percentage of read queries of a table t, kp(t) represents a percentage of queries of the table t that match the key-select pattern, ap(t,c) represents a percentage of queries of the table t that match the aggregation pattern and aggregate over the data in a column c of the table t, and lambda1[,] lambda2 and lambda3 are linear coefficients;
based on the ranking, determine, by the data table determination module (167), data tables from the ranked data tables that are to be managed by the NoSQL data store (152), or by the RDBMS (161);
determine, by the query identification module (151), whether the query is for at least one data table managed by the NoSQL data store (152); and
based on a determination that the query (153) is for the at least one data table managed by the NoSQL data store (152), translate, by the query translation module (168), the query (153) to NoSQL application programming interface (API) calls for using the NoSQL data store (152) to respond to the query (153);
forward the translated query (153) to the NoSQL data store (152); and
a processor (402) to execute the machine readable instructions."
Claims 2 to 7 are dependent on claim 1. Claim 8 corresponds to claim 1 in terms of method. Claims 9 to 11 are dependent on claim 8. Claim 12 corresponds to claim 8 in terms of a computer readable medium.
The text of the auxiliary requests is not relevant to the present decision.
VII. The appellant's arguments relevant to the decision are discussed in detail below.
Reasons for the Decision
1. The appeal complies with the provisions referred to in Rule 101 EPC and is therefore admissible.
The invention
2. The invention relates to data consistency management. It aims at achieving scaling using cloud computing for applications relying on a relational database as the data tier to provide transaction support and to ensure data consistency (originally filed description, paragraph [0001]).
With respect to this aim, the application explains, among other things, the following (originally filed description, paragraph [0018]): Cloud computing provides a computing platform, for example, for deploying database-centric applications. Cloud computing may provide for elastic scaling, where higher throughput may be achieved by adding servers if workload increases. Database-centric applications may rely on relational database management systems to manage data and provide data consistency in the presence of concurrent client requests. Relational database management systems may guarantee strong data consistency by providing transactional support based on the well-known ACID (i.e. atomic, consistent, isolated, and durable) property. The ACID property may ensure correctness of many database-centric applications. However, supporting ACID-based transactions over a distributed system, such as a cloud computing environment, may result in performance overhead, and may further hinder scalability. For example, it may take a significant amount of time for all servers participating in a transaction to reach an agreement at commit time to ensure atomicity and durability with respect to the ACID property. With respect to the isolation aspect for the ACID property, locks for a transaction may need to be held, for example, for the full duration of a two-phase commit protocol to ensure isolation. Further, since consistency, availability and partition-tolerance cannot be achieved at the same time, preserving consistency in the presence of network partition may lead to unavailability. Thus, relational database management systems may provide the ACID property at the expense of performance and availability.
Transaction support with a strong consistency guarantee may be needed only on a part of the data for a transaction (paragraph [0019]). For example, in an online shopping website, while transaction support may be of importance for purchase orders, transaction support may not be considered essential for product descriptions. Non-relational database management systems, denoted not-only structured query language (NoSQL) data stores, may provide higher performance, scalability and availability in a cloud computing environment by forgoing the ACID property. For example, a NoSQL data store may achieve scalability and availability in a cloud computing environment by forgoing the consistency guarantee, and instead support eventual consistency, where all updates will either reach all replicas eventually, or be discarded due to later updates to the same data items. For example, data tables that do not require the ACID property may be identified, and a NoSQL data store may be used to manage the data for the identified data tables to improve performance. However, for applications for which transaction support is essential, relational database management systems may still be needed.
The invention proposes an automated approach for determining the trade-off between data consistency and scalability, thus accelerating the process of augmenting the data tier with NoSQL data stores for scalability in the cloud (paragraph [0027]). The invention monitors database queries issued by an application, and identifies data tables with query patterns that are most suitable to be managed by a NoSQL data store (paragraph [0027]). Based on a determination that a certain data table may be managed by a NoSQL data store, the invention creates data structures in the NoSQL data store according to the data schema of the table, and translates SQL queries to the data table into corresponding NoSQL application programming interface calls (paragraph [0027]). For example, the invention may identify queries that select data from a single table using the primary key for this table. Such queries may be supported by key-value stores, which are NoSQL data stores, with high performance. As a further example, the invention may identify select queries aggregating a single column of a table. For such queries a column store may be suitable (paragraph [0047]).
A data table ranking module of the invention ranks data tables with a linear combination of the percentage of read queries and the percentage of query patterns suitable for a NoSQL data store (paragraph [0038]). A data table determination module automatically determines which data table can tolerate data inconsistency from the ranked data tables, and thus can be managed using a NoSQL data store (paragraph [0041]).
Main request
3. Claim 1 of the main request relates to a data consistency management system determining whether to forward a query to a NoSQL data store or to a relational database management system (RDBMS) by monitoring database queries issued by an application, and identifying data tables with query patterns that are suitable to be managed by the NoSQL data store. The system comprises the following features itemised by the Board (with reference signs removed):
A a query identification module for monitoring and parsing queries to identify all queries of a data table, and calculating how many of the identified queries are read queries, and how many of the identified queries match the query patterns
B a data table ranking module for ranking data tables with a linear combination of a percentage of read queries and a percentage of the query patterns
C a data table determination module for automatically determining which data tables are to be managed using the NoSQL data store
D a query translation module for automatically translating queries targeting the determined data tables to NoSQL API calls
E a memory storing machine readable instructions to:
E1 receive, by the query identification module, a query
E2 determine, by the query identification module, a suitability of the query for processing by the NoSQL data store, or the RDBMS,
wherein the machine readable instructions to determine the suitability of the query for processing by the NoSQL data store, or the RDBMS, further comprise:
E2a determining whether the query is a select query that selects data from a data table via a primary key of the data table, the query matching a key-select pattern
E2b determining whether the query is a select query that aggregates a single column of a data table, the query matching an aggregation pattern
E3 rank, by the data table ranking module, data tables based on a combination of read queries for the data tables and the query patterns suitable for the NoSQL data store for the data tables, at least one of the data tables containing information for responding to the query,
wherein the machine readable instructions to rank the data tables further comprise:
E3a ranking a data table based on a linear combination of a percentage of the read queries for the data table, a percentage of queries of the data table that match the key-select pattern, and a percentage of queries of the data table that match the aggregation pattern,
E3b wherein the linear combination comprises an equation
rank(t) = lambda1 rp(t) + lambda2 kp(t) + lambda3 maxc(ap(t,c)),
wherein rp(t) represents a percentage of read queries of a table t, kp(t) represents a percentage of queries of the table t that match the key-select pattern, ap(t,c) represents a percentage of queries of the table t that match the aggregation pattern and aggregate over the data in a column c of the table t, and lambda1, lambda2 and lambda3 are linear coefficients
E4 based on the ranking, determine, by the data table determination module, data tables from the ranked data tables that are to be managed by the NoSQL data store, or by the RDBMS
E5 determine, by the query identification module, whether the query is for at least one data table managed by the NoSQL data store
E6 based on a determination that the query is for the at least one data table managed by the NoSQL data store, translate, by the query translation module, the query to NoSQL application programming interface (API) calls for using the NoSQL data store to respond to the query
E7 forward the translated query to the NoSQL data store
F and a processor to execute the machine readable instructions
Inventive step - Article 56 EPC
4. Claims 1 to 12 of the main request are identical to claims 1 to 12 of the main request decided upon by the Examining Division. Hence, in the following, the Board will review the Examining Division's decision, in the light of the appellant's submissions filed with its statement of grounds of appeal, in order to examine whether the appeal is allowable (Article 110 EPC).
The contested decision
5. The Examining Division argued that claim 1 of the main request was "narrower" than claim 1 of the third auxiliary request. Since the third auxiliary request lacked inventive step over document D1, the main request therefore also lacked inventive step. The Board presumes that the Examining Division intended to state that claim 1 of the main request was broader than claim 1 of the third auxiliary request.
Although the contested decision does not discuss the differences between the main request and the auxiliary requests in any detail, the appellant submitted in its statement of grounds of appeal that claim 1 of the present third auxiliary request, which was identical to the third auxiliary request decided upon by the Examining Division, differed from claim 1 of the present main request in that it added features from originally filed dependent claims 4, 6, 7 and 8 and features taken from the original description.
6. In its decision, point 3.2, the Examining Division identified the following features of claim 1 of the third auxiliary request which it considered as technical: a system, a data store, a database management system, a memory and a processor.
Document D1, which it identified as the closest prior art, disclosed a system comprising all the features identified as technical.
In the Examining Division's view, the remaining features were non-technical because, taken in isolation, they merely constituted a number of abstract procedural steps in terms of a computer program as such.
The Division considered that features of a computer program may contribute to the technical character of the invention if they were capable of bringing about a "further" technical effect, when being executed, or involved "further" technical considerations. It referred to the Guidelines for Examination, G-II, 3.6. In the system according to claim 1, the effect of the procedural steps was to achieve different execution times and data consistency levels. These effects, however, were not "further" technical effects. Achieving data consistency levels was a "human requirement", as there was "no technical reason for keeping data consistent versus partially or totally inconsistent". Hence, data consistency was part of the requirements specification. Achieving different execution times was "an inherent side effect of the (any) different computer programming" and, therefore, "not sufficient on its own to qualify as a technical effect".
The various modules of the claimed system were "logical containers each providing a logical functionality performed by a collection of procedural steps and constituting a computer program as such", and were therefore considered as being non-technical.
Features like "key-value store" and "column store" were "data structures" and, hence, merely static memory configurations not contributing to the technical character of the invention (see point 3.2 of the contested decision).
As all the features contributing to the technical character of the invention were already known from a notoriously known system as described in D1, and as none of the potentially differentiating features contributed to the technical character of the invention, claim 1 lacked inventive step (see points 3.3 and 3.4 of the contested decision).
7. In its statement of grounds of appeal (point I.4), the appellant disagreed and argued that the reasoning of the contested decision ignored functions and interactions of the claimed modules, as well as the technical considerations required for the invention and its technical advantages. Results of queries processed by a NoSQL data store could be returned faster and the overall system performance could be improved in comparison to sending the queries to the RDBMS. Achieving this advantage required the technical consideration of how to realise the trade-off between the consistency supported by the RDBMS and the performance provided by the NoSQL data store.
Moreover, the appellant argued that the claimed subject-matter achieved at least the same technical effect of improving throughput as the system proposed in document D1 (point I.4.7 of the grounds), but in a different manner. Consequently, all of the distinguishing features were relevant for assessing inventive step. The appellant identified distinguishing features over D1 and argued that those distinguishing features contributed to solving the technical problem of "how to improve a performance in a system using the CacheGenie of D1" while ensuring data consistency in a distributed database system. The solution involved an inventive step, as the skilled person would not arrive at the claimed subject-matter in an obvious manner.
8. The Board does not agree with the Examining Division's identification of technical and non-technical features in claim 1.
9. The Examining Division considered NoSQL data stores such as "column stores" and "key-value stores" as data structures not contributing to the solution of a technical problem.
As correctly stated in the application, paragraphs [0019] and [0032], NoSQL data stores including key-value stores and column stores are non-relational database management systems. A database management system is not a data structure, but a software system for storing, retrieving and processing data which typically uses various data structures for the efficient management of data. Hence, these systems are not merely static memory configurations, they implement methods operating on the data and the data structures to query the data, for example. Thus, the reasoning of the contested decision is not convincing.
Moreover, the Examining Division identified database management systems as being technical, but considered the features specific for relational database management systems to be non-technical. As the technical function of a database management system is, at least to a substantial part, determined by the data model supported by the system (e.g. the relational model of data), the Board sees no reason why relational database management systems should be non-technical, if it is accepted that database management systems in general are technical. Since an RDBMS specifically supports the relational model of data, this has technical consequences with respect to the way data can be stored in and processed by the database management system. Hence, the Board does not agree with the reasoning of the Examining Division.
However, for the avoidance of doubt, the Board notes that its position is not that all features implemented in (relational) database management systems contribute by virtue of this fact alone and independent of their nature to the technical character of an invention. For example, a feature of a database management system for accounting costs related to the use of the system by different users may be regarded as being non-technical.
10. In its decision, point 3.2, the Examining Division also argued that the claimed procedural steps did not pertain to the internal functioning of the computer and did not serve an adequately defined technical purpose.
10.1 In its statement of grounds of appeal, the appellant argued that claim 1 explicitly defined an "adequately defined technical purpose", namely determining whether to forward a query to a NoSQL data store or to an RDBMS by monitoring database queries issued by an application, and identifying data tables with query patterns that are suitable to be managed by the NoSQL data store. This provided, in particular, an adequately defined technical purpose for the mathematical feature of a linear combination defined in claim 1.
10.2 In order to assess the issue whether and to which extent claim 1 contributes to the solution of a technical problem, the Board considers it to be appropriate to review some decisions of the boards of appeal in the field of information systems.
11. A first group of decisions concerns inventions related to accessing data in database management systems and, in particular, the processing of structured queries for this purpose.
11.1 In decision T 1242/04 (OJ EPO 2007, 421), the invention according to claim 10 related to a system for providing product-specific data in a service station. In point 4.3 of the reasons, the decision states the following:
"In assessing inventive step, only the features which contribute to the solution of the technical problem need to be taken into account (see T 641/00, OJ EPO 2003, 352). In independent claim 10 these are:
- a central database for storing and providing data
- an archive store for archiving data files retrievable via their assigned identification codes which comprise changes to the specific product in sequential data file versions
- user interfaces assigned to service stations and connectable to the archive store by telecommunication for the retrieval of data files, and
- a computer-assisted program which communicates with the central database and the archive store in order to generate new and/or updated data files and store them in the archive store.
In contrast, the data file data sequentially stored in the archive store, like the equipment data in the central database, has no functional character within the meaning of T 1194/97 (see in particular paragraph 3.3; OJ EPO 2000, 525), since a defect in this data has no effect on the functional capacity of the system. [...]"
Hence, this decision identified not only the central database for storing and providing data as a feature contributing to the solution of a technical problem (in combination with the other listed features), but also the computer program communicating with this central database and an archive store.
11.2 Decision T 279/05 of 5 October 2007 concerned an invention related to determining airline seat availability. The invention involved a mixture of technical aspects, e.g. servers, and non-technical aspects, e.g. airline seat availability and yield management. Consequently, the decision relied on the so-called COMVIK approach (see decision T 641/00, OJ EPO 2003, 352) to assess inventive step for mixed inventions. In points 3 and 4 of its reasons, decision T 279/05 states the following: "The technical field is computer engineering, and database querying in particular. [...] However, method claim 1 (and apparatus claim 19) presently on file limits the invention to a technical aspect, namely having a travel planning system server submitting the queries to the availability system as well as storing the responses and performing the prediction of availability."
As evident from the cited reasons, the competent Board considered database querying to be a technical field.
11.3 The invention in decision T 862/05 of 20 February 2008 related to an electronic sales and service support system intended for banks. In point 2 of its reasons, the decision states the following (underlining added):
"The Board considers the technical features of claim 1 to be the following:
- a central database,
- means for inputting data into the central database,
- means for searching the database and identifying records,
- workstations with or without a graphic user interface,
- telecommunication links, and
- means for building structured queries. [...]".
It follows that the competent Board regarded a central database, means for searching this database and means for building structured queries as technical features of the invention.
11.4 In decision T 658/06 of 25 November 2010, the invention concerned recording and managing bonus points for telephone users. In point 4 of its reasons, the decision states (in German):
"Das beanspruchte Verfahren zum Betreiben eines Bonusbearbeitungssystems verwendet ein Telekommunikationsnetz und umfasst Datenbankoperationen (Listenabfragen, Datenvergleiche, bedingte Speichervorgänge etc). Es weist daher den erforderlichen technischen Charakter auf [...]"
Hence, the competent Board considered database operations ("Datenbankoperationen") as conferring a technical character on the claimed method.
11.5 The invention in decision T 1500/08 of 4 November 2011 related to the automatic generation of formally specified structured queries for a database management system based on the user input received. The invention maintained a number of query strings containing placeholders that could be substituted when generating a query on the basis of the input received from the user. When compared with the prior art, the question of inventive step for auxiliary request 2 in this case came down to the following: Would it have been obvious to the skilled person to modify the teaching of the prior art so that only the operators (in a query string) were substituted before transmission to the database server? The technical effect was that, sometimes, a previous search could be reused by the database server (see reasons 5.8 and 5.9). Hence, the competent Board considered the reuse of database queries to be technical.
11.6 According to the background section of the patent application underlying decision T 963/09 of 5 June 2014, conventional database systems typically provided a general auditing facility that recorded an audit trail containing general information about the user and the query issued. These auditing facilities recorded information only as to which tables were accessed, not whether certain records inside a given table were accessed. This table-level auditing tended to generate a large number of false audit records, because many accesses to a given table did not touch sensitive data.
The invention aimed to enable selective auditing of accesses to tables of a relational database system, said system comprising a database server and a client. This was achieved by including in each table an "auditing flag" indicating whether auditing was enabled for that table. Upon receipt of a database query from the client, the database server checked the auditing flags of the tables accessed by the query to see for which tables the access should be audited. If auditing was enabled, the database server modified the query by inserting into the query "monitoring logic", which caused audit records to be created "for rows in relational tables that are accessed by the query and that satisfy an auditing condition". The modified query was then processed and the query result was returned to the client. The selectivity of the auditing resided in the use of the auditing condition, which was a declaratively specified condition such as "salary > 1,000,000".
The appellant in that case explained that the invention allowed row-based selective auditing to be performed based on an auditing condition that referred to fields which were not included in the query result returned to the client. The competent Board accepted that the claimed solution to the problem of implementing selective auditing could not be regarded, without documentary evidence, as a mere obvious possibility and concluded that the claimed subject-matter involved an inventive step. Evidently, the competent Board considered database accesses in general (see point 7.6 of the reasons) and the specific implementation of row-based selective auditing in an RDBMS, in particular, to be technical.
11.7 In decision T 104/12 of 8 September 2016, the invention concerned a method of extracting data using a database view query from an online transaction processing system to a data sink. In point 3.8 of the reasons, the competent Board acknowledged that implementing the execution of a database view query was a technical problem.
11.8 Decision T 1965/11 of 24 March 2017 concerned the optimisation of structured queries to an RDBMS in the presence of materialised views. It was known that the query optimisation component of a relational database management system attempted to find a query execution plan for a structured query, which precisely defined the data to be retrieved but did not define at all how the system should retrieve the data, i.e. how the query was to be executed. In point 5.3 of its reasons, the decision states the following:
"The invention makes it possible to find low-cost query execution plans that make use of the available materialised views in order to improve query performance [...] Moreover, in order to explore the search space for such low-cost query execution plans, it proposes integrating the materialised views into the table of alternatives during the plan exploration stage. For this integration, it is necessary to match query plans with materialised views in order to identify useful plan alternatives for such views. The invention teaches using query graphs for the matching in order to substantially reduce the complexity of extracting operator trees which encode a specific join order. In the technical context of query optimisation in relational database systems, this teaching is based on further technical considerations and solves the problem of providing a technically feasible implementation, in particular one that achieves an acceptable time complexity for query optimisation in relational database systems."
This decision makes it clear that query optimisation in an RDBMS is considered as contributing to the technical character of the invention.
12. As one may see some similarity between querying database management systems by means of structured query languages and searching databases by means of information retrieval systems, the Board also reviews some decisions in the field of information retrieval.
Computer-implemented systems for information retrieval support searching for information in a document, searching for documents themselves, and also searching for metadata that describe data such as texts, images or sounds. First, a user enters a query into the system. Queries are attempts to formulate the user's information need. For example, the system may allow a user to input search terms as a query in web search engines, or the user may select an exemplary document and submit the query to find similar documents. User queries are matched against the information stored in a database, for example using an index structure.
In information retrieval, the query typically has no precise semantics (e.g. it uses just natural language to describe the user's information need in an informal manner). Hence, an information retrieval system typically attempts to find best matches, i.e. the data items are selected based on their estimated relevance to the query. Innovation in this field may concern the way how relevance is determined, often by calculating a similarity between the user's information need expressed in the query and the objects in the database.
12.1 Decision T 1569/05 of 26 June 2008 concerned an information retrieval system for retrieving images using textual descriptions of the images as searchable metadata. A mathematical model of meaning was used to identify the semantic similarity of words. In points 3.5 to 3.7 of the reasons, the competent Board stated:
"In the Board's view, neither the mathematical model of meaning according to D3 nor the modified model according to the invention are within the technical area, since only the meaning of the words determines how they are represented, stored and selected, and since mathematical algorithms completely define the processing. In this respect the present invention is similar to the case T 52/85 - Listing of semantically related expressions/IBM (not published in OJ EPO), where the deciding board held that automatically generating a list of expressions semantically related to an input linguistic expression is basically not of a technical nature but a matter of the meaning of those expressions, ie of their abstract linguistic information content. [...]
A technical aspect can therefore at most be seen in the application of these models for retrieving data in a computer database, such retrieval being normally considered to have technical character. [...]
In the present case the retrieving step produces a different result than the prior art for the sole reason that the semantic subspace used for the retrieval has been scaled down. Hence, the only principles that have been modified concern the search for the image description closest in meaning to the desired description (keyword). They do not concern the search performed within the database to retrieve the image corresponding to the input data.
This distinguishes the present invention from the subject-matter considered in decision T 1351/04 - File search method/FUJITSU (not published in OJ EPO). In that case the board saw a technical effect in 'the control of the computer along the path leading to the desired data' (point 7.2). In the present case, however, the search is not primarily for a certain data location but for certain words having a given lexical meaning. On the basis of these words the computer finds the associated images, but how this is done is not part of the invention."
Hence, the competent Board confirmed that retrieval from a database was normally considered as having technical character. However, it regarded the mathematical model of meaning used to define and calculate the similarity of images via their textual descriptions as non-technical.
12.2 In its decision T 1316/09 of 18 December 2012, point 2 of the reasons, the competent Board considered a method or a combination of methods of text classification per se as not producing any relevant technical effect or providing a technical solution to any technical problem.
12.3 In decision T 309/10 of 19 June 2013, the invention concerned the archival and retrieval of documents. The competent Board considered that the core method of retrieval could well be performed without the technical aid of a computer and by a librarian solving the non-technical problem of storing and locating books (see reasons 9 and 10). The argument that librarians would not, or could not, maintain the information required in their head, so that the invention did not amount to the automation of a mental act, was not accepted (see reasons 16). Moreover, in its reasons, point 15, the decision states the following:
"The appellant has argued that the invention makes the retrieval of relevant documents easier and more accurate. That argument bears on the non-technical problem of librarianship. The same advantage accrues to any library, regardless of its technological substrate; regardless, indeed, of whether or not there is a technological substrate at all. The Board does consider that retrieval and accuracy might, in some circumstances, be technical issues. [...]".
12.4 Decision T 598/14 of 6 November 2014 concerned a method for generating, from an input set of documents, a word replaceability matrix defining semantic similarity between words occurring in the input document set. The word replaceability matrix was used for determining document similarity and for enhancing search queries for retrieval of information from the document set. The competent Board considered the distinguishing features of the claimed invention over the prior art as non-technical aspects which could not contribute to inventive step.
In particular, the distinguishing features corresponded to a change in the mathematical model used for calculating the probability that a first word of a pair is semantically suitable as a replacement for the second word of the pair. The mathematical model used was based on determining fuzzy sets by taking into account, for each word or term, word sequences with a predetermined number of words of the context of the term. The considerations underlying these distinguishing features were that, in text documents, words which had similar meanings or were related were more likely to occur in the same or similar phrases or context than unrelated words. These considerations were of a purely linguistic nature and had to be ignored when assessing inventive step. In point 2.3 of the reasons, the competent Board stated the following:
"In the invention, the linguistic aspects are translated into the mathematical model. The Board considers that the translation of linguistic considerations into a mathematical model with the aim of enabling the linguistic analysis to be done automatically by a computer can be seen as involving, at least implicitly, technical considerations. This is also in line with decision T 1177/97, point 3, last paragraph, or opinion G 3/08, "Programs for computers", OJ EPO 2011, 10, points 13.2 and 13.3. However, according to G 3/08, point 13.5, this is not enough to guarantee the technical character of subject-matter otherwise excluded from patentability under Article 52(2) and (3) EPC. The technical character would have to be established on the basis that those considerations constituted "further technical considerations".
The Board is convinced that no such "further technical considerations" can be found in the present case. As explained above, the translation simply reflects the linguistic aspects in the mathematical model. The modified model for semantic similarity results in a different set of words being considered to be semantically suitable as a replacement for each word. According to established case law, such linguistic aspects do not have a technical character."
Moreover, the competent Board refused a request for referral of a question to the Enlarged Board of Appeal, stating that "in the Board's view there is clear established case law on the question of patentability of mathematical methods or methods for information retrieval based on semantic similarity, and the application of that case law is harmonised" (reasons 3.6; emphasis added by the present Board).
12.5 Decision T 2230/10 of 3 July 2015 states in its reasons, point 3.10, the following: "The Board [...] does not accept that the algorithm is based on technical considerations in that it has been purposively designed with a view to the relevance to the user of the search results obtained, as this relates to the cognitive content of the returned documents."
Hence, this decision regarded certain considerations relating to the cognitive content of the documents as non-technical.
13. The Board summarises the situation with respect to the technicality of query processing in database management systems and information retrieval systems as follows:
Structured declarative queries, which are used for retrieving data managed in a relational database management system, normally have precise, formally defined semantics, i.e. the query precisely describes the data that is to be retrieved, and the database management system then retrieves the specified data set as a result. Relational database management systems typically execute such queries by determining an efficient query execution plan based on cost estimates for the necessary internal operations of the computer system (e.g. in terms of main memory accesses, hard disk accesses, central processing unit resources). Such database management systems are software platforms for the centralised control of data ("central database"). Features of these platforms often have a technical character, as they have been designed based on engineering considerations concerning the efficient exploitation of the computer system as a technical system.
Information retrieval systems typically have to formally calculate a semantic similarity of documents, which is typically regarded as involving non-technical considerations and being based on subjective criteria and the content (semantics) of the documents to be retrieved.
In view of the above, there is no contradiction in the case law relating to retrieval of data from database management systems and to information retrieval. Rather, the different judgments of the technical character of the features of these systems reflect the different kinds of considerations in the different fields.
14. The above review of relevant case law leaves no doubt that the boards of appeal have in the past judged that many aspects of processing structured queries in database management systems are to be regarded as technical.
The Board agrees with the appellant that claim 1 adequately defines a system solving a technical problem. In particular, improving the efficiency of executing structured queries to, or improving the throughput of, an RDBMS by automatically managing the data in various data stores with different properties and exploiting the different performance characteristics of these data stores for enhanced query processing solves a technical problem.
The Board also reviewed whether the Guidelines for Examination in the EPO may have misled the Examining Division. However, even in the November 2018 version of the Guidelines, there are, with respect to database systems, only pointers that features specifying how an information model is stored in a relational database can make a technical contribution (G-II, 3.6.2), and that an index structure in a database constitutes functional data (G-II, 3.6.3).
15. In the present case, a further issue that may have led the Examining Division to wrong conclusions when it identified technical and non-technical features is that claim 1 refers, in the context of its ranking feature, to a linear combination, i.e. a mathematical formula (see features E3a and E3b of claim 1). The Examining Division considered the ranking feature as an abstract procedural step, which is non-technical.
16. For the assessment of the technical character of a method comprising a mathematical feature, the Board considers it appropriate to review how the relevant provisions in Article 52(2)(a) and (3) EPC are to be interpreted.
17. Article 52(2)(a) EPC codifies that "mathematical methods" are not to be regarded as inventions within the meaning of Article 52(1) EPC. Article 52(3) EPC stipulates that the patentability of the subject-matter or activities referred to in Article 52(2) EPC is to be excluded only to the extent to which a European patent application or European patent relates to such subject-matter or activities as such.
In the EPC revision 2000, Article 52(1) was amended to refer to inventions "in all fields of technology". According to the Basic Proposal for the Revision of the EPC, "[...] Article 52(1) EPC has been brought into line with Article 27(1), first sentence, of the TRIPs Agreement with a view to enshrining "technology" in the basic provision of substantive European patent law, clearly defining the scope of the EPC, and making it plain that patent protection is available to technical inventions of all kinds. [...] In light of the new wording of Article 52(1) EPC, it may be queried whether the provisions of Article 52(2) and (3) EPC, which enumerate subject-matter or activities not to be regarded as inventions, are still needed" (see documentation on the EPC revision 2000, document MR/2/00 e; underlining added by the Board).
18. With respect to the legislative history of the exclusion of mathematical subject-matter or activities, the minutes of the Proceedings of the 12th meeting of the Patents Working Party held in Brussels from 26 February to 6 March 1964 mention the following (see Travaux Préparatoires EPC 1973, document 2632/IV/64-E, page 22; underlining in the original text):
"After further discussion, the Chairman instructed the Drafting Committee to review the wording of sub-paragraph (a) to avoid any ambiguity and to make it clear that the aim of the provision was to rule out any applications obviously not involving inventions, e.g. applications relating to methods of calculation."
18.1 The wording "mathematical theories as such" had been proposed at some point in the legislative history of the EPC, presumably to adapt the wording of the article codifying patentable inventions to corresponding Rule 39.1 of the Regulations under the Patent Cooperation Treaty (see e.g. Travaux Préparatoires EPC 1973, document BR/70 e/70, page 10: Article 9 "Patentable inventions", paragraph 2; BR/94 e/71, point 22 on page 11).
18.2 Later in the legislative history, a Swiss proposal amending "mathematical theories" to "mathematical methods" was accepted (BR/135 e/71, point 90 on page 47; BR/139 e/71, Article 9(2)(a)). As to the limitation of the exclusion to "mathematical methods as such", document BR/218 e/72, point 4, states the following (underlining added by the Board):
"The Swiss delegation proposed that this sub-paragraph be amended to the effect that the words 'as such' should refer only to scientific theories and discoveries, excluding mathematical methods (cf. Working Document No. 6). Any mathematical method as such (pure mathematics) and its application in solving a technical problem (applied mathematics) should, in the view of this delegation, be considered to be intellectual activities and therefore excluded from patentability.
At the end of an exchange of views, the Committee agreed to adopt the Swiss proposal after amending it to make the limitation "as such" applicable to discoveries only, as it had emerged that the argument used in respect of mathematical methods also applied to scientific theories" (see also BR/219 e/72, point 26 on page 8, where the Conference recorded its agreement on these conclusions of the Co-ordinating Committee).
18.3 In document M/11 of 29 March 1973, the Government of the Federal Republic of Germany proposed to set forth limitations ("as such") of excluded subject-matter or activities in a general manner in a separate paragraph, corresponding to what later became Article 52(3) EPC. Its main argument was that a limitation in paragraph (2) of the article on patentable inventions applicable only to certain excluded items, such as discoveries or presentations of information, "could lead to the erroneous conclusion that a broad interpretation should be given to items not limited in this way in paragraph 2".
19. One of the fundamental principles of interpretation of treaties codified in Article 31 of the Vienna Convention (OJ EPO 1984, 196), which is also to be applied for the interpretation of the EPC by the boards of appeal, is that the ordinary meaning is to be given to the terms of a treaty in their context and in the light of its object and purpose. Hence, in the following, the Board applies this principle to arrive at its interpretation of Article 52(2)(a) and (3) EPC with respect to "mathematical methods as such".
19.1 According to the Oxford dictionaries, the word "mathematics" is defined as the "abstract science of number, quantity, and space, either as abstract concepts (pure mathematics), or as applied to other disciplines such as physics and engineering (applied mathematics)" (https://www.lexico.com/en/definition/mathematics). A mathematical method is a method relating to this abstract science.
19.2 The difference between pure and applied mathematics may be better understood by further analysing the nature of pure mathematics. According to the discipline of metamathematics, pure mathematics can be understood as being concerned with the deduction and provability of mathematical theorems starting from a set of mathematical axioms. For modern mathematics, these axioms include the so-called Axiom of Choice.
From these axioms, the well-known Banach-Tarski paradox can be deduced. According to this mathematical theorem, a ball can be cut into a finite number of pieces and then reassembled into a ball of a larger size, or, alternatively, it can be reassembled into two balls whose sizes are identical to the original. This theorem may be interpreted in that modern mathematics, when viewed as a logical system cogently including the Banach-Tarski paradox, is fundamentally different from the real world. This view of pure mathematics can be summarised by the following quote of the German mathematician David Hilbert: "Mathematics is a game played according to certain simple rules with meaningless marks on paper." It follows that pure mathematics is a prime example of a purely intellectual human activity that does not fall within the scope of the EPC.
In view of the above analysis, the Board has no doubts that methods relating to pure mathematics are excluded from patentability by their very nature. This interpretation is consistent with the context given by Article 52(1) EPC, as inventions in all fields of technology always concern the real world and are not merely theoretical, abstract subject-matter or activities. This interpretation is also consistent with the object and purpose of the relevant provisions in Article 52 EPC, as the legislative history clearly shows the aim to exclude "mathematical theories" from patentability, and as the Board considers that the expression mathematical theories at least encompasses pure mathematics.
19.3 With respect to applied mathematics, it is well known that mathematics is an important tool in particular for describing subject-matter or activities using mathematically precise formal expressions, not only in technical fields but also in non-technical fields such as economics.
In the Board's view, the context provided in Article 52(1) EPC, i.e. the limitation of inventions to all fields of technology, makes it clear that methods applying mathematics in a non-technical field are generally excluded from patentability (unless they use technical means, see decision T 258/03, EPO OJ 2004, 575, headnote I, according to which a method involving technical means is an invention within the meaning of Article 52(1) EPC). However, where mathematical features of an invention contribute to the solution of a technical problem, such mathematical features cannot be ignored when assessing inventive step.
The Board's interpretation of Article 52(2)(a) and (3) EPC with respect to "mathematical methods as such" is consistent with the object of the provisions. As evident from the legislative history, the Swiss delegation tried, successfully at first but ultimately in vain, to achieve an exclusion of all applications of mathematics, including applications solving a technical problem, by omitting the limitation "as such" for mathematical methods. Hence, the present wording of Article 52(2)(a) and (3) EPC, which excludes mathematical methods only "as such", enshrines in the convention that mathematical methods applied to solve a technical problem are patent eligible.
For the avoidance of doubt, the Board notes that a method consisting solely of a mental act, even if it involves mathematical steps directed to solve a technical problem, remains a method for performing a mental act as such (not using particular technical means) and is excluded from patentability under Article 52(2)(c) and (3) EPC, i.e. all exclusions from patentability have to be overcome by a claimed activity or subject-matter.
19.4 The case law of the boards of appeal with respect to mathematical methods has established the following (see e.g. Case Law of the Boards of Appeal of the EPO, 8th edition 2016, I.A.2.2.2 and the decisions cited therein): purely abstract or intellectual methods are not patentable. However, even if the idea underlying an invention may be considered as residing in a mathematical method, a claim directed to a technical process in which the method is used does not seek protection for the mathematical method "as such". If a method which is not per se "technical" (e.g. a mathematical method) is used in a technical process, and this process is carried out on a physical entity by some technical means implementing the method and provides as its result a change in that entity, it contributes to the technical character of the invention as a whole.
This may be summarised in that mathematical aspects contributing to the solution of a technical problem have to be considered when assessing inventive step (see e.g. decisions T 208/84, OJ EPO 1987, 14; T 107/87 of 26 April 1991; T 154/04, OJ EPO 2008, 46, point 5(C) of the reasons; T 1227/05, OJ EPO 2007, 574; T 1326/06 of 30 November 2010; T 650/13 of 2 October 2018). The Board's interpretation of Article 52(2)(a) and (3) EPC with respect to "mathematical methods as such" is thus entirely consistent with the established case law of the boards of appeal.
20. The contested decision concerns a so-called mixed invention, containing technical and non-technical features, in particular a method comprising mathematical aspects which is computer-implemented and thus uses technical means. Hence, the question arises whether its mathematical aspects contribute to the solution of a technical problem.
20.1 In the present case, as the mathematical features concerning the linear combination, E3a and E3b of claim 1, contribute to the automatic determination of which data tables are to be managed by which type of database management system, they play an essential role in the technical functioning of the system and consequently serve the overall technical purpose of claim 1. Furthermore, these features are based on technical considerations concerning the functioning of the database technology used. Hence, they contribute to the solution of a technical problem and have to be taken into account when assessing inventive step.
21. The Examining Division had also argued that the effects of different execution times and data consistency levels achieved were not "further" technical effects (see decision T 1173/97, OJ EPO 1999, 609). For example, different execution times were an inherent side effect of any different computer programming, as according to the Guidelines G-II, 3.3, last paragraph, the increased speed or efficiency of a method based on an improved algorithm was not sufficient on its own to establish the technical character of the method.
The cited passage from the November 2016 version of the Guidelines, which was valid when the contested decision was taken, reads:
"The increased speed or efficiency of a method based on improved algorithms is not sufficient on its own to establish a technical character of the method (see T 1227/05). Characteristics such as speed and efficiency are inherent in both technical and non-technical methods. For example, if a sequence of auction steps leads to price determination more quickly than some other auction method, that does not necessarily imply that the auction steps contribute to the technical character of the method (see T 258/03)."
21.1 In the proceedings before the Examining Division and in the statement of grounds of appeal, the appellant argued that the Examining Division ignored the case law and misinterpreted the Guidelines, which were based on decision T 1227/05. This decision concerned the situation where the speed comparison regarding the claimed subject-matter was made with respect to 'conceivable' methods. By contrast, in the present case, the speed comparison was made with respect to a particular prior art, i.e. document D1.
21.2 Cited decision T 1227/05 states in its reasons, point 3.2.5, the following: "As it is always possible to conceive of a slower reference method, a mere speed comparison is not a suitable criterion for distinguishing between technical and non-technical procedural steps. If, for example, a sequence of auction steps leads to price determination more quickly than some other auction method, that does not necessarily imply that the auction steps contribute to the technical character of the method (see T 258/03)."
The Board agrees with this decision that certain characteristics, such as speed and efficiency, are inherent in both technical and non-technical methods. In particular, it agrees with decision T 1227/05 that a mere speed comparison is not a suitable criterion for distinguishing between technical and non-technical procedural steps.
However, if an enhanced speed or efficiency of a claimed computer-implemented method is the result of "further" technical considerations which are adequately reflected in the claimed method, the Board would normally consider such an improvement as contributing to the solution of a technical problem and also as a technical effect of the claimed method (see decisions T 2330/13 of 9 May 2018, reasons 5.7.5; T 318/10 of 2 September 2014, reasons 5.9; T 1965/11 of 24 March 2017, reasons 5.1; T 817/16 of 10 January 2019, reasons 3.12).
Consequently, in the present case, it has to be considered whether an improvement in the processing speed is based on "further" technical considerations, i.e. technical considerations going beyond the abstract formulation of algorithms or beyond "merely" finding a computer algorithm to carry out some procedure (see opinion G 3/08, OJ EPO 2011, 10, points 13.5 and 13.5.1 of the reasons). With respect to the abstract formulation of algorithms, the Board considers that the formulation and formalisation of algorithms is an intellectual activity not necessarily involving technical considerations. However, program development may involve technical considerations relating to the specific internal functioning of the computer as a technical system, which are then typically to be regarded as "further" technical considerations within the meaning of opinion G 3/08, reasons 13.5.1.
Moreover, it is well established that a computer-implemented method - independent of its specific implementation in a computing device - may serve a technical purpose, i.e. may contribute to solving a technical problem outside the computer system, such as controlling an electro-mechanical device or a chemical process, and thus may contribute to the technical character of the invention (see e.g. decision T 26/86, OJ EPO 1988, 19). The Board shares this view. To avoid any doubt in this respect, the Board considers that technical considerations relating to the solution of such a technical problem outside the computer system qualify as "further" technical considerations that may be reflected in a computer-implemented method.
21.3 The Board is convinced that its approach to dealing with enhanced speed and efficiency as effects of computer-implemented inventions is fully consistent with decision T 258/03, which was cited in decision T 1227/05, since an improved speed due to the use of a different auction method is not based on "further" technical considerations, for example relating to the internal operation of the computer system, but rather on business considerations concerning a different auctioning method.
21.4 In its statement of grounds of appeal (points I.4.4 and I.4.5), the appellant argued that, in the present case, the improved performance required "further" technical considerations. According to the claimed subject-matter, two query patterns, namely an aggregation pattern and a key-select pattern, were defined to identify queries suitable to be processed by a NoSQL data store (see features E2a and E2b of claim 1). The invention ranked tables based on the claimed linear combination, which used the percentage of read queries of a table and the percentages of queries of the table which matched the aggregation or key-select pattern, respectively (see features E3, E3a and E3b of claim 1). According to features C and E4, the ranking was used to automatically determine which data tables were to be managed by a relational or a non-relational database management system. If a received query was for a table managed by the NoSQL data store, then the query was automatically translated to application programming interface calls for the NoSQL data store and forwarded to the NoSQL data store (see features E5 to E7 of claim 1).
21.5 The Board agrees with the appellant that the claimed system is based on "further" technical considerations that concern a specific manner of improving response times for queries by automatically using different data stores, relational database management systems and NoSQL data stores, to manage data tables.
The skilled person implementing the claimed system, an expert in database management systems, needs to have a detailed understanding of the manner in which the different kinds of database management systems manage data and how they process queries matching a key-select pattern or an aggregation pattern, for example. The performance implications of the use of different types of data stores for executing queries according to the different query patterns need to be considered. As the different data stores operate with different consistency levels, it has to be decided which data stores are best suited to store which data tables in view of the consistency level that is acceptable for the queries on the data tables. For this purpose, the claimed system monitors and parses queries to determine the percentage of read queries and the percentage of queries matching the various query patterns for the data tables.
The application explicitly discloses that the different data stores provide different consistency levels, and that these different consistency levels are relevant for the achievable performance. Hence, the skilled person has to consider the technical constraints resulting from the use of different data stores with different consistency levels. This is explained in the following.
Normally, the processing logic of an application accessing an RDBMS is described and implemented from the point of view of a logical single-user system, i.e. a system in which, from a logical point of view, only one user has exclusive access to the data in a database. However, in the actual operation of the database management system, the shared database is accessed concurrently, e.g. in order to achieve a higher system throughput. This concurrent access may lead to corruption of the database because updates to shared data may be lost, for example.
It is well known that mechanisms to automatically protect shared data against corruption due to concurrent access, such as support for transactions with the ACID property, may be implemented in database management systems. For this purpose, a database management system may support different consistency levels as built-in mechanisms for technical reasons. Lower consistency levels supported by database management systems can then be used to increase the performance of queries, provided that such lower consistency levels are still acceptable. Hence, there is a need to distinguish between the consistency demanded by a particular application and the consistency levels supported by database management systems, which are software platforms that support such consistency levels as built-in mechanisms for technical reasons that are not determined by the specific needs of a particular application.
It follows that the Board does not share the Examining Division's conclusion that achieving data consistency levels was a "result of human requirement" and independent of any technical necessity.
21.6 In view of the above, the Board considers that the computer-implemented features of claim 1 involve "further" technical considerations, as it is necessary to consider the technical properties of the implementations of query processing in different kinds of database management systems. In particular, it can be convincingly argued that the claimed system, using a NoSQL data store and an RDBMS, provides a performance improvement over an RDBMS as sole data store, and that this improvement is a consequence of the above discussed "further" technical considerations, which are adequately reflected in the claimed data consistency management system. Consequently, the Board agrees with the appellant that the features of claim 1 considered as non-technical by the Examining Division contribute to the technical effect of improved performance for querying data stored in an RDBMS.
22. In sum, the Board considers that all the features of the claimed system contribute to improving system throughput and query response times by automatically managing data using various data stores having different technical properties, and thus contribute to the solution of a technical problem.
23. As the Examining Division's reasoning for lack of inventive step is not convincing, the contested decision is to be set aside.
Remittal
24. In the present case, as the Examining Division's analysis of the technicality of the features of the invention was not convincing, the inventive step of the claimed subject-matter was not adequately assessed over the prior art in the proceedings before the Examining Division. Moreover, in the present case, the analysis of the technical aspects of the invention may have negatively affected the completeness of the search, as some of the claimed features, which were considered by the Examining Division as non-technical, may not have been covered. Hence, the Board remits the case for further prosecution to the department of first instance (Article 11 RPBA).
Order
For these reasons it is decided that:
1. The decision under appeal is set aside.
2. The case is remitted to the department of first instance for further prosecution.