14-15 November 2018
|European Case Law Identifier:||ECLI:EP:BA:2017:T202311.20170321|
|Date of decision:||21 March 2017|
|Case number:||T 2023/11|
|IPC class:||G06F 9/445|
|Language of proceedings:||EN|
|Download and more information:||
|Title of application:||COMPUTATIONAL EXPANSION SYSTEM|
|Applicant name:||Imbert Management Consulting Solutions|
|Relevant legal provisions:||
|Keywords:||Inventive step - main and first auxiliary requests (no)
Clarity - second auxiliary request (no)
Summary of Facts and Submissions
I. The appeal lies against the decision of the examining division, with reasons dispatched on 8 June 2011, to refuse the application for lack of inventive step over the document
D1: US 6 542 920 B1.
II. A notice of appeal was filed on 8 August 2011, the appeal fee being paid on the same day. A statement of grounds of appeal was received on 9 August 2011. The appellant requested that the decision be set aside and that the case be remitted to the department of first instance for further prosecution on the basis of claims 1-11 or 1-9 according to, respectively, a main or auxiliary request as filed with the grounds of appeal. The appellant appeared to be implicitly requesting that a patent be granted based on one of these two sets of claims. The other documents on file are as follows:
1, 3-7, 9 filed on 27 November 2009
2, 2a, 8 filed on 21 October 2009
1/6-6/6 filed on 21 January 2008
III. In an annex to a summons to oral proceedings, the board informed the appellant inter alia of its preliminary opinion that claim 1 of both requests lacked novelty or inventive step over D1, Articles 54 and 56 EPC 1973.
IV. Oral proceedings were held on 21 March 2017. During the oral proceedings the appellant filed an amended set of claims 1-12 to replace the main request, and an amended set of claims 1-10 as a new second auxiliary request. In the new main request, only claims 1-6 were amended, corresponding amendments of the other claims 7-12 being postponed until after agreement was reached on claim 1. The appellant further requested, in case the board was not minded to grant a patent on the basis of any of the pending requests, that it remit the case to the examining division for further prosecution.
V. Claim 1 of the main request reads as follows:
"A computation expansion unit (11) for expanding the processing capacity of one or several central processors (12) connected through a communications system to the computation expansion unit (11) by delegating partial of total execution of any of the processes to be executed by the central processor (12); characterized in that the computational expansion unit (11) comprises a task manager (32) connected to an internal management unit (53) which is adapted to select a process manager (33) from a plurality of different process managers (33), and a share [sic] storage management unit (31) configured to share the data received from the host (12) simultaneously with the computational expansion unit (11), and the process managers (33) are configured to retrieve the data, execute the delegated process and make the result of the delegated process available to the host (12) in the same manner as if it had been calculated by the host (12) itself."
Claim 1 of the first auxiliary request reads as follows:
"A system for expanding the capacity of executing processes which are executable in a central processor (12) connectable to a computational expansion unit (11) through a communications system; characterized in that the computational expansion unit (11) comprises a task manager (32) which is adapted to select a process manager (33) in response to the reception in an internal manager (53) of a requesting message of executing of a predetermined process from the central processor (12); being the process manager (33) selected based on a pre-determined cost value of executing of the predetermined process received in the internal manager (53); and the internal manager (53) is adapted to carry out a comparison among a plurality of cost value [sic] received from the process manager (33) and a predetermined cost value received from the central processor (12)."
Claim 1 of the second auxiliary request reads as follows:
"A computational expansion system (11) for expanding the process capacity of one or several central processors (12) connected to one or several central processors (12); wherein the computational expansion system (11) comprises a task manager (32) connected to an internal management unit (53) which is adapted to select a process manager (33) from a plurality of different process managers (33) in response of [sic] a request from the central processor (12), characterised in that the internal manager (5) assigns the process to the means (33, 12) having a lower cost value calculated on the basis of the operative capacity not compromised of the process manager (33) so that the process capacity of the computational expansion system (11) is dynamically assigned according to the required demand, and in that the means (33, 12) are implemented as a variety of computer environments comprising programmable computers including a processor, computer-readable storage means that include volatile and non-volatile memory elements and/or storage elements, thereby creating a platform compatible with the host (12), not through a simulation / emulation of the host environment, that is more economical than the host (12), by using programs that do the same thing as in the host but running natively on an open system platform."
During the oral proceedings, the appellant noted that in the second occurrence of "the means" the reference sign 12 was incorrect and requested its deletion.
The main and both auxiliary requests also comprise independent claims for a method (7, 5 and 6, respectively) and a computer program (11, 8 and 10, respectively), and the main and the first auxiliary request further comprise an independent claim for a storage management means (12 and 9, respectively).
VI. At the end of the oral proceedings, the chairman announced the decision of the board.
Reasons for the Decision
1. The application addresses the problem that the processing capacity of a central computer (or host) may be too small to meet demand, for instance at peak times, and is thus concerned with "expanding" the processing capacity of the host by providing additional, external processors to which the host can delegate processes. Expansion is meant to be possible with essentially any "existing computer" available, irrespective of its platform, preferably though with computers which are "more economical" than the host (see page 2, line 33, to page 3, line 2; all references refer to the English translation of the application as filed on 27 November 2007 with the request for entry into the regional phase before the EPO). The overall system should carry out the processes without any need to adapt them (page 2, lines 10-13 and 21-26).
1.1 To solve this problem, the application proposes what is called a "computational expansion system" or "means" to be connected to the host (see page 3, lines 24-28, and figures 1 and 2).
1.2 The expansion system is disclosed as comprising several components (see, inter alia, figures 3 and 5), namely
(a) a task manager,
(b) an internal manager,
(c) several process managers, and
(d) a shared storage manager.
1.3 The host may request that a selected process be executed by the computational expansion system (see e.g. page 4, lines 6-8). The task manager, by means referred to as the internal manager, will receive the request, "negotiate" or "arbitrate" the execution of this process with the process managers (see page 4, lines 9-20, and page 7, lines 5-16) and eventually delegate the process to a process manager "that is capable of executing the delegated process with a lower cost than if it was executed by the host" (page 4, lines 30-34 et seq.; page 7, lines 17-21).
1.4 The decision may be made on the basis of a comparison of a "pre-determined cost value" associated with the process with a "cost parameter" described as a "function of specific physical parameters" of the process manager, including its processing power and memory capacity (page 4, line 35, to page 5, lines 6) available (also referred to as "not compromised") when the request was made (page 5, lines 10-21). If no process manager can execute the process at a lower cost than the host, it may be decided that the host keep it, and it is suggested that one process may "be executed simultaneously" in "two means 33, 12", the numbers 33 and 12 referring to the process managers and the host, respectively (page 4, lines 30-34, and page 5, lines 22-25).
1.5 Data is exchanged between the host and the expansion system via shared storage provided by a "shared storage manager" (page 6, lines 1-5; page 7, lines 22-26). More specifically, this storage is meant to hold the "data from the host" and the "data obtained by the execution of the [delegated] process" (see page 6, lines 6-13).
Claim construction and clarity, Article 84 EPC 1973
2. Claim 1 of all requests contains language and terminology which must be construed carefully. In the board's view, claim 1 of the main and the first auxiliary request is sufficiently clear to allow an assessment of inventive step, whereas the clarity problems in claim 1 of the second auxiliary request make an inventive-step assessment unreasonable.
3. Claim 1 of all requests refers to capacity expansion, albeit in different words each time. Claim 1 of the main request refers to a "unit for expanding the processing capacity of one or several central processors", claim 1 of the first auxiliary request uses the phrase "for expanding the capacity of executing processes which are executable in a central processor", and claim 1 of the second auxiliary request refers to a "system for expanding the process capacity of one or several central processors" (all emphasis by the board). The board accepts that the "capacity" of the central processor(s) is, in an immediate sense, "expanded" by the provision of the "process managers", but notes that no means is claimed to support the acts of providing the process managers and of connecting them to the central processor(s). In the board's view this means that the claims do not relate to expanding a given central processor, but to the allocation of work in a distributed system with expanded capacity.
4. Claim 1 of the main request refers to a "computational expansion unit", although the application only refers to a "computational expansion means" or "system". In the board's view, which was confirmed by the appellant during the oral proceedings, the application leaves open whether the expansion system is carried out in hardware and software or merely in software. The term "unit", to the extent that it implies a dedicated hardware component while "means" and "system" do not, would appear to go beyond the application as originally filed. The appellant having declared, during oral proceedings, its willingness to replace "unit" by "means" or "system", this question can however be left open.
5. Claim 1 of the main request specifies that the shared storage management unit is "configured to share the data received from the host (12) simultaneously with the computational expansion unit". The board first notes that "the data" has no proper antecedent in the claim, so the term must be construed as "data". The board further takes the view that the skilled person would consider data to be "shared" if the host and the expansion unit can both access it when necessary. It is unclear what the term "simultaneous" adds to this notion. It is imaginable that the host and the expansion unit access the shared storage in parallel, e.g. the host writing data for one process while data for another process is being read by the expansion unit, but this is not disclosed in the application as filed (see page 6, lines 1-5). The appellant's suggestion that simultaneous sharing be construed as implying parallel storage access by the different process managers did not convince the board, because this interpretation is not disclosed in the application either, the application (like the claim) rather talking about sharing between the host and the expansion system. For the purposes of assessing inventive step, the board considers that the term "simultaneous" cannot be given a clear interpretation and hence must be ignored.
6. Claim 1 of the main request specifies that the process managers should "make the result of the delegated process available to the host (12) in the same manner as if it had been calculated by the host (12) itself". The appellant suggested in oral proceedings that this phrase implied that the process managers had to provide the result in the same format as that used by the host. The appellant could not, however, establish that the application disclosed this interpretation (see esp. page 2, lines 10-13). The board takes the position that it is implicit that a delegated process must produce the same result "as if" it had not been delegated. Moreover, any result produced by a delegated process must be - or must be made - indistinguishable from the result produced by the host itself; otherwise, the purpose of the delegation would not be achieved. As a consequence, the board considers the cited phrase to be redundant over the reference to "delegation". Substantially the same objection and conclusion apply to the reference in claim 1 of the second auxiliary request to "programs that do the same thing as in the host".
7. Claim 1 of all requests refers to a "task manager" and an "internal manager" or "internal management unit". The board takes it that the internal manager is the component of the task manager responsible for the process distribution and observes that other functions or components which the task manager might have are immaterial for the claimed subject-matter. Accordingly, the board concludes that no distinction between the two need be made when assessing the inventive merit of the claims at hand. The board notes in passing that this appears to correspond to the position which was taken by the examining division - and not challenged by the appellant - namely to identify both the task manager and the internal manager with the RPM of D1 (see the decision, reasons 10.1).
8. Claim 1 of the second auxiliary request specifies that
(a) a process manager is selected "from a plurality of different process managers",
(b) the process is assigned to "the means (33, 12) having a lower cost value calculated on the operative capacity not compromised of the process manager",
(c) "the means (33[deleted: , 12]) are implemented as a variety of computer environments comprising programmable computers including" various elements (reference number 12 not being considered, as requested by the appellant during oral proceedings; see penultimate paragraph of point V above), and
(d) the invention "creat[es] a platform compatible with the host (12), not through a simulation / emulation of the host environment, that is more economical than the host (12), by using programs that do the same thing as in the host but running natively on an open system platform".
8.1 With respect to (b) it is first noted that the "operative capacity not comprised of the process manager" is interpreted as the "operative capacity available in the process manager" (see page 5, lines lines 15-17).
8.2 With further regard to (b) (and (c)) it is observed that "the means" are undefined in the claim. It is further noted that reference signs (here 33 and 12) are not to be construed as limiting the claim (Rule 43(7) EPC).
8.2.1 The description discloses that the process is assigned to "the means 33, 12 having sent a lower cost value" (page 5, lines 22-25). The board accepts that the numbers 33 and 12 in this context must be interpreted to mean the "process manager 33" and the "host 12", respectively. In the description, it would seem that the comma "33, 12" can be construed as both "and" or "or", as the process can be assigned to the host or a process manager, depending on which sent "a" lower cost value, or to "two means 33, 12 in parallel" (loc. cit.). It is not clear, however, whether the claimed "means (33, 12)" must be construed as singular or plural and whether it requires, allows or excludes assignment to process manager and host in parallel.
8.2.2 If phrase (b) is interpreted to mean that the process may be assigned to the process manager or to the host, it is unclear why the claim only specifies the cost value calculated for the process manager and no cost value associated with the host.
8.3 With regard to (a) it is further noted that the relation between "selection" and "assignment" is unclear. "The process manager" cited in line 9 of claim 1 seems to refer to "a process manager" selected earlier (see claim 1, lines 5-6). Literally, this would suggest that the "assignment" is an operation following "selection". While, however, it may appear more reasonable to assume that assignment is to take place subsequent to a selection based on the cost values, the claim language puts this interpretation in doubt, because selection is stated to be of "a process manager (33) from a plurality of process managers" whereas assignment to "the means (33, 12)" seems to allow for the possibility that assignment can also be to "the host 12".
8.4 The language of phrase (c) is, according to the appellant, disclosed on page 8, lines 11 et seq. in combination with the paragraph bridging pages 2 and 3. The appellant stated in the oral proceedings that this passage implied a heterogenous system in which the process managers and the host all have different "computer environments". The board disagrees. The cited passage on page 8 refers to the implementation of "the present invention" as a whole and does not exclude the possibility that all process managers - and possibly even the host - have the same computer environment. In other words, the precise meaning of the phrase (c) is unclear and, to the extent that it implies a heterogeneous system, it goes beyond the disclosure of the application as originally filed, Article 123(2) EPC.
8.5 With regard to (d) the board first notes that the phrase is grammatically unclear, inter alia due to the location of the relative clause "that is more economical [...]". It is unclear from the language of phrase (d) whether the created "platform compatible with the host" is meant to refer to one or to all process managers. Arguably, the corresponding passage in the description (paragraph bridging pages 2 and 3) refers to the "platform" of each individual process manager. It is unclear how the claimed features make possible the "creation" of a "platform compatible with the host", as opposed to "using" one or more given process managers which provide this platform (see also point 2 above). Characterising a platform as "more economical than the host" is unclear, firstly because it is ambiguous whether "economical" refers to monetary or computational cost and, secondly, because the relative monetary cost of host and process managers ("platform") does not imply any technical feature of either: the price of a computer may change over time and the price of one and the same computer may be lower if several are purchased at the same time. Finally, the board considers that the phrase "running natively on an open system platform" is unclear and not sufficiently clarified by the preceding negative feature "not through a simulation / emulation of the host environment".
8.6 In summary, the board concludes that claim 1 of the second auxiliary request lacks clarity within the meaning of Article 84 EPC 1973.
The prior art
9. D1 discloses a mechanism for extending the processing power of a system by providing multiple "thread pools" which are accessed via a "request processing mechanism" RPM (see figure 1, no. 110, and abstract). The RPM determines the requested service and a suitable "thread pool" from which a thread is assigned to the request (see column 5, lines 8-19).
9.1 D1 notes that different services may have different processing requirements. Some services may be "heavyweight", in requiring a thread with a large stack, others may be "lightweight", i.e. executable on a thread with a small stack (see column 2, lines 9-21, and column 3, lines 9-10).
9.2 The properties of the different thread pools are specified in a "thread pool configuration table" and users may "specify certain thread pools for certain services" (figure 1, no. 114, figures 2 and 3; column 5, lines 61-65, and column 7, lines 41-42). The configuration table is used when the thread pools are allocated but also when selecting a thread pool for a requested service (column 5, lines 8 to 18, column 5, line 54, to column 6, line 6, et seq., and column 8, line 40 et seq.).
9.3 In making its decision, the RPM determines which thread pool is associated with the requested functionality or "type" of service (see column 9, lines 17-60). It is disclosed that such an association should exist for every request (see column 9, lines 55-57).
10. Claim 1 of the main request boils down to specifying a "computational expansion unit" (system) which connects a host and several "process managers", provides a "task manager" for selecting a process manager to execute a process, and provides a "shared storage manager" for the communication between the host and the process managers.
10.1 The claimed "processes" can be considered to be the "threads" of D1 and the claimed "task manager"/"internal management unit" is considered to be the RPM of D1. It is clear that in D1 the individual threads read from and write to regions of the web server's memory. Thus the claimed shared storage management unit is implicit in D1.
10.2 The board considers that any line in the configuration table of D1 may be taken to "expand" the processing capacity of the web server's processor in that it enables the web server to process a certain type of service request. The appellant favoured a narrower interpretation to the effect that the web server's processor has some, fixed capacity which does not change when a new thread pool is allocated. The board has doubts that the term "capacity" requires this narrow interpretation.
10.3 However, even if it did, this would, in the board's view, only mean that the claimed system provided more than one processor for the delegation of processes. This would constitute the only difference between claim 1 and D1, which does not disclose the web server to have more than one processor.
10.4 The board considers it obvious for the skilled person to increase the performance of the web server of D1 by equipping it with, say, a multiprocessor. This would increase the web server's capacity in the recited narrower sense and it would, in this situation, be natural for the skilled person to spread the thread pools over the different processors.
10.5 The board therefore concludes that claim 1 of the main request lacks inventive step over D1, Article 56 EPC 1973.
First auxiliary request
11. Claim 1 of the first auxiliary request does not specify a shared storage manager but states that the process manager is selected on the basis of "a comparison among a plurality of cost value[s] received from the process manager [...] and a predetermined cost value received from the central processor".
11.1 D1 discloses that a "cost value" such as the required stack size of a thread is taken into account, if indirectly, when selecting which thread pool is to serve a given request (see e.g. figure 2).
11.2 D1 does not, however, disclose a comparison between a cost value (of the requested service) and a cost parameter (of the thread pools in question) in making that decision.
11.3 From the perspective of D1, this difference can be said to solve the problem of assigning to a thread pool a service request of a type of which, exceptionally, is not listed in the association table (see figure 3 and column 9, lines 55-57). If the requested service happened to require a large stack it would seem obvious to assign it to a thread pool associated with other heavyweight service types. This would require a direct comparison between the required "cost value" and the "cost parameters" of the available thread pools.
12. Accordingly, the board concludes that also claim 1 of the first auxiliary request lacks inventive step, Article 56 EPC 1973.
Second auxiliary request
13. During the oral proceedings, the appellant explained and stressed that the invention was concerned with the expansion of a host computer by exploiting the computing power of external computer devices connected over a network, whereas D1 was confined to organising work within a single computer (the web server). The board understands that the second auxiliary request was an attempt to express this fact in the claims so as to set claim 1 further apart from D1, but also that this was difficult in view of Article 123(2) EPC and a description which is short and itself unclear in many ways. As explained above, claim 1 of the second auxiliary request lacks clarity (Article 84 EPC 1973) to suc2h an extent that the board found it impossible to provide a separate assessment of its inventive merit. It is stressed that this must leave open whether a claim that expressed the appellant's intention as recited would have been non-obvious over D1, and how the proceedings would have continued after such a finding.
Request for remittal
14. Already with its statement of grounds of appeal, the appellant requested remittal of the case to the department of first instance on the basis of the amended claims. As no fundamental deficiency in the first-instance proceedings was apparent, the board decided not to remit the case under Article 11 RPBA without considering its merits.
15. At the end of the oral proceedings, the appellant stated that remittal was the appropriate course of action because in examination it had been given too few opportunities to amend its claims. The board disagrees. Firstly, it would not serve any purpose to remit a case for further prosecution on the basis of requests which the board itself has already determined not to be allowable. Secondly, the appellant filed amended claims on entry into the regional phase before the EPO and in response to a communication from the examining division. The appellant chose not to request oral proceedings and the examining division was not obliged to give the applicant another opportunity to amend the application. And thirdly, the board notes that the appellant had several opportunities to amend the application in the appeal proceedings: with the grounds of appeal, in response to the board's preliminary opinion (to which the appellant chose not to respond in writing) and during the oral proceedings before the board. The board therefore does not accept that a remittal to the examining division is required, to give the appellant yet further opportunities for amendment.
For these reasons it is decided that:
The appeal is dismissed.