European Case Law Identifier: | ECLI:EP:BA:2020:T056817.20200728 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Date of decision: | 28 July 2020 | ||||||||
Case number: | T 0568/17 | ||||||||
Application number: | 09755851.4 | ||||||||
IPC class: | G06F17/30 | ||||||||
Language of proceedings: | EN | ||||||||
Distribution: | D | ||||||||
Download and more information: |
|
||||||||
Title of application: | Method for performing transactions on data and a transactional database | ||||||||
Applicant name: | Open Text Software GmbH | ||||||||
Opponent name: | - | ||||||||
Board: | 3.5.07 | ||||||||
Headnote: | - | ||||||||
Relevant legal provisions: |
|
||||||||
Keywords: | Novelty - main request (yes) Inventive step - not rendered obvious by document D1 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. 09755851.4, published as international application WO 2011/044929.
II. The decision was issued on EPO Form 2061, referring for its reasons to a communication dated 8 February 2016. The Examining Division decided that the subject-matter of independent claims 1, 8 and 15 of the main request was not new in view of the following document:
D1:|US 2008/0313213 A1, published on 18 December 2008.|
The subject-matter of dependent claims 2 to 7 and 9 to 14 of the main request, and of all claims 1 to 15 of each of the first and second auxiliary requests, was not inventive over document D1.
III. In its statement of grounds of appeal, the appellant maintained the main request and first and second auxiliary requests considered in the contested decision.
IV. In a communication issued under Rule 100(2) EPC, the Board informed the appellant of its intention to set aside the decision and to remit the case to the Examining Division for further prosecution.
V. In response to the Board's communication, the appellant requested that the decision under appeal be set aside and that a patent be granted on the basis of the claims of the main request or, in the alternative, one of the first and second auxiliary requests. In case the Board would otherwise refuse the application, it requested that the case be remitted to another Examining Division, or at least to an Examining Division in a different composition, for further prosecution.
VI. The appellant was summoned to oral proceedings to discuss whether the Board should remit the case to the Examining Division for further prosecution or exercise its discretion under Article 111(1) EPC to examine the application itself.
VII. In response to the summons, the appellant maintained its requests. In a further letter, received in response to a telephone conversation with the Board's chairman, it amended its request for oral proceedings to the effect that it withdrew its request for oral proceedings conditional on either a patent being granted on the basis of one of the requests on file or the case being remitted to the Examining Division for further prosecution.
VIII. Independent claim 1 of the main request reads as follows:
"A method for performing transactions on data entities in a database, each transaction comprises one or more query, projection, insert, update, and/or delete operations, wherein said database comprises an ordered set of data stores with at least one static data store for storing data entities and performing queries on said data entities, wherein said static data store uses an index structure which is based on a non-updatable representation of an ordered set of integers according to the principle of compressed inverted indices, wherein each of said data entities comprises an [sic] unique identifier and a plurality of fields each containing a single or multi valued value, the method comprises for a transaction the steps of:
determining the current ordered set of data stores when said transaction is started;
storing information of said current ordered set of data stores as transactional state for said transaction;
when said transaction comprises an insert, update or delete operation, generating a modifiable data store and adding said modifiable data store as newest data store to said transactional state for said transaction, wherein said modifiable data store is adapted to store data entities and to perform queries on said stored data entities;
executing said one or more operations of said transaction on the data entities in the data stores of which information has been stored in said transactional state;
when said transaction is committed and if said modifiable data store has been generated for said transaction, adding said modifiable data store as newest data store to said ordered set of data stores;
wherein, when one of said one or more operations of said transaction is a query operation with a query, said step of executing comprises:
performing said query against each of said data stores of which information has been stored in said transactional state, wherein said query returns ordered identifiers of data entities for each of said data stores that match with said query;
masking for each of said data stores those of said returned ordered identifiers for which a data entity with the same identifier already exists in a newer data store;
uniting said masked identifiers and returning said united identifiers;
wherein, when one of said one or more operations of said transaction is an insert operation for inserting a new data entity, said step of executing further comprises:
writing said new data entity in said modifiable data store, wherein a new unique identifier is used as identifier for said new data entity;
wherein said method further comprises:
converting one or more selected data stores of said ordered set of data stores to a new static data store, wherein said converting step further comprises:
reading all data entities from said one or more selected data stores;
masking for each of said one or more selected data store said read data entities for which a data entity with the same identifier already exists in a newer data store of said ordered set of data stores;
merging said masked data entities;
building a new index structure using the identifiers of said merged data entities for said new static data store, wherein said new index structure is based on said non-updatable representation of an ordered set of integers according to the principle of compressed inverted indices;
writing said merged data entities into said new static data store;
adding said new static data store to said ordered set of data stores and deleting said one or more selected data stores from said ordered set of data stores."
Claims 2 to 7 are, directly or independently, dependent on claim 1.
Independent claim 8 reads as follows:
"A database, comprising:
an ordered set of data stores with at least one read-only static data store adapted to store data entities and to perform queries on said data entities, wherein said static data store uses an index structure which is based on a non-updatable representation of an ordered set of integers according to the principle of compressed inverted indices, wherein each of said data entities comprises an [sic] unique identifier and a plurality of fields each including a single or multi valued value;
means for controlling transaction, wherein each transaction comprises one or more query, projection, insert, update, and/or delete operations, said means for controlling transaction is adapted to perform for a transaction the steps of:
determining the current ordered set of data stores when said transaction is started;
storing information of said current ordered set of data stores as transactional state for said transaction;
when said transaction comprises an insert, update or delete operation, generating a modifiable data store and adding said modifiable data store as newest data store to said transactional state for said transaction, wherein said modifiable data store is adapted to store data entities and to perform queries on said stored data entities;
executing said one or more operations of said transaction on the data entities in the data stores of which information has been stored in said transactional state;
when said transaction is committed and if said modifiable data store has been generated for said transaction, adding said modifiable data store as newest data store to said ordered set of data stores;
wherein, when one of said one or more operations of said transaction is a query operation with a query, said means for controlling transaction is further adapted to perform said step of executing by:
performing said query against each of said data stores of which information has been stored in said transactional state, wherein said query returns ordered identifiers of data entities for each of said data stores that match with said query;
masking for each of said data stores those of said returned ordered identifiers for which a data entity with the same identifier already exists in a newer data store;
uniting said masked identifiers and returning said united identifiers;
wherein, when one of said one or more operations of said transaction is an insert operation for inserting a new data entity, said means for controlling transaction is further adapted to perform said step of executing by:
writing said new data entity in said modifiable data store, wherein a new unique identifier is used as identifier for said new data entity;
wherein said database further comprise [sic] means for converting one or more selected data stores of said ordered set of data stores to a new static data store, wherein said means for converting is adapted to perform the steps of:
reading all data entities from said one or more selected data stores;
masking for each of said one or more selected data store said read data entities for which a data entity with the same identifier already exists in a newer data store of said ordered set of data stores;
merging said masked data entities;
building a new index structure using the identifiers of said merged data entities for said new static data store, wherein said new index structure is based on said non-updatable representation of an ordered set of integers according to the principle of compressed inverted indices;
writing said merged data entities into said new static data store;
adding said new static data store to said ordered set of data stores and deleting said one or more selected data stores from said ordered set of data stores."
Claims 9 to 14 are, directly or independently, dependent on claim 8.
Independent claim 15 reads as follows:
"Computer program which, when executed on a computer, adapts said computer to perform the method according to any of claims 1 to 7."
IX. The text of the claims of the auxiliary requests is not relevant to this decision.
Reasons for the Decision
1. The appeal complies with the provisions referred to in Rule 101 EPC and is therefore admissible.
2. The invention
2.1 The application relates to providing support for database transactions, i.e. units of work whose execution complies with the well-known ACID (atomic, consistent, isolated and durable) properties (as confirmed in paragraphs [028], [034] and [074] of the published application), in particular in databases that employ an index structure based on the principle of "compressed inverted indices". The transactions operate on data entities, which are identified by unique identifiers.
2.2 The invention proposes providing the database as an ordered set of data stores, each data store storing (versions of) one or more data entities. The data stores are ordered from least recent to most recent. The version of a data entity in the most recent ("newest") data store is the currently valid version of the entity (see paragraph [090]).
2.3 If a transaction comprises insert, update or delete operations, new or modified versions of data entities are stored in a newly generated "modifiable" data store. When the transaction is committed, the modifiable data store is added to the ordered set of data stores as the "newest" data store.
2.4 Claim 1 of the main request specifies this process with more precision and includes further features specifying how a query that is part of a transaction is executed and how selected data stores in the ordered set of data stores are merged into a new data store that replaces the selected data stores.
3. Main request - novelty and inventive step
3.1 Document D1 relates to the construction of an inverted index for high-dimensional data (see paragraph [0025] and claim 1). It does not disclose transactions, let alone a detailed mechanism for performing transactions as specified in claim 1 of the main request.
3.2 The Examining Division, in point 3.1 of the communication containing the reasons for the decision, apparently considered that "efficient transaction processing" was implicitly disclosed by the reference to current Online Analytical Processing (OLAP) systems in paragraphs [0009] and [0010] of the background section of document D1.
However, a reference to OLAP systems is far from a disclosure of a particular way of performing transactions.
3.3 In point 9.1 of the reasons, the Examining Division stated that it considered the term "transaction" to mean "any item which is processed within a computer system".
Although this statement may explain why the Examining Division considered transaction processing to be implicit in OLAP systems, it also shows that the Examining Division failed to appreciate that claim 1 relates to the processing of a database transaction in the normal sense of the term, which is not any processed item but a unit of work that, in particular, is executed atomically, i.e. executed completely (and then "committed") or not at all (with partial changes to the database being rolled back).
3.4 As to the claimed "ordered set of data stores", which is an essential part of the invention's mechanism for performing transactions, the Examining Division only stated that "the data source(s) from which data is received [in an OLAP system] can either be internal or external to a particular database system".
But such a plurality of data sources does not disclose an "ordered set of data stores" to which a committed transaction commits a newly generated data store "as newest data store".
3.5 It follows that the subject-matter of claim 1 and corresponding independent claims 8 and 15 is new over document D1.
3.6 Moreover, since document D1 neither relates to providing support for database transactions nor discloses any of the key features of the invention, it cannot be regarded as a promising starting point for assessing inventive step. Therefore, it does not render the subject-matter of any of claims 1 to 15 obvious.
4. Remittal to the Examining Division
4.1 In view of the above, the reasons for refusing the application are clearly incorrect.
4.2 The appellant requested the Board not to remit the case to the Examining Division for further prosecution but to grant a patent on the basis of the claims of the main request or one of the auxiliary requests.
It argued that the other two documents cited in the international search report had been classified as "A" documents and had therefore been considered as "documents defining the general state of the art which is not considered to be of particular relevance". Those other documents did not represent a more suitable starting point for assessing inventive step than document D1, as they neither related to providing support for database transactions nor disclosed the key features of the invention. Moreover, a patent for the present invention had already been granted by the Canadian Intellectual Property Office and the United States Patent and Trademark Office, which had both been aware of the documents cited in the international search report.
The appellant further pointed out that the application had been filed on 13 October 2009 and that remittal would lead to further years of examination and an increased likelihood of a "ping-pong" effect between the Board and the Examining Division.
4.3 The Board notes that the EPO cannot grant a patent before it has itself determined that the application meets the requirements of the EPC. The fact that the other two documents have been classified as "A" in the international search report and have not been considered detrimental to the patentability of the invention by two other patent offices may be an indication that those documents are not very relevant, but this cannot replace an independent evaluation of those documents by the Examining Division.
Although the Board could in principle perform this evaluation itself (Article 111(1), second sentence, EPC), in the present case the further question arises as to whether the search was complete. Since document D1 was classified as "X" in the international search report, considered to be novelty-destroying by the Examining Division, but found to be irrelevant for novelty and inventive step by the Board, it is not inconceivable that the search was either carried out on the basis of an incorrect understanding of the invention, or stopped too early due to an incorrect evaluation of document D1.
Whether the search was complete is not a question that the Board is equipped to answer. Since the question presents itself, there are special reasons within the meaning of Article 11 RPBA 2020 to remit the case for further prosecution.
4.4 The Board further notes that a remittal does not inherently cause a substantial extra delay in the prosecution of the case, as there is no reason why it should take longer for the Examining Division to do the work that remains than the Board. While a remittal may lead to a second appeal, this would be the consequence of the appellant exercising its right to appeal, which it would not have were the Board to come to a negative conclusion on the application's compliance with the EPC in these appeal proceedings. Having the right to appeal is in no way to the appellant's detriment.
4.5 Hence, the case is to be remitted to the Examining Division for further prosecution, in particular for assessing inventive step with respect to the other documents cited in the international search report and for considering whether an additional search needs to be carried out (see e.g. decision T 2496/17 of 6 May 2020, reasons 6.4).
4.6 In its communications, the Board questioned whether the "masking" and "uniting" steps of claim 1, which appear to state that a query returns "united" "masked" identifiers corresponding to data entities for which an outdated version ("for which a data entity with the same identifier already exists in a newer data store") matched the query, had been worded correctly from a technical point of view. Since the case is to be remitted for further prosecution, the Board will take no position on this issue but leave it to the Examining Division.
5. Request for a change of the composition of the Examining Division
5.1 The appellant requested the Board to ensure that the further prosecution of the case is carried out by an Examining Division in a different composition. It submitted that the examiner who had been in charge of the application since the international phase was prejudiced, and that it was highly likely that he would maintain his negative behaviour and attitude when examining the case anew, resulting in further considerable delays and additional costs for both the appellant and the EPO.
5.2 It may be questioned whether the Board is competent at all to order a change in the composition of the Examining Division (see e.g. decisions T 71/99 of 20 June 2001, reasons 4, and T 400/02 of 22 August 2003, reasons 5). Nevertheless, the Board can, in principle, examine whether the composition in which the Examining Division took its decision complied with the requirement of impartiality (see decision G 5/91, OJ EPO 1992, 617, reasons 3).
5.3 In support of its submission that the examiner was prejudiced, the appellant referred the Board, without any further explanation, to a letter to the EPO dated 6 March 2012 and to the EPO's response dated 25 May 2012 with a letter of the examiner's director attached to it.
These letters are in the non-public part of the file and are part of the correspondence between the appellant and the EPO acting in its capacity as International Searching Authority.
5.4 An objection on the ground of suspected partiality of a member of the Examining Division may be disregarded if it was not raised immediately after the party concerned had become aware of the reason for the objection (see G 5/91, reasons 4). Hence, if the appellant had wished to challenge the composition of the Examining Division because of the examiner's earlier actions during the international phase, it should have done so in the European regional phase when it became aware of that composition. The appellant became aware of the identity of the examiner entrusted with the examination of the application, at the latest, when it received the Examining Division's communication of 18 April 2013, but its response dated 28 August 2013 contained no objection to the examiner.
5.5 Moreover, the composition of the Examining Division was challenged neither in the notice of appeal nor in the statement of grounds of appeal. The appellant objected to the Examining Division's composition only in its response to the Board's communication, and still without substantiating its objection. This is a further reason for disregarding the objection.
5.6 In any event, although the examiner's communication of 8 February 2016, which later served as the reasons for refusing the application, contained severe errors of judgment, this alone does not justify a suspicion of partiality.
5.7 Referring to Case Law of the Boards of Appeal, 9th edition, 2019, III.J.4.2, the appellant argued that there was no need for the file record to show evidence of actual partiality by the examiner objected to. The negative statements which the appellant and its representative had experienced during the examination proceedings from the side of the primary examiner had been motivated by the examiner's general unwillingness to grant any patent in the present case. The appellant and its representative therefore had no ground to suspect a fair examination process before the same Examining Division in the further prosecution of the case.
It is true that evidence of actual partiality is not required for an objection of suspected partiality to succeed (see decision G 1/05, OJ EPO 2007, 362, reasons 19). However, the suspicion of partiality must be justified on an objective basis which can be verified by the Board (G 1/05, reasons 20). A mere allegation of unspecified and undocumented "negative statements" does not suffice.
5.8 In view of the above, the Board is not prepared to conclude that the examiner entrusted with the examination of the case is prejudiced. For that reason alone, the request that the composition of the Examining Division be changed cannot be allowed, and the question whether the Board would be competent to make such an order can be left open. Nevertheless, it is unfortunate that the Examining Division, which consisted of three technically qualified examiners, failed to detect the severe errors of judgment when the decision to refuse the application was prepared. As stated in decision T 1033/16 of 26 September 2016, reasons 10, an applicant's request for a decision according to the state of the file by no means permits, let alone obliges, an examining division to immediately conclude the examination proceedings as a mere formality with a decision issued on a standard form; rather, the examining division has to verify whether it is in fact in a position to adopt the opinion and reasons expressed in its last substantive communication as its definite stance on the case.
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.
3. The request that the composition of the Examining Division be changed is not allowed.