European Case Law Identifier: | ECLI:EP:BA:2024:T226822.20240625 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Date of decision: | 25 June 2024 | ||||||||
Case number: | T 2268/22 | ||||||||
Application number: | 17829786.7 | ||||||||
IPC class: | G06F 17/30 | ||||||||
Language of proceedings: | EN | ||||||||
Distribution: | D | ||||||||
Download and more information: |
|
||||||||
Title of application: | Systems and methods for continuously available network file system (NFS) state data | ||||||||
Applicant name: | Oracle International Corporation | ||||||||
Opponent name: | - | ||||||||
Board: | 3.5.07 | ||||||||
Headnote: | - | ||||||||
Relevant legal provisions: |
|
||||||||
Keywords: | Novelty - main request, fourth auxiliary request (no) Inventive step - first to third auxiliary requests (no) Amendment after summons - taken into account Amendment after summons - new first and second auxiliary requests (no) |
||||||||
Catchwords: |
- |
||||||||
Cited decisions: |
|
||||||||
Citing decisions: |
|
Summary of Facts and Submissions
I. The appellant (applicant) appealed against the examining division's decision refusing European patent application No. 17829786.7. That application was filed as international application PCT/US2017/066325 (published as WO 2018/112155 Al).
II. The documents cited in the contested decision included:
D1 Haynes, T. et al., "Network File System (NFS) Version 4 Protocol draft-ietf-nfsv4-rfc3530bis-35.txt", Internet Engineering Task Force, 4 December 2014, pp. 1-300
D2 Wikipedia article "Journaling file system", 3 November 2016
III. The examining division refused the application on the grounds that the subject-matter of the claims of the main request and of each of the first to fourth auxiliary requests lacked inventive step over the prior art disclosed in document D1 when considered in combination with document D2. Furthermore, the examining division considered that the claims of the third auxiliary request were unclear.
IV. In its statement of grounds of appeal, the appellant requested that the contested decision be set aside and that a patent be granted on the basis of the main request or any of the first to fourth auxiliary requests, all requests considered in the contested decision and resubmitted with the statement of grounds of appeal, but with the former fourth auxiliary request being the current third auxiliary request and the
former third auxiliary request being the current fourth auxiliary request.
V. In a communication under Article 15(1) RPBA, the board expressed among other things its provisional opinion that the subject-matter of claim 1 of the main request and of the fourth auxiliary request lacked novelty over document D1 and that the subject-matter of claim 1 of the first to third auxiliary requests at least lacked inventive step in view of document D1.
VI. By letter of 23 May 2024, the appellant submitted new first and second auxiliary requests replacing all the prior auxiliary requests on the condition that the new auxiliary requests be admitted.
VII. Oral proceedings were held as scheduled and the appellant was heard on relevant issues. At the end of the oral proceedings, the Chair announced the board's decision.
VIII. The appellant's final requests were that the contested decision be set aside and that a patent be granted on the basis of the claims of the main request considered in the decision under appeal or of one of the new first and second auxiliary requests filed with the letter of 23 May 2024 or, should the new first and second auxiliary requests not be admitted, of one of the first to fourth auxiliary requests resubmitted with the statement of grounds of appeal.
IX. Claim 1 of the main request reads as follows
(itemisation of the features added by the board):
"A method comprising:
[A] receiving, by a network file system (NFS) server (615), instructions to change a state corresponding to a data object accessible by the NFS server from a current state to a new state;
[B] storing, by the NFS server, an indication of the new state in volatile memory (630), the indication being stored in association with an identifier of the data object;
[C] writing, by the NFS server, metadata representing the new state at a location in non-volatile storage (635), wherein the metadata is written in association with a same or different identifier of the data object, wherein storing the indication of the new state in the volatile memory and writing the metadata in the non-volatile storage is performed synchronously and before any other processing involving the data object is permitted by the NFS server;
[D] detecting, by the NFS server, a failure involving the NFS server, wherein the indication of the new state is erased from the volatile memory upon the failure involving the NFS server;
[E] retrieving, by the NFS server, the metadata representing the new state from the location in the non-volatile storage; and
[F] resuming service, by the NFS server, in
accordance with the new state."
X. Claim 1 of the first auxiliary request resubmitted with the statement of grounds of appeal differs from claim 1 of the main request in that the text "after retrieving the metadata representing the new state from the location in the non-volatile storage: repopulating at least some of the volatile memory to include the indication of the new state in association with the identifier of the data object; and" has been inserted between features E and F.
XI. Claim 1 of the second auxiliary request resubmitted with the statement of grounds of appeal differs from claim 1 of the first auxiliary request in that the text "by converting the metadata representing the new state into the indication of the new state" has been added after "with the identifier of the data object".
XII. Claim 1 of the third auxiliary request resubmitted with the statement of grounds of appeal differs from claim 1 of the second auxiliary request in that the text "is different from the indication of the new state and" has been added before the text "is written in association with a same or different identifier of the data object" in step C and in that the text ", and wherein the indication of the new state stored in the volatile memory is smaller than the metadata representing the new state stored in the non-volatile memory" has been added at the end of step C.
XIII. Claim 1 of the fourth auxiliary request resubmitted with the statement of grounds of appeal differs from claim 1 of the main request in that the text ", wherein the new state includes at least one of an open state, a lock state, a client state, or a delegate state" has been added at the end of step A.
XIV. Claim 1 of the new first auxiliary request differs from claim 1 of the main request in that step C has been replaced by the following text:
" writing, by the NFS server, metadata representing the new state at a location in non-volatile storage (635), wherein:
the metadata is written in association with a same or different identifier of the data object;
storing the indication of the new state in the volatile memory and writing the metadata in the non-volatile storage is performed synchronously and before any other processing involving the data object is permitted by the NFS server; and
the metadata is stored in the non-volatile memory in a plurality of persistent tables, maintained in a sparse file, the persistent tables mapping the metadata to locations in non-volatile memory, the tables including a plurality of tables having records of a fixed size that directly map the metadata to locations in non-volatile memory; and at least one table that does not have a fixed size, including an allocation bitmap, each bit of the allocation bitmap representing the location of the metadata;".
XV. Claim 1 of the new second auxiliary request differs from claim 1 of the new first auxiliary request in that "that directly map [...] the location of the metadata" has been replaced by the following text:
"that directly map the metadata to locations in non-volatile memory by recording a search key in the metadata, the search key having a scalar value, a fixed offset location in non-volatile memory being the scalar value multiplied by the size of the metadata record; and a locks table for storing file lock data, that does not have a fixed size, including an allocation bitmap, each bit of the allocation bitmap representing the availability and the location of a lock slot in the locks table".
XVI. The appellant's arguments relevant to the present decision are discussed in detail below.
Reasons for the Decision
1. The application relates to capturing and storing state information corresponding to various states of the NFS for use in recovery during a system failure.
Main request
2. Novelty
2.1 Document D1 is a working document of the Internet Engineering Task Force and discloses a draft of the NFS version 4 protocol.
2.2 The examining division considered that document D1 was a suitable starting point for assessing inventive step, and the appellant did not contest this finding.
2.3 The examining division argued that document D1 disclosed a change to a new "locking" state and a recovery of this state after an NFS server failure in D1, sections 1.3.5, 9.1.4.3, 9.5 and 9.6.2. The examining division considered that the features distinguishing the method of claim 1 over document D1 were "those relating to the journaling of the change of state in metadata and the use of the stored metadata for recovery in case of failure of the NFS server" (see point 2.1.2 of the contested decision).
The examining division argued that the objective technical problem solved by the distinguishing features was to provide an alternative to the method of crash recovery of the NFS server disclosed in document D1.
An alternative crash recovery method was disclosed in document D2 (see first paragraph of page 1 and the section "Logical journals" on pages 2 and 3 therein). The skilled person would replace the known crash recovery method in accordance with section 9.6.2 of document D1 with the alternative method disclosed in document D2. Consequently, the claimed method lacked inventive step over the prior art disclosed in document D1 when considered in combination with document D2.
2.4 In its statement of grounds of appeal, the appellant argued that features C and E of claim 1 were the distinguishing features over document D1. As disclosed in paragraph [0054] of the published description, these distinguishing features allowed the metadata representing the new state to be automatically imported from the non-volatile storage in the event of a failure of the NFS server. Consequently, the NFS services could be resumed "immediately and transparently", which improved the conventional crash recovery methods described in paragraph 3 of the description. Consequently, the objective technical problem was how to improve the known crash recovery methods, and the solution was inventive since the skilled person would not consult document D2, which did not disclose the distinguishing features either.
2.5 The board considers that document D1 discloses in section 1.3.5 that file locking is part of the NFS protocol. A file lock request represents an instruction to change a state of a data object (in accordance with feature A of claim 1). According to D1, the state associated with file locks is maintained at the server under a lease-based model (in accordance with feature B). The server defines a single lease period for all state information held by an NFS client. The purpose of a lease is to allow a server to remove stale locks that are held by a client that has crashed or is otherwise unreachable (D1, section 9.5).
When the server grants a lock of any type (including opens, byte-range locks and delegations), it responds with a unique stateid that represents a set of locks (often a single lock) for the same file, of the same type, and sharing the same ownership characteristics. Thus opens of the same file by different open owners (clients) each have an identifying stateid (see section 9.1.4 of document D1).
Regarding NFS server failure and recovery, document D1 discloses in section 9.6.2 the following: if the server loses a locking state (usually as a result of a restart or reboot; in accordance with feature D of claim 1), it must allow clients time to discover this fact and re-establish the lost locking state. During a grace period (equal to the lease period) after server restart, the server allows lock reclaim requests from clients recovering their locks and rejects non-reclaim locking requests (in accordance with features D and F of claim 1).
2.5.1 In view of the above, the board agrees with the appellant and the examining division that document D1 discloses features A, B, D and F of claim 1.
2.5.2 Regarding features C and E, the board considers that document D1 discloses in section 9.6.2 (see page 117, last two paragraphs; page 118, first two paragraphs) that the NFS server may keep information about granted locks in stable (i.e. non-volatile) storage and retrieve this information after restart to allow, during the grace period, the safe processing of read or write operations and regular locks after a server failure. This is further disclosed in document D1, section 9.6.3.4.3 (page 123), section 9.4 (page 114), last sentence of first paragraph, and page 14, last paragraph.
2.5.3 Furthermore, document D1 discloses in section 14.3 (starting on page 202) that NFS operations that modify the file system are synchronous. When an operation is successfully completed at the server, any data associated with the request is on stable storage to enable clients to recover after a server failure (for example in the event of a partially executed compound request). For a write request, the server may commit both data and metadata to stable storage (see document D1, page 281, last paragraph).
2.5.4 Since the lock states are synchronously written to non-volatile storage and are used, when resuming the service after a server failure, to re-establish the lock states, it follows that document D1 also discloses features C and E of claim 1.
2.5.5 The appellant did not submit any relevant arguments in reply to the board's novelty objection against claim 1 of the main request, which was communicated to the appellant in the board's communication, but instead filed the new first and second auxiliary requests. Consequently, the board has no reason to deviate from its preliminary opinion as expressed in its communication, and concludes that the method of claim 1 of the main request is not new in view of document D1 (Article 54 EPC).
New first and second auxiliary requests filed by letter of 23 May 2024 - admissibility
3. Article 13(2) RPBA stipulates that any amendment to a party's appeal case made after the expiry of a period specified by the board in a communication under Rule 100, paragraph 2, EPC or, where such a communication is not issued, after notification of a communication under Article 15, paragraph 1, RPBA, shall, in principle, not be taken into account unless there are exceptional circumstances, which have been justified with cogent reasons by the party concerned.
3.1 The new first and second auxiliary requests were filed after notification of a communication under Article 15(1) RPBA (see points V. and VI. above). The appellant argued that the requirement of exceptional circumstances within the meaning of Article 13(2) RPBA was met in the current case since the board had raised a fresh novelty objection in its communication under Article 15(1) RPBA and the appellant's requests filed with its statement of grounds of appeal were all based on the established novelty of the use of stable storage as acknowledged in the decision under appeal. This argument in favour of exceptional circumstances within the meaning of Article 13(2) RPBA seems to be convincing (see also Case Law of the Boards of Appeal of the EPO, 10th edition 2022, V.A.4.5.5 a)).
4. However, even if the board accepts the appellant's argument that the circumstances of the current case are exceptional within the meaning of Article 13(2) RPBA, admission of the new first and second auxiliary requests into the appeal proceedings is still at the board's discretion under Article 13(1) RPBA (see decisions T 1597/16, Reasons 2.4; T 886/17, Reasons 3.1).
5. Article 13(1) RPBA stipulates that any amendment to a party's appeal case after it has filed its grounds of appeal or reply is subject to the party's justification for its amendment and may be admitted only at the discretion of the board. The board shall exercise its discretion in view of, inter alia, the current state of the proceedings, the suitability of the amendment to resolve the issues which were raised by the board, whether the amendment is detrimental to procedural economy, and, in the case of an amendment to a patent application or patent, whether the party has demonstrated that any such amendment, prima facie, overcomes the issues raised by the board and does not give rise to new objections.
5.1 The new first and second auxiliary requests add a number of features to independent claim 1 which had not been present in any of the claim requests filed with the statement of grounds of appeal but were taken from paragraphs [0063] to [0066] and [0071] and Table 1 of the application.
5.2 At the oral proceedings, the board informed the appellant of its preliminary opinion that the new first and second auxiliary requests gave rise to fresh complex issues under Rule 137(5) EPC and Articles 84 and 123(2) EPC.
5.2.1 In the board's preliminary opinion, the features added from the description had likely not been searched by the examining division since they lacked unity with the originally claimed invention and totally changed the appellant's case.
5.2.2 Regarding the issue of added subject-matter (Article 123(2) EPC) introduced by the amendments made, the board informed the appellant that originally filed paragraph [0063] disclosed that a plurality of tables were maintained in a single sparse file but claim 1 of the new auxiliary requests was apparently not limited to maintaining the tables in a single sparse file.
5.2.3 Regarding the clarity of the amendments made, the board informed the appellant among other things that the expressions "the tables including a plurality of tables having records of a fixed size that directly map the metadata to locations in non-volatile memory" and "at least one table that does not have a fixed size" appeared to be unclear (Article 84 EPC) in the context of claim 1.
5.2.4 The board also informed the appellant at the oral proceedings that the admissibility of the new first and second auxiliary requests was questionable in view of the complex new issues raised.
5.3 At the oral proceedings, the appellant argued that the new auxiliary requests were procedurally efficient since there were only two new claim requests and the appellant had indicated that it was willing to withdraw its prior auxiliary requests should the newly filed auxiliary requests be admitted.
5.3.1 Regarding the issue of added subject-matter, the appellant conceded that the amended feature of "a plurality of tables, maintained in a sparse file" did not correspond directly to the disclosure in paragraph [0063]. However, in view of decision T 1762/21, the feature under discussion allowably generalised the disclosed embodiment.
5.3.2 Regarding Rule 137(5) EPC, the appellant referred to originally filed claims 4 and 6, which already indicated a need to store different types of states and a plurality of metadata representing a plurality of states of a plurality of data objects. Moreover, features A1 and A2 of the second auxiliary request considered in the decision under appeal (see point 7. below) were relevant in this context. Consequently, the amendments made in the new first and second auxiliary requests related to searched subject-matter.
5.4 The new first and second auxiliary requests have been filed at a late stage of the appeal proceedings and raise new issues of considerable complexity such as added subject-matter including an intermediate generalisation, where the board has serious doubts that the application as filed provides a basis, clarity and the issue of whether the newly filed requests include unsearched subject-matter.
Regarding unsearched subject-matter, the board doubts that the originally filed claims 4 and 6 cited by the appellant could support the appellant's view that the subject-matter now claimed in the new first and second auxiliary requests must be assumed to have been searched by the search division. Rather, when starting from document D1, the new first and second auxiliary requests appear to be directed to a different invention relating to a particular storage scheme of tables in non-volatile memory. Original claims 4 and 6 relate to the content of the metadata, not to how the metadata is to be stored in non-volatile memory.
5.5 In view of the above-listed fresh and complex issues raised by the new first and second auxiliary requests, the board exercises its discretion under Article 13(1) RPBA not to admit the new first and second auxiliary requests filed by letter of 23 May 2024 into the appeal proceedings.
First to fourth auxiliary requests as filed with the statement of grounds of appeal
6. As a consequence of the non-admission of the new first and second auxiliary requests, the appellant's conditional withdrawal of the first and fourth auxiliary requests considered in the decision under appeal and resubmitted with the statement of grounds of appeal has no effect.
7. Claim 1 of the first to fourth auxiliary requests respectively additionally recites the following features compared with claim 1 of the main request (itemisation of the features has been added by the board):
A1 after retrieving the metadata representing the new state from the location in the non-volatile storage:
repopulating at least some of the volatile memory to include the indication of the new state in association with the identifier of the data object (first to third auxiliary requests);
A2 the repopulating comprising: converting the metadata representing the new state into the indication of the new state (second and third auxiliary requests);
A3 the metadata is different from the indication of the new state and the indication of the new state stored in the volatile memory is smaller than the metadata representing the new state stored in the non-volatile memory (third auxiliary request);
A4 the new state includes at least one of an open state, a lock state, a client state, or a delegate state (fourth auxiliary request).
8. Inventive step - first to third auxiliary requests
8.1 Steps A1 and A2 are, at least arguably, implicitly disclosed in document D1 in the context of an NFS server crash recovery (see above, point 2.5.2) since it was necessary to restore the lost NFS server state in the server's main memory after a server crash by reading the state information stored on stable storage. This also, at least arguably, includes converting state data from a storage format on the stable storage to an appropriate main-memory representation. In any case, the board considers that steps A1 and A2 correspond to usual steps of recovering data from a log and are therefore at least straightforward, and thus obvious, extensions of the teaching of document D1.
In the board's opinion, feature A3 is commonplace and thus obvious since main-memory data representations are often more compact than data representations stored on a hard disk or similar non-volatile storage media. Moreover, given the objective technical problem of saving space in main memory, it was straightforward to choose a more compact representation in main memory since no details of the claimed "smaller" data representation are specified in feature A3.
8.2 At the oral proceedings, the appellant argued that document D1 did not disclose implementation details about storing data on stable storage or repopulating the volatile memory after a crash. Feature A1 reduced latency by repopulating the data into volatile memory and solved the objective technical problem of how to implement a crash recovery system which reduces the latency associated with read and write operations. Since the NFS server disclosed in document D1 could rely solely on stable storage for the server, feature A1 was not obvious.
8.2.1 Regarding feature A2, the appellant submitted that this feature was novel since document D1 did not disclose anything regarding different file formats (as in paragraph [0077] of the application). The objective technical problem solved by feature A2 was how to enable a crash recovery system to enable different file formats to be implemented. As there was no motivation in document D1 to deal with different file formats, feature A2 was inventive.
8.2.2 The appellant also explained that feature A3 added that the metadata format in volatile memory was smaller. Document D1 disclosed storing metadata in volatile memory in the server and in stable storage as backup but did not disclose any further implementation details. The objective technical problem solved was how to provide a crash recovery that uses an appropriate data format for volatile and non-volatile memory. The solution was not known from the prior art on file and the skilled person would not arrive at the solution claimed.
8.3 The board is not convinced by the appellant's arguments for the following reasons.
8.3.1 Regarding features A1 and A2, in the event that the NFS server has to restore its internal state after a crash by reading the metadata stored on stable storage as disclosed in section 9.6.2 of document D1, it is self-evident to the skilled person to repopulate the server's internal (main) memory with a main-memory representation of the state data based on the metadata retrieved from stable storage. In this context, it was routine work to arrive at a smaller main-memory representation of the metadata (i.e. feature A3).
8.3.2 Regarding the appellant's argument that the server could rely only on stable storage, the skilled person would always consider storing critical server state information in main memory to support efficient operation. This is also clear from document D1, section 9.6.2, according to which the server stores the state information in volatile memory and uses the stable storage only for backup and recovery purposes.
8.3.3 Regarding the appellant's argument that feature A2 allowed using different file formats, the board observes that the cited paragraph [0077] of the application explains that the metadata written to non-volatile storage may include a token or be written to a table and/or a sparse file. However, claim 1 is not limited to such details but merely specifies that during the repopulation of the volatile memory metadata is converted. Consequently, the appellant's argument is not supported by the wording of feature A2.
8.4 Consequently, in view of the board's finding that the method of claim 1 of the main request lacks novelty (Article 54 EPC) over document D1, the method of claim 1 of each of the first, second and third auxiliary requests at least lacks inventive step (Article 56 EPC) over document D1.
9. Novelty - fourth auxiliary request
Regarding feature A4, document D1 already discloses one or more lock states and an "open state" (see point 2.5 above and document D1, section 1.3.4 on page 12, for example). The appellant did not present arguments against this finding. Since the fourth auxiliary request adds only feature A4 to the main request and the method of claim 1 of the main request lacks novelty over document D1 according to point 2.5.5 above, it follows that the method of claim 1 of the fourth auxiliary request is not new over document D1 (Article 54 EPC).
Conclusion
10. Since none of the requests admitted into the appeal proceedings is allowable, the appeal is to be dismissed.
Order
For these reasons it is decided that:
The appeal is dismissed.