|European Case Law Identifier:||ECLI:EP:BA:2018:T233013.20180509|
|Date of decision:||09 May 2018|
|Case number:||T 2330/13|
|IPC class:||G06F 17/50
|Language of proceedings:||EN|
|Download and more information:||
|Title of application:||Method and system for checking consistency and completeness of selection conditions in a product configuration system|
|Applicant name:||SAP SE|
|Relevant legal provisions:||
|Keywords:||Inventive step - mixture of technical and non-technical features
Claims - clarity after amendment (yes)
Amendments - added subject-matter (objections overcome)
Summary of Facts and Submissions
I. The appeal lies from the decision of the Examining Division to refuse European patent application No. 04022865.2 for lack of inventive step in the subject-matter of independent claim 1 of each of a main request and an auxiliary request. The Examining Division considered that, apart from the computer implementation, the subject-matter of those claims contributed only to the solution of the mathematical problem of checking rules. Since computers were well-known, the subject-matter was not inventive.
II. In the statement of grounds of appeal, the appellant requested that the decision be set aside and that a patent be granted on the basis of a main request or of one of two auxiliary requests, all three requests as filed with the grounds of appeal. As further auxiliary procedural requests, the appellant requested that the case be remitted to the department of first instance for further examination and that oral proceedings be held before the Board.
III. In a communication accompanying a summons to oral proceedings, the Board expressed the preliminary view that claim 1 of each of the requests infringed Articles 84 and 123(2) EPC for lack of clarity and added subject-matter, and that similar objections applied to the other claims.
However, the Board was of the view that some of the reasons given in the contested decision were no longer valid for amended claim 1 of each of the requests. At the oral proceedings the Board intended to discuss which features contributed to the technical character of the claimed subject-matter. If any remaining objections, especially under Articles 84 and 123(2) EPC, were overcome and if the Board were persuaded that such a significant part of the claimed features contributed to the technical character that a prior-art document was necessary for the inventive-step assessment, the Board might consider remitting the case to the department of first instance under Article 111(1) EPC for further prosecution.
IV. With a letter of reply the appellant filed new main and first and second auxiliary requests to replace the previous requests.
V. Oral proceedings were held on 8 November 2017. During the oral proceedings the appellant filed a new main request and new first and second auxiliary requests. At the end of the oral proceedings, the chairman closed the debate and informed the appellant that the decision would be given in writing.
VI. The appellant's final requests were that the decision under appeal be set aside and that a patent be granted on the basis of one of the main request or the first and second auxiliary requests submitted at the oral proceedings before the Board. As a further procedural request, the appellant requested that the case be remitted to the department of first instance for further prosecution.
VII. Claim 1 of the main request reads as follows:
"A computer implemented method for evaluation of selection conditions concerning variants of components in a configurable product during manufacturing of the configurable product, the selection conditions serving to prevent incompatible variants from being included in the configurable product, the method comprising:
receiving a plurality of selection conditions (S1, S2, S3) comprising logical operations defining permissible combinations of values of a finite set of characteristics of the product, wherein a variance space is defined by the set of all combinations of said values;
forming a bit matrix (300) containing information representing combinations of the values of the characteristics by encoding all possible combinations contained in the variance space into a matrix, wherein the bit matrix (300) comprises rows and columns, wherein for each value associated with a characteristic one of the rows is given, wherein for each combination of the values one of the columns is given;
splitting the bit matrix into a desired number of bit sub-matrices, wherein each bit sub-matrix corresponds to a variance subspace, the splitting comprising choosing a desired characteristic of the set of characteristics with a number of values that equals at least approximately the desired number of sub-matrices, and creating for every value of the desired characteristic a sub-matrix;
forming bit strings (s1, s2, s3) representing the selection conditions for all combinations in each variance subspace by applying the logical operations defined in the selection conditions to the bit sub-matrices, wherein the forming of the bit strings is performed by parallel processing, wherein each bit string representing the selection conditions has bits representing unique combinations of the values of the characteristics, wherein each of the permissible combinations of the values of the characteristics is expressed by a bit having the value logic "1" while all other bits in the bit strings representing the selection conditions have the value logic "0";
receiving a plurality of restriction conditions (R1, R2) comprising logical operations defining forbidden combinations of the values of the finite set of the characteristics of the product;
forming bit strings (r1, r2) representing restriction conditions for all combinations in each variance subspace by applying the logical operations defined in the restriction conditions to the bit sub-matrices, wherein the forming of the bit strings is performed by parallel processing, wherein each bit string representing the restriction conditions has bits representing unique combinations of the values of the characteristics, wherein each of the restriction conditions is expressed by a bit having the value logic "1" for each forbidden combination while all other bits in the bit string have the value logic "0";
determining inconsistent pairs of the selection conditions (S1, S2, S3) for each variance subspace by calculating inconsistency bit strings for pairs of the selection conditions (S1, S2, S3) and determining the inconsistent pairs of the selection conditions (S1, S2, S3) in a case when the inconsistency bit string of the pair of the selection conditions (S1, S2, S3) has at least one bit having a value logic "1", wherein the inconsistency bit string of the pair of the selection conditions (S1, S2, S3) is formed by combining the corresponding bit strings representing the pair of selection conditions and a united bit string representing restriction conditions using logical AND operation, wherein the united string representing restriction conditions is formed by combining all bit strings representing restriction conditions using logical OR operation with subsequent applying logical NOT operation, wherein the determining of the inconsistent pairs of the selection conditions is performed by parallel processing; and
outputting the inconsistent pairs of the selection conditions to a user."
Claim 2 of the main request defines the method of claim 1, further comprising:
"forming a bit string (n) for each bit sub-matrix, wherein each bit string (n) contains information representing combinations of values of the characteristics that are neither covered by the selection conditions nor subject to a restriction, wherein said bit string (n) is formed by applying logical NOT operations to a combination of the plurality [of] the bit strings (s1,s2,s3) representing the selection conditions and the plurality of the bit strings (r1,r2) representing the restriction conditions, wherein the combination is generated by combining the bit strings representing selection conditions and the bit strings representing the restriction conditions by use of logical OR operations, wherein the forming of the bit string for each bit sub-matrix is performed by parallel processing; and
outputting information representing combinations of values of the characteristics that are neither covered by the selection conditions nor subject to a restriction to the user."
Claim 3 of the main request is directed to a computer system for evaluation of selection conditions comprising a memory and a processor, the system being defined in terms of features corresponding to those of independent method claim 1. Claim 4 is dependent upon claim 3 and recites features corresponding to those of claim 2. Claim 5 is directed to a machine-readable medium storing computer-executable instructions, the instructions when executed performing a process according to any of claims 1 and 2.
Claim 1 of the first auxiliary request differs from that of the main request in that the term "product" is replaced by "car".
Claim 1 of the second auxiliary request differs from that of the first auxiliary request in that the following text was added after "creating for every value of the desired characteristic a sub-matrix,":
"wherein the characteristics in at least one bit sub-matrix are sorted by the greatest power of 2 that divides the number of the corresponding values".
VIII. The appellant's arguments where relevant to this 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.
2. The present application relates to a method for efficiently checking the consistency and completeness of selection conditions for components of a configurable product (see paragraph  of the A publication). It can be used, for instance, for the purpose of assembling an automobile model from a catalogue of parts according to a particular set of design specifications, in order to ensure that the combinations of parts are correct (paragraph ).
2.1 The invention can be implemented as part of software for product design and manufacture, and can be used in association with a product configuration system. According to the description, "configurable" means, among other things, that by entering specific values for characteristics of an end product, an end product tailored to, for example, particular customers or markets may be defined. The configuring process may generate a list of components referred to as an "order bill of materials" (order BOM) that describes everything needed to produce a given end product according to some specific customer or production order. The BOM may be configured from an overall structure of nodes and associated variants. The specific values for the characteristics could be entered, for example, via a graphical user interface (paragraph ).
2.2 In the overall structure of nodes used to configure the BOM, a node may represent a function in a product or an abstraction of concrete materials corresponding to a component. Variants are associated with a node and represent concrete realisations of the node's component. A top-level node may represent an end product, such as a compact car, and have high-level variants such as a model "A" and a model "B" of the compact car. As the node structure is traversed from high-level to low-level nodes, the nodes represent components of the end product at progressively finer levels of granularity. For example, a node could represent a specific engine component, and associated variants could represent three different possible concrete realisations of that specific engine component (Figure 1, paragraphs  to ).
Further, there may be selection conditions associated with variants, which are user-defined criteria for determining whether or not to allow a given variant to be included in an order BOM (paragraph ).
2.3 In the method according to the invention, selection conditions are provided as logical expressions using characteristics and values and indicate whether or not to allow a given variant of a component. For example, if horse power (HP) and car colour are two characteristics, a selection condition S1 could be formulated as "HP = 100 and colour = red" and associated with a variant C1. That means that variant C1 is allowed to be included in the BOM if the corresponding selection condition S1 evaluates to "TRUE" for the specific values assigned to the characteristics, i.e. if the horse power was chosen to be 100 and the car colour red (paragraph , Figure 2). When the selection conditions guarantee that at most one variant is selected for a component, they are said to be "consistent". If they help to guarantee that there is at least one variant selected for a component, they are "complete" (paragraph ). Additionally, restrictions can be defined, for example R1: "if HP = 100 then color != blue" (paragraph , Figure 2). Such a restriction has the consequence that a particular combination is forbidden even if a selection condition includes it. Restrictions define a forbidden space and are taken into account when determining consistency and completeness (paragraph ).
The method of the invention forms a variance space bit matrix corresponding to all combinations of values of characteristics of the product (paragraphs  and , Figure 3). It then applies the selection and restriction conditions to the bit matrix to form bit strings or vectors representing the selection and restrictions conditions, respectively (paragraphs  to ). That is illustrated in the table below, which corresponds to the table of Figure 5 with an additional column on the right for comments. The table shows bit strings corresponding to the example of Figures 2 to 4: s1 to s3 for selection conditions S1 to S3 (see right column), r1 and r2 for the restrictions, and bit string f representing "forbidden" combinations of characteristics.
Cond |100red |150red |100blu |150blu |100gre |150gre |Comments |
s1 |1 |0 |0 |0 |0 |0 |HP=100 and col=red |
s2 |0 |1 |1 |1 |0 |1 |HP=150 or col=blue |
s3 |0 |0 |0 |0 |0 |1 |HP=150 and col=green|
r1 |0 |0 |1 |0 |0 |0 |HP=100 => col != blue|
r2 |0 |1 |0 |0 |0 |0 |HP=150 => col != red|
f |0 |1 |1 |0 |0 |0 |r1 or r2 |
n |0 |0 |0 |0 |1 |0 |not(s1 or s2 or s3 or f)|
i23 |0 |0 |0 |0 |0 |1 |s2 and s3 and not f |
Logical operations are then performed on those bit strings to determine whether the corresponding selection conditions are consistent (e.g. bit string i23) and complete (bit string n representing "free space"). In the example shown in the table, bit string i23 indicates an inconsistency between selection conditions S2 and S3 because both permit HP=150 and colour=green (paragraph ). A value of "1" in bit string n shows that the selection conditions are incomplete because there is no condition which tests for the possible combination HP=100 and colour=green, and the combination is not subject to a restriction (paragraph ).
The results can be shown to a user in the form of, among other things, a list of inconsistent selection conditions (paragraph ).
2.4 According to the description, the method is significantly faster than prior-art methods because it uses bit operations to evaluate the selection conditions (paragraph ).
Paragraph  describes an embodiment in which the variance space bit matrix is split into sub-matrices which can be processed "in parallel to save time, or serially to save memory".
3. Article 84 EPC - clarity and support by the description
3.1 In its communication, the Board expressed the opinion that the step of splitting the bit matrix was not clearly defined in claim 1. That objection was overcome by amendment, in that the feature now specifies that the bit matrix is split by choosing a desired characteristic and creating a sub-matrix for every value of the desired characteristic.
3.2 At the oral proceedings, the Board raised further objections under Article 84 EPC with regard to previous claim 1. In addition to pointing out minor deficiencies, the Board found that the bit-matrix feature was broader than justified by the description and that the definitions of the bit strings representing selection and restriction conditions had to be corrected.
Those objections were overcome by amendment. The claim specifies that the bit matrix "containing information representing combinations of values of the characteristics" is formed "by encoding all possible combinations contained in the variance space into a matrix", meaning that the bit matrix encodes all the elements of the Cartesian product of the sets of values of each of the characteristics (see paragraph , point 2). Compared to the previous claim, the definition of the bit matrix in present claim 1 also includes a description of the rows and columns in accordance with original page 10, lines 6 to 13, and Figure 3. The definition of the bit strings representing selection conditions was improved by specifying that each of the permissible combinations of the values of the characteristics, i.e. the combinations included in (and thus allowed by) the respective selection condition independently of whether they are forbidden by restrictions, is expressed by a bit having a value logic "1", while all other bits have the value logic "0". Similarly, the definition of the bit strings representing restriction conditions was amended to specify that each of the restriction conditions is expressed by a bit having the value logic "1" for each forbidden combination, while all other bits have the value logic "0".
3.3 The other claims were amended accordingly, and no further clarity objections were raised.
3.4 Finally, it is clear from claim 1 that the selection conditions prevent incompatible variants from being included in the configurable product only at a higher conceptual level.
3.5 The Board is therefore satisfied that the claims of the main request overcome all the objections raised under Article 84 EPC.
4. Article 123(2) EPC - no added subject-matter
4.1 Claim 1 essentially combines features of the method for evaluation of selection conditions according to original claims 1, 2 and 4 to 10 with the parallel-processing features of page 14, lines 10 to 15, of the description as originally filed, further defining the method features on the basis of passages of the description, as explained in the following.
4.1.1 The selection conditions serving to prevent incompatible variants are disclosed on page 7, lines 21 to 30.
4.1.2 The steps of receiving selection and restriction conditions and the definition of the variance space find support in claims 1 and 2 and on page 8, line 9, to page 9, line 2, as originally filed.
4.1.3 The bit matrix and the step of forming it are disclosed in original claims 1, 4 and 5. From page 10, lines 6 to 13, in combination with Figure 3, it is clear that the bit matrix, which is also named "'variance space' bit matrix" or "variance space matrix" in the description (see page 9, lines 25 to 27), has one row for each value associated with a characteristic and one column for each combination of values, as specified in present claim 1.
The step of splitting the bit matrix is described on page 14, lines 10 to 15.
4.1.4 The steps of forming bit strings representing selection and restriction conditions are based on original claims 1, 2, 4 and 6 to 9 or the passage on page 9, line 25, to page 11, line 2, and Figures 4 and 5. The claim further specifies that the bit strings represent selection/restriction conditions in each variance subspace and that forming of the bit strings is performed by parallel processing and by applying logical operations to the sub-matrices. Page 14, lines 10 to 18, of the original application discloses that the variance space bit matrix can be split into a plurality of sub-matrices that can be "processed in parallel to save time". It is clear that each of the sub-matrices corresponds to a variance subspace. From this passage the skilled person also understands that since the bit matrix is divided into sub-matrices the parallel performance of the method is based on applying logical operations to the bit sub-matrices, resulting in bit strings for each variance subspace. The steps of forming the bit strings as specified in claim 1 can therefore be directly and unambiguously derived from the application as originally filed.
4.1.5 The step of determining inconsistent pairs of selection conditions is supported by claims 1, 9 and 10, as well as by page 11, lines 7 to 16, page 12, lines 20 to 26, and Figure 5 of the application as originally filed, as explained in the following.
Original claim 1 relates to the determination of inconsistency and completeness between two selection conditions in a step of "performing logical operations on the bit strings to determine whether the selection conditions permit at least one and at most one ... variant ...", which is further defined in original claims 9 and 10.
Present claim 1 defines the inconsistency bit string of the pair of selection conditions, e.g. ikl, as being
- "formed by combining the corresponding bit strings representing the pair of selection conditions and a united bit string representing restriction conditions using logical AND operation", i.e.
ikl = sl AND sk AND ru (where ru is the united bit string representing the restrictions),
- "wherein the united string representing restriction conditions is formed by combining all bit strings representing restriction conditions using logical OR operation with subsequent applying logical NOT operation", i.e.
ru = NOT (r1 OR ... OR rn).
That definition of the inconsistency bit string corresponds to that of the above-cited passages of pages 11 and 12 and of Figure 5:
iij = si AND sj AND NOT f, where f = r1 OR ... OR rm.
The united bit string of the claim corresponds to the negation of the "forbidden bit string" f, i.e. ru = NOT f.
With regard to parallel performance, the Board is of the opinion that in the light of the description on page 14, lines 10 to 18, the skilled person understands from the original application that parallel processing includes the determination in parallel of inconsistent pairs for each variance subspace as defined in claim 1.
4.1.6 The step of outputting the result is disclosed in original claim 1 and on page 12, lines 28 to 32.
4.1.7 In its communication, the Board expressed the view that there seemed to be no basis in the application as originally filed for the features specifying the step of splitting the bit matrix and for some combinations of features concerning parallel processing. The first objection was overcome by amendment, in that the step of splitting the bit matrix is now defined as on page 14, lines 10 to 15. The second objection was in part also overcome by amendment and is no longer maintained. The references to parallel processing "for at least two variance subspaces" or "for each variance subspace" have been deleted. For the reasons given above, the Board finds that the remaining combinations of features concerning parallel processing are directly and unambiguously derivable from the application as originally filed.
4.2 The features of claim 2 are described in the application as originally filed in claim 3, on page 11, lines 7 to 14, on page 12, lines 7 to 18, and in Figure 5, in combination with the disclosure of parallel processing on page 14, lines 10 to 18.
4.3 The reasoning given above for claim 1 also applies to independent claims 3 and 5 directed to a computer system and a machine-readable medium corresponding to claim 1. The reasoning given for claim 2 equally applies to dependent claim 4, which recites features corresponding to those of claim 2.
4.4 The Board therefore concludes that the main request overcomes all the objections raised under Article 123(2) EPC and decides, for the reasons given above for all the features of the main request, with the exception of the feature "during manufacturing", that those features meet the requirements of Article 123(2) EPC.
With regard to the feature "during manufacturing", the Board notes that the exact expression does not seem to have been used in the original description. Since the issue was not discussed in appeal, the Board leaves open whether that phrase should be permitted. It is however confident that, if necessary, an alternative allowable wording can be found in the original application. In particular, it can be directly and unambiguously derived from the original application that the invention can be used for products to be manufactured and that the evaluation of selection conditions is used as part of software for product design and manufacture (see e.g. page 2, lines 1 to 5, page 3, lines 15 to 17, and page 5, lines 12 and 13).
5. Article 56 EPC - inventive step
5.1 In the decision under appeal the Examining Division denied inventive step without referring to any particular piece of prior art. It considered that, apart from the computer implementation, the features of claim 1 of the then pending requests contributed only to the solution of the mathematical problem of rule checking, and were therefore not relevant for assessing inventive step. Since computers were well-known, the claimed invention was obvious.
5.2 The claimed invention unquestionably contains elements of a mathematical/logical nature. In particular, claim 1 of the amended main request inter alia specifies that the received selection and restriction conditions comprise defined logical operations which are applied to bit sub-matrices in order to form bit strings and that bit strings are combined using logical AND, OR and NOT operations.
5.3 According to established case law, it is legitimate to have a mix of technical and non-technical features (i.e. features relating to non-inventions within the meaning of Article 52(2) EPC) in a claim, even if the non-technical features form a dominating part (T 641/00, OJ EPO 2003, 352, reasons 4). Inventive step in so-called mixed-type inventions is to be assessed by taking account of all those elements of the claimed subject-matter which contribute to its technical character (see T 641/00, supra, reasons 6 and 7). Features which would, taken in isolation, belong to the matters excluded from patentability under Article 52(2) EPC may nonetheless contribute to the technical character of the claimed invention (G 3/08, OJ EPO 2011, 10, reasons 12.2.2). However, purely non-technical elements which do not interact with the technical subject-matter of the claim for solving a technical problem are ignored (see T 154/04, OJ EPO 2008, 46, reasons 5(F)).
5.4 The appellant relied on decision T 208/84 (OJ EPO 1987, 14), which considered the scope of the exclusion of mathematical methods from patentability. That decision dealt with the problem of whether a method of digitally filtering a two-dimensional data array (representing a stored image) was a mathematical method as such. It ruled that "if a mathematical method is used in a technical process, that process is carried out on a physical entity (which may be a material object but equally an image stored as an electric signal) by some technical means implementing the method and provides as its result a certain change in that entity", and therefore "even if the idea underlying an invention may be considered to reside 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" (reasons 5 and 6). This is in line with more recent case law cited in Case Law of the Boards of Appeal, 8th edition 2016, I.A.2.2.2 and I.D.9.1.8. Decision T 208/84 further held that a claim directed to a technical process carried out under the control of a program could not be regarded as relating to a computer program as such. This conclusion was confirmed by decision T 935/97 of 4 February 1999 (reasons 7.4), to which the appellant also referred.
5.5 It thus has to be determined whether and to what extent the features of claim 1 of the main request - which defines a computer-implemented method for evaluation of selection conditions for consistency - provide a technical contribution. Two main lines of argument may be distinguished here, namely (i) that the task performed by the method and its overall purpose are of a technical nature, and (ii) that the features of the claimed invention specifically take the functioning of a computer into account and result in technical effects such as improved processing speed.
5.6 (i) First line of argument: technical task of claimed method
5.6.1 In the first-instance proceedings (see letter of 17 May 2013, page 2), the appellant maintained that the task performed by the claimed method, namely the evaluation of whether the selection conditions were consistent, was of a technical nature. This task consisted in checking the selection conditions for components of a configurable and possibly highly complex product of manufacture such as a car or a computer. Such products - as well as the component variants which were to be included into them according to the selection conditions - were physical tangible entities and hence clearly technical. The identification of inconsistent selection conditions by means of the claimed method prevented incompatible variants from being included into the configurable product. According to the description, the method could be implemented as part of software for product design and manufacture and used in association with a product configuration system. Variant configuration and variant management were terms of art used with respect to the configuration of complex technical products (see letter of 26 February 2010, page 6, third full paragraph).
In the appeal proceedings the appellant no longer placed much emphasis on this line of argument. It nevertheless maintained that the bit matrices were a representation of real-world industrially manufacturable products (see grounds of appeal, page 10, second full paragraph).
5.6.2 The Examining Division did not follow the appellant's arguments. In its view, the meaning of the term "configurable product" was abstract and not sufficiently concrete to be technical, since it did not allow the skilled person to determine its features and properties. Furthermore, claim 1 of the then main request did not exclude the possibility that the term might also cover non-technical products such as insurance policies, pension schemes and intellectual products. The selection conditions were not technical, as they amounted to subjective business or marketing decisions such as selling a car with a particular engine only in a predefined colour.
5.6.3 The Board is of the opinion that the task which the claimed method performs is indeed non-technical. It accepts that the wording of claim 1 of the amended main request now implies that the term "configurable product" relates to a product of manufacture, i.e. no longer to non-tangible products such as insurance policies. Likewise, the variants of components to which the selection conditions apply have to be regarded as physical and technical entities, as illustrated by the example of specific engine components (see paragraph  of the A publication). The claimed method is, however, not performed on these products and their components themselves. It is concerned with the checking of selection conditions for the component variants, in particular in the context of a product configuration system.
5.6.4 The configuring of a product to be manufactured later can be understood as a special case of design activity, where the product being configured is assembled from a fixed set of well-defined component types. One of its results is the generation of a list of components referred to as an order bill of materials (see paragraph  of the A publication). Such a list essentially embodies cognitive information about technical items, which is created in the planning phase prior to the actual manufacturing of the configured product.
5.6.5 The Board accepts that technical considerations may play an important role in the formulation of selection conditions in the context of a product configuration system. The developer of such a system may for example wish to ensure that a specific component variant is included in a configured product if that is necessary for technical reasons. In this sense selection conditions may aim at preventing technically incompatible components from being included.
5.6.6 However, when assessing the technical contribution of claim features, the involvement of technical considerations is not always conclusive. Reference is made to decision G 3/08, supra, where the Enlarged Board of Appeal stated the following (see reasons 13.3): "Designing a bicycle clearly involves technical considerations [...] but it is a process which at least initially can take place in the designer's mind, i.e. it can be a mental act and to the extent that it is a mental act would be excluded from patentability ...".
5.6.7 It is furthermore observed that the task performed by the claimed method is neither formulating the selection conditions nor verifying whether a selection condition is technically correct or not. In particular, the method does not check whether the selected component variant (e.g. a specific engine part that has been designed for a small engine) is technically compatible with the selection condition (e.g. horsepower = 200). It merely checks whether the selection conditions are inconsistent, i.e. whether they guarantee that at most one variant is selected for a component. The method thereby ensures that the order bill of materials generated for an ordered and configured product does not include two variants of the same component. The method only in this limited sense prevents incompatible variants from being included in the configured product. Consequently, the Board is not convinced that technical considerations are required in that respect.
5.6.8 It can be concluded from the above that the task performed by the claimed method, namely verification of the consistency of the selection conditions, i.e. a system of rules, is not of a technical, but of a logical nature. Thus, it does not contribute to the technical character of the invention. This conclusion is in line with decision T 42/09 of 10 March 2014, in which the present Board, in a different composition, dealt with the technical contribution of a particular product data-model and considered that the claimed invention was essentially aimed at solving non-technical administrative problems such as checking product configurations for consistency (see reasons 2.3).
5.7 (ii) Second line of argument: technical effect with respect to the functioning of a computer
5.7.1 In the appeal proceedings the appellant focused heavily on the second line of argument mentioned above, arguing that all the features of the claimed invention contributed to the technical character of the invention, since they specifically took the functioning of the computer into account. The combinations of values of product characteristics and the selection and restriction conditions were represented by specific bit matrices and bit strings, which were processed in a specific manner in order to arrive at the desired result.
Reference was made to the following passages of paragraph  of the A publication:
"[...] because embodiments of the invention use bit operations, execution may be significantly faster than prior art methods. For example, in constructing the variance space matrix, bit operations like multiplying or shifting of bit strings may be used. Such operations can take advantage of machine architecture for enhanced speed of execution. Moreover, the formation of bit strings [...] may be done very quickly, because all the combinations in the variance space matrix may be processed substantially simultaneously using bit string operations."
5.7.2 In the grounds of appeal, the appellant illustrated the invention's functioning by giving a concrete example with a variance space defined by two characteristics (HP (horse power) with two values and Colour with three values), three selection conditions and two restrictions. The variance space bit matrix expanded with the bit strings had a total of 78 binary cells, since it had 6 columns (corresponding to all combinations of 2 values of HP and 3 values of Colour) and 13 rows (one for each of the 5 characteristic values, 5 for the selection- and restriction-condition bit strings, and 3 for the inconsistency bit strings for the three pairs of selection conditions). If the variance space bit matrix was split into two sub-matrices, one for each value of HP, at the end each expanded sub-matrix would have only 33 binary cells with 3 columns and 11 rows. The data in sub-matrices could be processed separately in parallel, which was more efficient. Therefore the splitting of the bit matrix had the technical effects of reducing the storage volume (in the particular example, the overall number of cells was reduced from 78 to 66) and reducing the overall time needed for processing data. Data splitting could be performed in a way that fitted the computer system architecture, for example so as to improve load balancing. Since the features of claim 1 interacted in order to facilitate parallel processing, they all contributed to the technical character of the invention.
5.7.3 The Examining Division did not find the second line of argument convincing with respect to the then pending requests (which did not contain features which specifically related to parallel processing). It considered that the matrices, bit strings and logical operations were mathematical constructs from the field of Boolean algebra which did not contribute to the technical character of the invention. It conceded that some computer architectures might be suitable for more efficient execution of mathematical constructs such as those of the invention. Nonetheless, the then claimed subject-matter was not restricted to such an architecture. Since bit strings and matrices were known long before programmable computers were invented, the mathematical notations did not imply a specific computer architecture.
5.7.4 The Board is not fully persuaded by the above reasoning for refusing the requests pending before the Examining Division. However, this point need not be decided, since the appellant amended its requests in a way which, as set out below, overcomes the objections raised in the contested decision.
5.7.5 While information modelling is an intellectual activity and should be treated like any other human activity in a non-technical field, its purposive use in the context of a solution to a technical problem may contribute to the technical character of an invention (see e.g. T 49/99 of 5 March 2002, reasons 7 and T 42/09 of 10 March 2014, reasons 2.4). The case law distinguishes non-technical algorithmic choices based e.g. on mathematical constructs from technical options. According to decision T 1784/06 of 21 September 2012 (reasons 3.1.2), enhanced speed of an algorithm, as compared to other algorithms, is not sufficient to establish a technical character of the algorithm. The deciding board in that case considered that the claimed algorithm did not contribute to the technical character of the classification method. It might allow a data record to be processed in a parallel computer architecture, but the claim was not limited to an implementation on a parallel hardware structure, and the application as a whole was silent on parallel data processing. Decision T 42/10 of 28 February 2013 ruled: "In its full generality, speed of computation is a mathematical problem" (see reasons 2.11). However, in accordance with established case law, computational efficiency achieved by features resulting from technical considerations, e.g. about the internal functioning of a computer, is in principle a technical effect (see T 42/10, supra, reasons 2.11; T 1965/11 of 24 March 2017, reasons 5.1)
5.7.6 Several decisions have affirmed the technical character of particular data structures, such as functional data defined in terms which inherently comprise the technical features of the system (see e.g. T 1194/97, OJ EPO 2000, 525, reasons 3.3), data intended for controlling a technical device such as an index structure directing the computer to the memory location of the data to be retrieved (see e.g. T 1351/04 of 18 April 2007, reasons 7.2), or a functional data structure for facilitating the exchange of data among various application programs independently of any cognitive content (T 424/03 of 23 February 2006, reasons 5.2).
5.7.7 Binary or bit maps have also sometimes been considered technical, see e.g. T 969/12 of 21 June 2017 (reasons 2.1.3 and 2.1.7). Decision T 1954/08 of 6 March 2013 appears to have treated a claim feature defining the use of a binary map of flags in a computer-implemented method as an (obvious) technical implementation of a non-technical algorithm.
5.7.8 Claim 1 of the present main request does not simply describe the computer-implemented method in non-technical terms of the area of product configuration, e.g. in terms of rules. It is true that the claim uses mathematical terms, such as "matrix", and that the claimed method relies on "bit strings" and "bit matrices" which correspond respectively to the mathematical constructs "Boolean vectors" and "Boolean matrices". It nevertheless specifies that the combinations of values of product characteristics and the selection and restriction conditions are represented by specific bit matrices and bit strings, which are processed in a specific manner in order to arrive at the desired result (even if the claim does not define all the details of the necessary operations).
5.7.9 In particular, the specific choice of the claimed bit strings and matrices and respective operations is determined by technical considerations concerning how to efficiently perform the method steps in parallel. In this context, reference may be made to decision T 1321/11 of 4 August 2016 (reasons 5.3.5), in which it was concluded that two distinguishing features concerned the parallel, rather than serial, organisation of two processes and, in doing so, made use of the parallel processing capabilities of a media player. As a consequence, the two features were considered to contribute to the technical character of the claimed invention.
5.7.10 Regarding the present case, the Board recognises that performing the method in parallel usually results in more efficient evaluation of the selection conditions. The "desired number of bit sub-matrices" can be tuned, within the constraints of a particular data set, so that the desired degree of parallelism is achieved. Unlike the case of T 1784/06 (supra), both the present claims and the originally filed description (see page 14, lines 10 to 12) describe parallel processing.
The Board therefore considers that, as in decision T 1321/11 (supra), the features supporting parallel processing contribute to the technical character of the claim. In the present case, a more concrete parallel hardware architecture does not have to be claimed, since it is credible that efficiency gains can be achieved for different technical means used to perform the sub-tasks in parallel.
5.8 In summary, even though the task performed by claim 1 is of a non-technical nature (see point 5.6 above), the specific claimed bit (sub-)matrices, bit strings and steps of the method, especially those of splitting the bit matrix, forming bit strings representing the selection and restriction conditions and determining inconsistent pairs of selection conditions when performed by parallel processing, do contribute to the technical character of the invention and should be taken into account when assessing inventive step. Similar conclusions apply to the other claims of the main request.
6. The claims of the main request need some minor corrections (see e.g. section VII, "combination of the plurality [of] bit strings" in claim 2 of the main request, and point 4.4 above) but are clear and overcome the objections raised thus far under Article 123(2) EPC.
7. In the Board's view, the features of claim 1 of the main request contributing to the technical character of the claimed subject-matter which were listed above are not notorious. Furthermore, it follows from the technical-character assessment above that the claimed method cannot be seen as corresponding to an obvious "human approach", as argued in decision T 1954/08. Unlike the binary map in that case, the bit (sub-)matrices and bit strings of the present invention are not merely used to store "flagged information", but instead play an important role in the processing steps which are specifically adapted to use those data structures for the efficient parallel evaluation of selection conditions in a computer.
As a consequence, inventive step cannot be assessed without knowledge of prior art relevant to those features (see e.g. decision T 426/09 of 9 September 2014, reasons 5) going beyond a notorious general-purpose computer. The Board assumes that such prior art, e.g. that cited in the search report, exists. Since the decision under appeal did not discuss any such prior art, and the Board considers it inappropriate in the present case to re-assess the application along a completely new line of reasoning, the case is to be remitted to the department of first instance for re-examination of inventive step on the basis of relevant prior art.
8. For the sake of completeness, the Board notes that the results of the assessment of the main request apply equally to the auxiliary requests.
The features contributing to the technical character of the main request are also recited in the auxiliary requests. The preliminary objections under Article 84 EPC raised by the Board against the auxiliary requests were the same as for the main request. Those objections were also overcome because the auxiliary requests were amended in the same manner as the main request.
The additional feature of the first auxiliary request is disclosed on page 5, lines 28 to 30, of the description as originally filed, in compliance with Article 123(2) EPC.
The additional feature of the second auxiliary request, regarding sorting by the greatest power of 2, is based on the paragraph starting on page 13, line 30. Since that and the following paragraphs refer to "the embodiments" when describing sorting by the greatest power of 2 and processing in parallel, the skilled person understands those paragraphs as also disclosing the combination of features relating to both sorting and parallel processing. For that reason, the Board is persuaded that the additional feature of claim 1 of the second auxiliary request can be directly and unambiguously derived from the application as originally filed.
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.