European Case Law Identifier: | ECLI:EP:BA:2019:T201112.20190902 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Date of decision: | 02 September 2019 | ||||||||
Case number: | T 2011/12 | ||||||||
Application number: | 07009345.5 | ||||||||
IPC class: | G06Q 10/00 G06F 17/30 |
||||||||
Language of proceedings: | EN | ||||||||
Distribution: | D | ||||||||
Download and more information: |
|
||||||||
Title of application: | Efficient calculation of sets of distinct result | ||||||||
Applicant name: | SAP SE | ||||||||
Opponent name: | - | ||||||||
Board: | 3.5.01 | ||||||||
Headnote: | - | ||||||||
Relevant legal provisions: |
|
||||||||
Keywords: | Claims - clarity Claims - main request (no) Claims - clarity Claims - first auxiliary request (no) Claims - clarity Claims - second auxiliary request (yes) Remittal to the department of first instance - (yes) |
||||||||
Catchwords: |
- |
||||||||
Cited decisions: |
|
||||||||
Citing decisions: |
|
Summary of Facts and Submissions
I. This appeal is against the decision of the examining division, refusing European patent application No. 07009345.5 pursuant to Article 97(2) EPC on the ground of lack of clarity (Article 84 EPC).
II. In the statement setting out the grounds of appeal, the appellant requested that the appealed decision be set aside and that a patent be granted on the basis of the main request or one of the first or second auxiliary requests, all submitted with the statement setting out the grounds of appeal, whereby the main and first auxiliary request corresponded to the refused main and second auxiliary request. Oral proceedings were requested as an auxiliary measure.
III. In a communication the Board expressed its preliminary opinion that the main request and first auxiliary request lacked clarity (Article 84 EPC), whereas the second auxiliary request appeared to overcome the grounds for refusal under Article 84 EPC. The Board proposed to remit the case on the basis of the second auxiliary request.
IV. In a reply dated 17 April 2019, the appellant withdrew the request for oral proceedings and requested a written decision remitting the case provided that it was remitted on the basis of the second auxiliary request as proposed.
V. Claim 1 of the second auxiliary request reads as follows:
"1. A computer-implemented method for efficient calculation of sets of distinct results in an information retrieval service, the method comprising:
receiving (300) a query from a client application (14, 24) to retrieve data from a database comprising a plurality of database tables, the query having a plurality of requested attributes and one or more conditions;
characterized by
listing the same row identifiers in each of the plurality of database tables for a result set that matches the one or more conditions;
for each of the row identifiers, calculating (302) a tuple of value identifiers having an entry for each of the plurality of requested attributes;
before projection, calculating (304) for each database table of the plurality of database tables comprising one or more of the plurality of requested attributes and for each of the row identifiers in each said database table a unique number, wherein the row identifiers are assigned a unique number for each distinct combination of value identifiers so that row identifiers having exactly the same combination of value identifiers for the requested plurality of attributes receive the same unique number;
generating (306) a list of the row identifiers mapped with the unique numbers;
during the projection, determining (308), from the list of the row identifiers mapped with the unique numbers, duplicate list entries based on the plurality of attributes requested in the query;
deleting (310) the duplicate list entries from the list of the row identifiers mapped with the unique numbers to isolate for each unique number a single remaining tuple; and
inserting (312) the single remaining tuple into the result set."
Claim 5 defines a corresponding system.
Reasons for the Decision
The invention
1. The invention is directed to an efficient calculation of sets of distinct results in an information retrieval service system. A query is received by the information retrieval service system and converted into a form suitable for processing. The converted query has SELECT and JOIN conditions and contains the command DISTINCT (e.g. from an SQL query). The result set for the query is calculated by a search engine. For each row identifier (RowID) that matches the SELECT and JOIN conditions (e.g. from the SQL query), a tuple of ValueIDs containing an entry for each requested attribute is calculated. These tuples are assigned a unique number (UN) for each distinct combination of ValueIDs. The outcome is a mapped list of RowID/UN values. For each queried attribute table, a similar mapping of RowID/UN values is calculated, using the ValueIDs of the requested attribute. The mapping between RowIDs and UNs for the tables is used to identify duplicates by identifying tuples with the same set of UN values. Duplicates are then dropped from the list.
Thereby, RowID/UN lists can be calculated once, and cached or persisted between several queries avoiding projection of intermediate result lines that are later discarded. This enables UN mappings to be calculated for each table separately and hence for many tables in parallel, thus, being advantageous with regard to parallel computation.
Main request and first auxiliary request
2. Article 84 EPC
The independent claims of both requests do not clearly specify that the row identifier RowID is the same for the plurality of different database tables (see point 5.1 of the decision under appeal) as it is described in paragraph [0026] of the present application (see in particular the table at the bottom of page 6 of the description). The term "unique" is considered to be misleading in this context and does not clearly specify this essential feature of the claimed invention.
Therefore, the Board concurs with the examining division's decision on this point.
Second auxiliary request
3. Independent claims 1 and 5 of this request specify listing the same row identifiers in each of the plurality of database tables for a result set that matches the one or more conditions, and before projection, calculating for each of the row identifiers in each said database table a unique number, wherein the row identifiers are assigned a unique number for each distinct combination of value identifiers so that row identifiers having exactly the same combination of value identifiers for the requested plurality of attributes receive the same unique number.
In the Board's view this adequately specifies that the row identifier RowID is the same for the plurality of different database tables and therefore overcomes the above mentioned objection under Article 84 EPC.
4. Furthermore, independent claims 1 and 5 of this request explicitly specify that:
- the query is retrieving data from a database as data source (see point 3.1 of the contested decision, first item),
- it is the rows of the result set from the database tables addressed in the query, which match the condition (see point 3.1 of the contested decision, fourth item),
- a single list of mapped row identifiers with unique numbers is generated from a plurality of database tables, from which list duplicates are deleted (see point 3.1 of the contested decision, fifth item and sixth item); hence it is clear that there is only one merged list used for determination of duplicates,
- the single remaining tuple is inserted into the result set (see point 3.1 of the contested decision, seventh item), thereby specifying the result.
5. The Board does not agree with the contested decision that an "intermediate table" needs to be specified in the independent claims (see point 3.1 of the contested decision, third item) because only the assignment of row identifiers with unique numbers is intermediate and needs to be specified, not the tables themselves (see [0026] of the description). The role of the row identifiers, however, is considered to be sufficiently specified in amended claims 1 and 5. The appellant, furthermore, is right in arguing that the list of row identifiers mapped with unique numbers can be regarded as a table and therefore sufficiently specifies this function.
6. Deletion of duplicates works for one or more attributes for each database table of a plurality of database tables according to claims 1 and 5. The objection raised in the contested decision (see point 3.1, second item) that there was a conflict with the alleged parallel processing of a plurality of database tables, no longer applies and, in addition, does not play a role with regard to clarity, but rather relates to the assessment of inventive step according to Article 56 EPC. The wording of the claim has to specify the subject-matter claimed and has to be clear in itself. The question whether alleged effects are achieved or not is not an issue of clarity.
7. Thus, the second auxiliary request overcomes the objections under Article 84 EPC raised in the decision under appeal.
The decision under appeal is solely based on these objection. It appears from the file that as a result the examining division could only assess inventive step of the claimed subject-matter on a general basis in a written communication, and that it has not been discussed during oral proceedings before the first instance, or addressed in the decision under appeal.
The appellant has submitted arguments regarding novelty and inventive step in the statement setting out the grounds of appeal, but failed to address the concrete arguments in the examining division's communications.
Furthermore, in view of the clarity problems the examining division did not consider the aspect of parallel processing as disclosed in paragraph [0028] of the description of the present application when assessing inventive step (see also point 8 above). In the Board's view aspects of parallel processing involve technical considerations and go beyond normal programming skills.
Therefore, no complete assessment of inventive step has taken place in the first instance proceedings, specifically the prior art mentioned in the Search Report has not been assessed.
8. Remittal
According to Article 111(1) EPC the Board may exercise any power within the competence of the examining division or remit the case to that department for further prosecution. It is thus at the Board's discretion whether it examines and decides the case or whether it remits the case to the department of first instance. Since the substantive patentability requirements have not been decided upon during the first instance proceedings and the purpose of appeal proceedings is to review the decision, in the Board's view it would not be appropriate to carry out a complete examination of novelty and inventive step for the first time in appeal proceedings. The Board therefore considers that in the present case remittal is the more appropriate course of action. The appellant agreed to a remittal in his reply dated 17 April 2019.
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 on the basis of the second auxiliary request for further prosecution.