T 1749/22 (Another map value/GLOBAL LIFE) 05-08-2024
Download and more information:
Methods and apparatus to implement flexible bioreactor control systems
Added subject-matter - main request (yes)
Admittance of claim requests filed on appeal - auxiliary requests H1a, 1-H1 to 9-H1, 1-H1a to 9-H1a (no): not suitable to address the relevant issues
Admittance of "carry-over requests" - auxiliary requests 1 to 9 (no): not "admissibly raised" (unjustified divergence) in opposition proceedings + not suitable to address the relevant issues
I. Both parties filed an appeal against the opposition division's interlocutory decision to maintain the opposed patent in amended form on the basis of "auxiliary request H1".
II. Oral proceedings were held before the board on 5 August 2024, during which the proprietor withdrew its appeal.
- The opponent (appellant) requested that the decision under appeal be set aside and that the patent be revoked.
- The patent proprietor (respondent) requested that the appeal be dismissed, i.e. that the patent be maintained as found allowable by the opposition division (main request), or, in the alternative, that the patent be maintained on the basis of the claims of one of twenty-eight auxiliary requests, in the following order of preference:
- auxiliary request H1a filed on 14 February 2023
- auxiliary request 1 filed on 2 June 2021
- auxiliary request 1-H1 filed on 14 February 2023
- auxiliary request 1-H1a filed on 14 February 2023
- auxiliary request 2 filed on 14 April 2022
- auxiliary request 2-H1 filed on 14 February 2023
- auxiliary request 2-H1a filed on 14 February 2023
- auxiliary request 3 filed on 2 June 2021
- auxiliary request 3-H1 filed on 14 February 2023
- auxiliary request 3-H1a filed on 14 February 2023
- auxiliary request 4 filed on 2 June 2021
- auxiliary request 4-H1 filed on 14 February 2023
- auxiliary request 4-H1a filed on 14 February 2023
- auxiliary request 5 filed on 2 June 2021
- auxiliary request 5-H1 filed on 14 February 2023
- auxiliary request 5-H1a filed on 14 February 2023
- auxiliary request 6 filed on 2 June 2021
- auxiliary request 6-H1 filed on 14 February 2023
- auxiliary request 6-H1a filed on 14 February 2023
- auxiliary request 7 filed on 2 June 2021
- auxiliary request 7-H1 filed on 14 February 2023
- auxiliary request 7-H1a filed on 14 February 2023
- auxiliary request 8 filed on 2 June 2021
- auxiliary request 8-H1 filed on 14 February 2023
- auxiliary request 8-H1a filed on 14 February 2023
- auxiliary request 9 filed on 2 June 2021
- auxiliary request 9-H1 filed on 14 February 2023
- auxiliary request 9-H1a filed on 14 February 2023
At the end of the oral proceedings, the board's decision was announced.
III. Claim 6 of the main request (labelled as "auxiliary request H1" when filed, and maintained by the opposition division) reads as follows:
"A method to control execution of a process task within a configuration of a bioreactor control system (104), the method comprising:
determining whether a map value (308,312) included in a process task object (300) is a valid map value, the process task object corresponding to a task executed by a process control device within the bioreactor control system, and the map value identifying a source location for an input value (310,314) of the process task object;
responsive to determining the map value is not a valid map value, determining if the process task object includes another map value;
responsive to determining the map value is a valid map value:
a) pulling a value from the source location to
update the input value of the process task
object; and
b) facilitating execution of the process with the
input value, wherein a value puller (210)
retrieves the process task object from a
processes database (220), parses the retrieved
process task object to find a map value, decodes
the map value to identify the source location
for the corresponding input value, pulls the
value from the source location and updates the
process task object with the pulled value;
wherein if the process task object is determined to include another map value, the method further comprises:
determining if the another map value is valid; and
responsive to determining that the another map value is valid, performing steps a) and b) with the another map value."
Claim 6 of auxiliary request H1a differs from claim 6 of the main request as follows (additions underlined, deletions [deleted: struck through]):
"[...]
responsive to determining the map value is a valid map value:
a) pulling a value from the source location to
update the input value of the process task
object; [deleted: and]
b) facilitating execution of the process with the
input value, wherein a value puller (210)
retrieves the process task object from a
processes database (220), parses the retrieved
process task object to find a map value, decodes
the map value to identify the source location
for the corresponding input value, pulls the
value from the source location and updates the
process task object with the pulled value; and
c) determining whether the process task object
includes another map value;
wherein if the process task object is determined to include another map value, the method further comprises:
determining if the another map value is valid; and
responsive to determining that the another map value is valid, performing steps a), [deleted: and] b) and c) with the another map value."
Claim 6 of auxiliary request 1 differs from claim 6 of the main request as follows (additions underlined, deletions [deleted: struck through]):
"[...]
responsive to determining the map value is not a valid map value, determining if the process task object includes another map value;
responsive to determining the process task object includes another map value which is not valid: receiving an input value entered by a user or retrieving, by a process task object retriever (502), another process task object from an example processes database (220);
responsive to determining the map value is a valid map value,[deleted: : a)] pulling a value from the source location to update the input value of the process task object; and [deleted: b)] facilitating execution of the process with the input value, wherein a value puller (210) retrieves the process task object from a processes database (220), parses the retrieved process task object to find a map value, decodes the map value to identify the source location for the corresponding input value, pulls the value from the source location and updates the process task object with the pulled value[deleted: ;]
[deleted: wherein if the process task object is determined to include another map value, the method further comprises:]
[deleted: determining if the another map value is valid; and]
[deleted: responsive to determining that the another map value is valid, performing steps a) and b) with the another map value]."
Claim 5 of auxiliary request 2 differs from claim 6 of auxiliary request 1 as follows (additions underlined, deletions [deleted: struck through]):
"[...]
responsive to determining the map value is not a valid map value, determining if the process task object includes another map value which identifies an output of another process control device (112);
[deleted: responsive to determining the process task object includes another map value which is not valid: receiving an input value entered by a user or retrieving, by a process task object retriever (502), another process task object from an example processes database (220);]
responsive to determining the map value is a valid map [...]"
Claim 5 of auxiliary request 3 differs from claim 5 of auxiliary request 2 as follows (additions underlined, deletions [deleted: struck through]):
"[...]
responsive to determining the map value is not a valid map value, determining if the process task object includes another map value [deleted: which identifies an output of another process control device (112)];
responsive to determining the map value is a valid map, pulling a value from the source location to update the input value of the process task object; and facilitating execution of the process with the input value, wherein a value puller (210) retrieves the process task object from a processes database (220), parses the retrieved process task object to find a map value, decodes the map value to identify the source location for the corresponding input value wherein decoding the map value comprises determining a device type and a device number of a process control device in the bioreactor control system, pulls the value from the source location and updates the process task object with the pulled value."
Claim 5 of auxiliary request 4 differs from claim 5 of auxiliary request 3 as follows (additions underlined, deletions [deleted: struck through]):
"A method to control execution of a process task within a configuration of a bioreactor control system (104), the method comprising:
determining whether a map value (308,312) included in a first process task object (300) is a valid map value, the first process task object corresponding to a task executed by a process control device within the bioreactor control system, and the map value identifying a source location for an input value (310,314) of the first process task object;
responsive to determining the map value is not a valid map value, determining if the first process task object includes another map value which identifies an output of a second process task object or a table entry; responsive to determining the map value is a valid map value, pulling a value from the source location to update the input value of the first process task object; and
facilitating execution of the process with the input value, wherein a value puller (210) retrieves the first process task object from a processes database (220), parses the retrieved first process task object to find a map value, decodes the map value to identify the source location for the corresponding input value [deleted: wherein decoding the map value comprises determining a device type and a device number of a process control device in the bioreactor control system], pulls the value from the source location and updates the first process task object with the pulled value."
Claim 5 of auxiliary request 5 differs from claim 5 of auxiliary request 4 as follows (deletions [deleted: struck through]):
"[...]
responsive to determining the map value is not a valid map value, determining if the first process task object includes another map value which identifies an output of a second process task object[deleted: or a table entry]; [...]"
Claim 5 of auxiliary request 6 differs from claim 5 of auxiliary request 5 as follows (additions underlined, deletions [deleted: struck through]):
"A method to control execution of a process task within a configuration of a bioreactor control system (104), the method comprising:
determining whether a map value (308,312) included in a [deleted: first] process task object (300) is a valid map value, the [deleted: first] process task object corresponding to a task executed by a process control device within the bioreactor control system, and the map value identifying a source location for an input value (310,314) of the [deleted: first] process task object;
responsive to determining the map value is not a valid map value, determining if the [deleted: first] process task object includes another map value [deleted: which identifies an output of a second process task object];
responsive to determining the map value is a valid map value, pulling a value from the source location to update the input value of the [deleted: first] process task object; and
facilitating execution of the process with the input value, wherein facilitating execution of the process task comprises transforming the input value into an output value,
wherein a value puller (210) retrieves the [deleted: first] process task object from a processes database (220), parses the retrieved [deleted: first] process task object to find a map value, decodes the map value to identify the source location for the corresponding input value, pulls the value from the source location and updates the [deleted: first] process task object with the pulled value."
Claim 5 of auxiliary request 7 differs from claim 5 of auxiliary request 6 as follows (additions underlined):
"[...]
facilitating execution of the process with the input value, wherein facilitating execution of the process task comprises transforming the input value into an output value using an adder, a multiplier, or a comparator,
[...]"
Claim 6 of auxiliary request 8 differs from claim 5 of auxiliary request 7 as follows (additions underlined, deletions [deleted: struck through]):
"[...]
facilitating execution of the process with the input value[deleted: , wherein facilitating execution of the process task comprises transforming the input value into an output value using an adder, a multiplier, or a comparator,];
updating, by a hardware abstractor (208), a value for the process task object if the process task object is in an active state as determined by a transformer status identifier (306) of the process task object; and skipping updating the value when the transformer status identifier indicates the process task object is in an inactive state,
[...]"
Claim 6 of auxiliary request 9 differs from claim 6 of auxiliary request 8 as follows (additions underlined, deletions [deleted: struck through]):
"[...]
facilitating execution of the process with the input value; and
[deleted: updating, by a hardware abstractor (208), a value for the process task object if the process task object is in an active state as determined by a transformer status identifier (306) of the process task object; and skipping updating the value when the transformer status identifier indicates the process task object is in an inactive state,]
comparing, by a comparator, the input value with another pulled input value of the process task object and outputting a value based on the comparison,
[...]"
Claim 6 of auxiliary requests 1-H1, 8-H1, and 9-H1, and claim 5 of auxiliary requests 2-H1, 3-H1, 4-H1, 5-H1, 6-H1, and 7-H1 differ, respectively, from claim 6 of auxiliary requests 1, 8 and 9, and claim 5 of auxiliary requests 2 to 7 as follows (additions underlined, deletions [deleted: struck through]):
"[...]
responsive to determining the map value is a valid map value;[deleted: ,]
a) pulling a value from the source location to update [...]; and
b) facilitating execution of the process with the input value [...];
wherein if the process task object is determined to include another map value, the method further comprises:
determining if the another map value is valid; and
responsive to determining that the another map value is valid, performing steps a) and b) with the another map value."
Claim 6 of auxiliary requests 1-H1a, 8-H1a, and 9-H1a, and claim 5 of auxiliary requests 2-H1a, 3-H1a, 4-H1a, 5-H1a, 6-H1a, and 7-H1a differ, respectively, from claim 6 of auxiliary requests 1-H1, 8-H1 and 9-H1, and claim 5 of auxiliary requests 2-H1, 3-H1, 4-H1, 5-H1, 6-H1, and 7-H1 as follows (additions underlined, deletions [deleted: struck through]):
"[...]
responsive to determining the map value is a valid map value;
a) pulling a value from the source location to update [...]; [deleted: and]
b) facilitating execution of the process with the input value [...]; and
c) determining whether the process task object includes another map value;
wherein if the process task object is determined to include another map value, the method further comprises:
determining if the another map value is valid; and
responsive to determining that the another map value is valid, performing steps a), [deleted: and] b) and c) with the another map value."
1. Main request
1.1 Claim 6 of the main request has the following limiting features (opposition division's labelling):
(6.1) A method to control execution of a process task
within a configuration of a bioreactor control
system, the method comprising:
(6.2) determining whether a map value included in a
process task object is a valid map value,
(6.2.1) the process task object corresponding to a task
executed by a process control device within the
bioreactor control system, and
(6.2.2) the map value identifying a source location for
an input value of the process task object;
(6.3) responsive to determining the map value is not
a valid map value, determining if the process
task object includes another map value;
(6.4) responsive to determining the map value is
a valid map value, pulling a value from the
source location to update the input value of
the process task object; and
(6.5) facilitating execution of the process with the
input value,
(6.6) wherein a value puller retrieves the process
task object from a processes database,
(6.7) parses the retrieved process task object to
find a map value,
(6.8) decodes the map value to identify the source
location for the corresponding input value,
(6.9) pulls the value from the source location and (6.10) updates the process task object with the pulled
value.
(6.4) responsive to determining the map value is a
valid map value:
(6.4.1) pulling a value from the source location to
update the input value of the process task
object; and
(6.5) facilitating execution of the process with
the input value,
(6.6) wherein a value puller retrieves the process
task object from a processes database,
(6.7) parses the retrieved process task object to
find a map value,
(6.8) decodes the map value to identify the source
location for the corresponding input value, (6.9) pulls the value from the source location and (6.10) updates the process task object with the pulled
value;
(6.11) wherein if the process task object is
determined to include another map value, the
method further comprises:
(6.12) determining if the another map value is
valid; and
(6.13) responsive to determining that the another
map value is valid, performing steps a) and b)
with the another map value.
1.2 The opponent argued that the amendment adding features (6.11) to (6.13) to claim 6 of the main request constituted an impermissible intermediate generalisation. In essence, although the iterations of "another map value(s)" (i.e. "Yes" branch of step 714 in Fig. 7) were included for cases in which the initial "map value" is invalid (i.e. "No" branch of step 706 in Fig. 7), they were not included for cases in which that initial value was valid (i.e. "Yes" branch of step 706 in Fig. 7).
1.3 The proprietor referred to these two branches in Figure 7 as the "map-value-valid path" and the
"map-value-invalid path" and stated that they were "entirely distinct". It argued that, in claim 6 as granted, there was no step 714 for the respective
"map-value-valid path", so that this step was optional for the "map-value-valid path".
However, the board recalls that it is not the claims as granted but the application as filed which is relevant to assess compliance with Article 123(2) EPC. In other words, the fact that an opponent or an opposition division might not have noticed a potential violation of Article 123(2) EPC in the claims as granted, does not give a carte blanche to further pursue this added subject-matter in subsequent claim requests. Thus, the question to be answered is not one about an impermissible intermediate generalisation. Rather, it is whether the application as filed provides a basis for any different treatment of the so-called
"map-value-valid path" and the so-called
"map-value-invalid path" with regard to determining whether the process task object includes "another map value", or any dependence at all between the fact that an initial map value is valid/invalid and the determination whether "another map value" exists.
The board sees no such dependence in the entire application as filed. The claims as filed do not refer to "another map value" at all. Figure 7 as filed as well as the relevant description on page 31, lines 14 to 21 as filed, teach that the determination whether "another map value" exists is made irrespective of the path followed. It cannot be overlooked that this dependence was introduced into claim 6, not by the amendment adding features (6.11) to (6.13), but already by feature (6.3), which was present in claim 6 as granted. In other words, there is no different treatment of the "map-value-valid path" and the
"map-value-invalid path" as to the "another map value" aspect according to the original disclosure, since the step of "determining if the process task object includes another map value" according to feature (6.3) is always performed irrespective of whether the "map value" is found to be valid or invalid according to step 714 of Fig. 7 of the original application.
1.4 The proprietor further argued that claim 8 as filed (from which current claim 6 descends) described the "map-value-valid path" without determining whether "another map value" exists. However, claim 8 as filed does not describe the "map-value-invalid path" either. Therefore, any dependence at all between the fact that an initial map value is valid/invalid and the determination whether "another map value" exists cannot be derived from claim 8 as filed.
1.5 The proprietor also referred to some passages of the description as filed in support of its argument, such as page 20, lines 12 to 20 and page 25, lines 1 to 11. However, these passages are silent about determining whether an "initial map value" is valid or invalid, and thus cannot support any dependence between the fact that an "initial map value" is valid/invalid and the determination whether "another map value" exists.
1.6 In addition, the proprietor argued that the
added-matter objection focused heavily on the disclosure related to Fig. 7 of the application. Referring to page 23, lines 16 to 20, page 24, lines 4 to 6 and page 24, lines 24 to 25, it argued that the description as filed provided basis for determining whether "another map value" exists only in response to determining that the map value is an invalid map value. It further made technical sense that, where an initial map value has been found to be invalid, the system may determine to look for an alternative ("another") map value to use instead. By contrast, if the initial map value has been found to be valid, then there was no need to look for another one. Therefore, a mind willing to understand would assume that the "map-value-valid path" does not require determining whether "another map value" exists.
However, as the opponent rightly pointed out, these passages relate to Fig. 5, which, however, relates to an embodiment different from that covered by Fig. 7, notably in that it does not disclose the iterations of features (6.11) to (6.13). Finally, the sheer fact that an amendment which is not directly and unambiguously derivable from the application as filed technically makes sense has no bearing on the assessment of compliance with Article 123(2) EPC.
1.7 Therefore, claim 6 of the main request contains subject-matter that extends beyond the content of the application as filed and thus violates Article 123(2) EPC.
2. Admittance of auxiliary request H1a
2.1 Auxiliary request H1a was first filed on 14 February 2023 with the proprietor's written reply to the opponent's appeal. Its admittance is thus at the board's discretion under all relevant parts of Article 12 RPBA.
2.2 Since this request is not part of the basis of the appealed decision, any consideration of it would go beyond the primary object of these proceedings to review said decision (Article 12(2) RPBA).
2.3 The proprietor argued that it filed auxiliary request H1a in case the board were to agree with the opponent that the omission of step 714 of Fig. 7 in claim 6 of the main request was not compliant with Article 123(2) EPC.
However, as elaborated above, the real cause of the added-matter objection to claim 6 of the main request is feature (6.3), which was present in claim 6 as granted. As claim 6 of auxiliary request H1a still has this feature, the amendments made in auxiliary request H1a are consequently not suitable to address the added-matter objection to the main request (Article 12(4), 5th sentence, RPBA).
2.4 Thus, the board did not admit auxiliary request H1a into the appeal proceedings.
3. Admittance of auxiliary requests 1, 1-H1, 1-H1a, 2,
2-H1, 2-H1a, 3, 3-H1, 3-H1a, 4, 4-H1, 4-H1a, 5, 5-H1, 5-H1a, 6, 6-H1, 6-H1a, 7, 7-H1, 7-H1a, 8, 8-H1, 8-H1a, 9, 9-H1 and 9-H1a
3.1 Auxiliary requests 1 to 9 were filed but not examined in the opposition proceedings as a higher-ranking request was found allowable, and they were re-filed in the appeal proceedings with the proprietor's written reply to the opponent's appeal (so-called "carry-over requests").
3.2 Such claim requests are not requests on which the decision under appeal was based within the meaning of Article 12(2) RPBA. Thus, to determine whether the exemption from qualification as amendments applies, it should be examined whether the proprietor has demonstrated that auxiliary requests 1 to 9 were "admissibly raised and maintained" in the opposition proceedings within the meaning of Article 12(4), 1st sentence, RPBA.
3.3 This examination is done here according to the interpretation provided in decision T 246/22, Reasons 4, in particular regarding "admissibly raised" (i.e. filing "in due time" and making clear "for what purpose" the filing was made).
3.4 Regardless of the proprietor's onus to demonstrate the applicability of the exemption (T 246/22, Reasons 4.4), auxiliary request 2 cannot have been "admissibly raised" already because it was not filed "in due time", when, as a replacement, it was filed with letter of 14 April 2022, after the expiry of the period provided in the summons of 8 October 2021 (cf. T 246/22, Headnote and Reasons 4.14). Therefore, without further ado, this claim request is an "amendment" within the meaning of Article 12(4), 1st sentence, RPBA.
3.5 From the minutes of the oral proceedings before the opposition division (cf. points 1.1 and 12.1), there is no doubt that auxiliary requests 1 and 3 to 9 were "maintained". Moreover, there was no need for the proprietor to demonstrate this aspect, as the minutes automatically form part of the appeal proceedings (see Article 12(1)(a) RPBA and T 246/22, Reasons 4.8 and 4.9).
3.6 The question is whether the proprietor has demonstrated that auxiliary requests 1 and 3 to 9 were "admissibly raised". The proprietor's written reply to the opponent's appeal, however, lacks every indication that these requests were indeed "admissibly raised" in the opposition proceedings, i.e. effectively asking the board to assume an investigative role (cf. T 246/22, Reasons 4.4).
3.7 Furthermore, auxiliary requests 1 and 3 to 9 represent an unjustified development of claims. In particular, they were all filed for the sole purpose of addressing the opponent's inventive-step attack. However, in each of these claim requests, the proprietor picked up a distinct feature either from the description or from the dependent claims, and added it to the respective independent claims, instead of increasingly limiting the subject-matter, from one request to the next, in one and the same direction. As such, these auxiliary requests thus represent an unjustified divergent development of the subject-matter for which protection is sought (as opposed to a divergent development that might be justified by the necessity to address different attacks, as advocated in T 246/22, Reasons 4.16).
3.8 Because of the omitted demonstration and the unjustified divergence, auxiliary requests 1 and 3 to 9 are also not exempted, but indeed constitute "amendments" of the proprietor's case. Thus, the admittance into the appeal proceedings are at the board's discretion (Article 12(4) RPBA).
3.9 Moreover, in view of the fact that the amendments to auxiliary requests 1 to 9 were only made to address the opponent's inventive-step attack by adding further features to the respective claims of the main request, these amendments are not suitable to address the
added-matter objection to the main request (Article 12(4), 5th sentence, RPBA).
3.10 Auxiliary requests 1-H1, 1-H1a, 2-H1, 2-H1a, 3-H1,
3-H1a, 4-H1, 4-H1a, 5-H1, 5-H1a, 6-H1, 6-H1a, 7-H1, 7-H1a, 8-H1, 8-H1a, 9-H1, 9-H1a were first filed on 14 February 2023 with the proprietor's written reply to the opponent's appeal. Their admittance is thus likewise at the board's discretion under all relevant parts of Article 12 RPBA.
3.11 Since these requests are not part of the basis of the appealed decision, any consideration of them would go beyond the primary object of these proceedings to review said decision (Article 12(2) RPBA).
3.12 As their numbering also suggests, the proprietor explained that these requests are based on a combination of auxiliary requests 1 to 9 with the amendments of the main request ("auxiliary request H1" in opposition proceedings) and of auxiliary request H1a.
3.13 However, as auxiliary requests 1 to 9 are not suitable to address the added-matter objection to the main request, their combinations with further features are naturally also not suitable to address the added-matter objection (Article 12(4), 5th sentence, RPBA).
3.14 For these reasons, the board did not admit auxiliary requests 1, 1-H1, 1-H1a, 2, 2-H1, 2-H1a, 3, 3-H1,
3-H1a, 4, 4-H1, 4-H1a, 5, 5-H1, 5-H1a, 6, 6-H1, 6-H1a, 7, 7-H1, 7-H1a, 8, 8-H1, 8-H1a, 9, 9-H1 and 9-H1a into the appeal proceedings.
For these reasons it is decided that:
1. The decision under appeal is set aside.
2. The patent is revoked.