14-15 November 2018
|European Case Law Identifier:||ECLI:EP:BA:2015:T126112.20151007|
|Date of decision:||07 October 2015|
|Case number:||T 1261/12|
|IPC class:||G06F 1/00|
|Language of proceedings:||EN|
|Download and more information:||
|Title of application:||Persistent servicing agent|
|Applicant name:||Absolute Software Corporation|
|Relevant legal provisions:||
|Keywords:||Inventive step - main request (no)
Amended claims filed during oral proceedings - first and third auxiliary requests admitted (no)
Claims - clarity
Claims - second auxiliary request (no)
Summary of Facts and Submissions
I. The appeal lies against the decision of the examining division, with reasons dated 28 December 2011, to refuse European patent application No. 05735599.2 for lack of inventive step of the main request and first to third and fifth and sixth auxiliary requests over
D1: US 5 680 547 A.
The examining division did not admit the fourth auxiliary request, filed during oral proceedings, pursuant to Rule 137(3) EPC. The decision made reference to further documents, including
D3: US 6 507 914 B1 and
D4: WO 98/43151 A1,
but did not rely on any of them for its reasons.
II. A notice of appeal was received on 10 February 2012, the appeal fee being paid on the same day. A statement of grounds of appeal was received on 27 April 2012. The appellant requested that the decision under appeal be set aside and that a patent be granted based on claims according to the main or first to sixth auxiliary requests filed with the grounds of appeal, the other application documents being the description and the drawings as originally filed.
III. With a summons to oral proceedings, the board informed the appellant of its preliminary opinion that the claims according to all requests lacked clarity, Article 84 EPC 1973, and inventive step vis-à-vis D1 and vis-à-vis D3 or D4 in view of D1, Article 56 EPC 1973.
IV. In response to the summons, with letter dated 2 September 2015 the appellant filed amended claims 1-16 and 1-14 according to a main and a first auxiliary request, respectively.
V. Oral proceedings were held on 7 October 2015, together with the oral proceedings in case T 951/12. During the oral proceedings, the appellant filed amended claims 1-15 according to a second and a third auxiliary request (both bearing the date of 6 October 2015) and withdrew its earlier fourth to sixth requests. Its final request was that a patent be granted on the basis of the main or first auxiliary request dated 2 September 2015 or the second or third auxiliary request dated 6 October 2015.
VI. Claim 1 according to the main request reads as follows:
"An electronic device comprising a persistent servicing agent disposed in the electronic device, the electronic device connected to a network to a remote server [sic], the persistent servicing agent configured to enable, support and/or provide at least one service with respect to the electronic device, the persistent servicing agent comprising:
a driver agent comprising a partial driver agent concealed in the electronic device and a full function driver agent, wherein the full function driver agent is configured to communicate with the network in enabling, supporting and/or providing the service, and the partial driver agent is configured with a reduced set of functions compared to the full function driver agent, and to determine whether a full function driver agent is available in the electronic device; and
wherein the partial driver agent is configured to reload portions of the full function driver agent, across the network, that may have been removed or are missing from the electronic device; and
a run module configure to automatically initiate operation of the driver agent without user initiation or user intervention."
Claim 1 of the first auxiliary request differs from claim 1 of the main request by the following text added at the end:
"[...], the run module comprising:
an installer module configured to automatically adapt an installer mode instance of the partial driver agent to an operating system of the electronic device; and
a loader module configured to automatically load the installer module, which in turn loads the installer mode instance of the partial driver agent;
wherein the installer mode instance of the partial driver agent creates another instance of itself and registers the copy as an operating system service; and
wherein upon subsequent start of the operating system the partial driver agent determines whether a full function diver agent is available in the electronic device and retrieves over the network a copy of the full function driver agent if it is determined to be not available in the electronic device."
Claim 1 of the second auxiliary request differs from claim 1 of the main request by the following text added at the end:
"[...], wherein the run module comprises:
an installer module configured to automatically adapt the driver agent to the operating environment of the electronic device to provide the service without user intervention; and
a loader module configured to automatically load the installer module, which in turn loads the driver agent."
Claim 1 of the third auxiliary request differs from claim 1 of the second auxiliary request in that the phrases "enable, support and/or" and "enabling, supporting and/or" have been deleted and in that the passage defining the installer module now reads as follows:
"[...] an installer module configured to automatically adapt the driver agent to the operating environment of the electronic device that controls input/output operations of the device by deleting the operating environment to provide the service without user intervention; [...]"
VII. At the end of the oral proceedings, the chairman announced the decision of the board.
Reasons for the Decision
Non-admission of the then fourth auxiliary request by the examining division, Article 11 RPBA
1. The discretionary decision not to admit amendments to a European patent application adversely affects the applicant because they then cannot form the basis of decision in its favour. Therefore, in view of Article 107 EPC 1973, it is a decision which is open to appeal pursuant to Article 106 EPC and which is to be reasoned according to Rule 111(2) EPC. That a request is not admitted is thus not a simple fact but a decision, the reasons for which form part of the reasons of the decision as a whole. To avoid any doubt about this, the non-admission of a request must be dealt with in the written decision as part of the reasons.
2. In the present case, the decision mentions that a new fourth auxiliary request was filed during the oral proceedings but not admitted pursuant to Rule 137(3) EPC (see facts and submissions, point 7). No further mention is made of this request in the decision, and in particular not in the reasons.
2.1 In the board's view this means that the decision was not reasoned within the meaning of Rule 111(2) EPC, which is a fundamental deficiency in the sense of Article 11 RPBA.
2.2 In such a case, Article 11 RPBA requires the board to remit the case to the department of first instance, unless special reasons present themselves for doing otherwise.
2.3 In the present case, the board notes that the minutes of the oral proceedings (point 21) do mention briefly that the fourth auxiliary request was not admitted due to a lack of clarity about "what exactly the difference between the full and reduced function driver agent is, in particular with respect to network communication". Moreover, this deficiency in the decision did not cause the appeal, because higher-ranking requests were refused as well and maintained on appeal. It is also noted that the appellant did not specifically challenge the decision of the examining division not to admit the fourth auxiliary request.
2.4 The board considers that these circumstances constitute special reasons within the meaning of Article 11 RPBA for not remitting the case to the department of first instance without addressing its substantive merits.
3. The application relates to the provision of a tamper-resistant "agent" for enabling, supporting and/or providing protective services on a networked client device.
3.1 In particular, the application discusses an asset tracking service meant to reduce the risk that networked devices (assets) are lost or stolen and, if they are, that confidential data is lost or the integrity of the enterprise network is compromised. Data deletion and software deployment services are specifically mentioned, too (see e.g. the paragraph bridging pages 1 and 2, and page 6, 1st paragraph of the published application). In performing its services, the agent automatically and regularly contacts a monitoring centre in order to transmit service-relevant information, e.g. about the identity of the device and its location (see page 4, lines 19-23).
3.2 An agent deployed on a device is protected against detection, i.e. hidden ("stealthy"; page 5, last paragraph), and tamper-resistant, i.e. protected against unauthorised modification or removal, even against "operating system installation, hard drive format and hard drive replacement" (see page 16, 2nd paragraph). To achieve this, the agent is disclosed as incorporating "self-healing technology" which is meant to restore the agent if removed. The "self-healing function" is "not resident within the file system" (loc. cit.).
3.3 The description explains that the agent may consist of three "modules", the "Computrace" Loader Module CLM, the Adaptive Installer Module AIM and the Communications Driver Agent CDA (page 17, 3rd paragraph). The CDA contains a driver, the "mini CDA", which checks whether the entire CDA is present and, if not, initiates the download or update of the CDA (page 18, 3rd paragraph; page 21, penultimate paragraph et seq.; page 34, 2nd paragraph).
The prior art
4. D3, also filed by the present applicant, discloses an asset tracking system based on the same software product ("Computrace"; see e.g. figure 2a). D3 also discloses an "agent" which is "concealed" and protected against tampering ("hides within the software/firmware/hardware" of the protected device so as to "evade detection" and "resist possible attempts to disable it by an unauthorized user" (see e.g. column 2, lines 14-24; column 5, lines 32-36). The agent is loaded and started during boot-up without user initiation or intervention (see e.g. column 5, line 23 to column 6, line 18; esp. column 6, lines 17-18). D4 also stems from the present applicant and is very similar to D3 (see in D4 esp. figure 3-1; page 4, lines 8-11 and 21-23; and page 36, lines 10-12).
5. D1 discloses a system providing for pre-boot file and information transfer between networked devices (see abstract, lines 1-3). Whenever a client connects to a network, the client firmware (column 4, lines 47-50) executes a program which seeks a server with which to communicate. The server management application (SMA) then "performs whatever tasks it is preprogrammed to perform", for instance "file transfers, file updates or operating system rescue (due to malicious or accidental damage)" (column 4, lines 43-46 and 60-63). It is also disclosed that the SMA might check whether the client boot sector is virus-free and, if not, remove the virus and restore the boot sector (column 4, lines 63-67).
6. The board considers that D3 constitutes a suitable starting point for the assessment of inventive step.
7. The appellant argued that "persistent" in the context of the claimed invention referred to the partial driver agent's function of reconstituting the full servicing agent if it was corrupted or parts of it were removed or lost, and that D3 therefore did not disclose a "persistent servicing agent".
7.1 The board disagrees, noting that appellant's use of the term "persistent" is not established in the art. Specifically, it does not correspond to the conventional understanding that memory may be called "persistent" if its contents are not lost when the power is switched off and that program code may be called "persistent" if it is held in persistent memory.
7.2 The board also notes that the capability of the agent to reconstitute itself is expressly claimed, so the characterisation of the servicing agent as "persistent" - as interpreted by the appellant - does not limit the claim further.
7.3 The board concludes that D3 discloses a "persistent servicing agent" according to a conventional understanding of the term, because the servicing agent of D3 is held in persistent memory (see column 2, lines 38-54).
8. Claim 1 according to the main request differs from D3 in that
i) the "persistent servicing agent disposed in the electronic device" comprises two parts, a "full function driver agent" and a "partial driver agent [...] with a reduced set of functions", and
ii) the partial driver agent is "configured to determine whether a full function driver is available in the electronic device" and "to reload portions of the full function driver" should that not be the case.
8.1 The board considers that an effect of this arrangement is that the servicing agent can be made larger than would fit in the concealed section of memory. The board however considers that occasions will naturally arise in which the functionality of the servicing agent must be extended. It may further happen that the concealed memory location allocated for the servicing agent becomes too small. This corresponds to a statement made in the description itself (see page 27, section B, lines 1-3).
8.2 The objective technical problem solved by the above difference can therefore be considered as how to handle the situation that an extended servicing agent does not fit in the concealed memory space of D3.
8.3 In this situation the board considers it obvious for the skilled person to store parts of the servicing agent elsewhere. The skilled person may also be forced to store the additional functionality in a place in which it is less "concealed" and thus can be removed or corrupted.
8.4 D3 teaches the skilled person to protect the servicing agent against tampering. The skilled person would therefore be led to search for known ways of protecting the non-concealed parts of the servicing agent.
9. In the board's view, D1 provides such a teaching.
9.1 D1 discloses that the client workstation, in a pre-boot process, initiates communication with a server running "server management application" SMA, which then performs "whatever tasks it is preprogrammed to perform", such as "file transfers" and "file updates" (column 4, lines 42-50 and 56-57). As an example, D1 discloses that the SMA may remove a virus from the boot sector and restore the boot sector (column 4, lines 63-67). The board considers that detecting that a piece of software is virus-infected falls within the claimed determination of whether the software is "available" or "missing". The board therefore finds that D1 discloses the reloading of software which may be missing from or not available at the electronic device.
9.2 The appellant argued that D1 did not disclose a "servicing agent" within the meaning of the claim because it was confined to pre-boot activities. The term "servicing agent" and "service" clearly related to an "operating system service", whereas D1 taught terminating the SMA's interaction with the client before running the operating system. As a consequence, it was argued, the skilled person would not turn to D1 in trying to solve a problem with D3.
9.3 The board notes that the claims do not explicitly specify when the agent programs are to run, i.e. before or after the boot phase, and disputes that the term "service" alone must be construed, as the appellant suggests, to imply that they are run after booting. The board therefore takes the position that whatever the SMA according to D1 performs can validly be called a service, notwithstanding the fact that it runs before booting. Moreover, the board considers that the skilled person, starting from D3, would be taught by D1 that - and how - missing or corrupted software can be reconstituted in the pre-boot phase and would not hesitate to apply this teaching to D3.
9.4 The appellant further argued that D1 did not disclose a program arranged in such a way that a part of it was set up to reload other parts of itself. D1 disclosed that the operating system could be the subject of the pre-boot service, and that the latter had a "functional subset of the operation system" at its disposal (column 5, lines 1-15) but that the missing portions were reloaded not by the partial operating system itself but by a separate service.
9.5 The board is not convinced. The claimed invention does not specify which service the servicing agent is meant to "enable, support and/or provide". Therefore, what does or does not belong to this service is, in the board's view, an exclusively conceptual definition. Accordingly, it is justified to consider the reloading function of the SMA according to D1 (see point 9.1 above) to constitute a part of the provided service which, hence, is equipped to reload "itself".
10. In view of the above, the board considers that the skilled person would, without exercising any inventive skill, apply the cited teaching of D1 to D3 and arrive at the claimed invention - except for the fact that the "reloading" service of D1 is carried out under the control of software (the SMA) running at the server, whereas the claimed driver agent controls the reloading itself.
10.1 In this regard, the board considers it obvious for the skilled person to transfer some functions from the server to the client and to run some of the pre-boot activities locally rather than on the server, for instance if the number of clients communicating with the same server made better load-balancing desirable.
10.2 In summary, the board concludes that claim 1 of the main request lacks inventive step over D3 in combination with D1, Article 56 EPC 1973.
First auxiliary request
11. Claim 1 of the first auxiliary request differs from claim 1 of the main request by additional features meant to characterise the run module.
11.1 These specify that the run module comprises "an installer module which is configured to automatically adapt an installer mode instance of the partial driver agent to an operating system of the electronic device".
11.2 Originally filed claim 4 defines the run module as comprising "an installer module configured to automatically adapt the driver agent to the operating environment of the electronic device" but does not mention that an installer mode instance is generated and adapted in the process.
11.3 For further original disclosure, the appellant referred to sections B and C on pages 21-22 and to page 18, second paragraph, of the application as originally filed. On page 21 (section B) it is disclosed that the installer module AIM "creates and installs the installer mode instance" of the agent, but not that the installer mode instance is further adapted before installation, and it is disclosed that "the installation mechanism is specific and unique for each OS", but not that the installer mode instance itself is. On pages 18 and 22 (2nd paragraph) it is disclosed that the agent may be adapted to the operating system or the platform, but not that an installer mode instance of the agent is adapted further.
11.4 Therefore, the board concludes that the basis indicated by the appellant does not disclose that it is an "installer mode instance", i.e. an instance of the partial driver agent, which is adapted to the operating system of the electronic device.
12. Article 13(1) RPBA provides that any amendment to a party's case after it has filed its grounds of appeal or reply may be admitted and considered at the board's discretion and that this discretion is to be exercised in view of inter alia the current state of the proceedings and the need for procedural economy.
12.1 The board considers that considerations of procedural economy justify not admitting a request is not admitted which has substantial deficiencies and does not further the proceedings, especially if it is filed at such a late stage.
12.2 Therefore, the board exercises its discretion under Article 13(1) RPBA not to admit the first auxiliary request due to its deficiencies under Article 123(2) EPC.
Second auxiliary request
13. Claim 1 of the second auxiliary request incorporates into claim 1 of the main request the features of original claim 4, according to which the driver agent is "automatically adapt[ed] [...] to the operating environment of the electronic device".
13.1 The board considers this feature to be unclear. Given that the operating environment of the device is entirely undefined in the claim and is thus unlimited by it, the skilled person would not know which operations fell under the claimed adaptation of an agent to this "operating environment".
13.2 For clarification, the appellant referred to the second paragraph of page 18 of the description which discloses that "The AIM [...] detects active operating systems, and adapts the mini CDA" - i.e., the partial driver agent - "to the discovered installations". It argued that the skilled person would understand from this passage that the driver agent had to be modified to become, and registered as, an "operating system service".
13.3 The board is not convinced that the disclosed adaptation to the installed operating system[s] would have to be construed as the agent's registration as an operating system service, apart from the fact that the board considers the notion of an "operating system service" in itself to be vague and unclear. And the board considers that the cited passage is insufficient to clarify what modifications to the agent are meant to be implied by the adaptation mentioned.
13.4 The board concludes that claim 1 of the second auxiliary request is unclear, Article 84 EPC 1973.
Third auxiliary request
14. The third auxiliary request was filed in an attempt to overcome the board's clarity objection against claim 1 of the second auxiliary request.
14.1 Amended claim 1 specifies that the installer module "adapt[s] the driver agent to the operating system of the electronic device that controls input/output operations of the device by detecting the operating environment".
14.2 This amendment indicates that the adaptation relates to "input/output operations" and relies on the "operating environment" to be detected. The board notes that it is a matter of necessity that the operating environment (and system) be "detected" if the agent is to be adapted to the operating system, and that this feature was therefore already implicit in previous claim 1. More importantly, however, neither of these amendments clarifies to the board's satisfaction the adaptation operation itself.
14.3 The board therefore concludes that the amendment is insufficient to overcome its clarity objection.
14.4 Therefore the board again exercises its discretion under Article 13(1) RPBA as explained above and declines to admit the third auxiliary request into the proceedings because it cannot overcome the clarity objection raised, Article 84 EPC 1973.
15. In the absence of any allowable request, the appeal has to be dismissed.
For these reasons it is decided that:
The appeal is dismissed.