DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(d):
(d) REFERENCE IN DEPENDENT FORMS.—Subject to subsection (e), a claim in dependent form shall contain a reference to a claim previously set forth and then specify a further limitation of the subject matter claimed. A claim in dependent form shall be construed to incorporate by reference all the limitations of the claim to which it refers.
The following is a quotation of pre-AIA 35 U.S.C. 112, fourth paragraph:
Subject to the following paragraph [i.e., the fifth paragraph of pre-AIA 35 U.S.C. 112], a claim in dependent form shall contain a reference to a claim previously set forth and then specify a further limitation of the subject matter claimed. A claim in dependent form shall be construed to incorporate by reference all the limitations of the claim to which it refers.
Claim 20 rejected under 35 U.S.C. 112(d) or pre-AIA 35 U.S.C. 112, 4th paragraph, as being of improper dependent form for failing to further limit the subject matter of the claim upon which it depends, or for failing to include all the limitations of the claim upon which it depends. Claim 17 recites “synchronizing task data associated with the recovery task in a memory of the first node to a memory of the second node during the running of the recovery task, at least in part by, in response to completion of a predetermined stage of the recovery task, transmitting, through the data channel between the first node and the second node, stage task data associated with the predetermined stage in the memory of the first node to the memory of the second node”. Claim 20 does not further limit this limitation of claim 17. Applicant may cancel the claim(s), amend the claim(s) to place the claim(s) in proper dependent form, rewrite the claim(s) in independent form, or present a sufficient showing that the dependent claim(s) complies with the statutory requirements.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1, 8, 9, 16, 17, 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over US Patent No. 9477675 (“Patel”) in view of US Patent Application Publication No. 20180018242 (“Blagodurov”).
Regarding claim 1, Patel teaches
A file system recovery method, comprising: (Col. 3, Lines 30-50: File System Checking (FSCK))
in response to a storage system entering a recovery mode, running a recovery task for a file system on a first node of the storage system, wherein data of the file system is stored in a storage device that is accessible via the first node and a second node of the storage system; (Fig. 2, 3, 10, Col. 5, Lines 25-30, Col. 8, Lines 20-60, Col. 10, Lines 55-67, Col. 15, Lines 60-67, Col. 16, Lines 1-20: in response to a FSCK utility starting, start a FSCK of the file system using a first processor of multiple processors that share a file system)
in response to the recovery task starting on the first node, establishing a data channel between the first node and the [swap storage] for subsequently transmitting task data associated with the recovery task from the first node to the [swap storage]; (Fig. 9, Col. 14, Lines 1-67: creating swap space storage for storing checkpointed execution progress of an FSCK from memory)
A data channel must be established between the processor and the swap space storage if the swap space storage is created for the processor to store data.
synchronizing task data associated with the recovery task in a memory of the first node to a [swap storage]…during the running of the recovery task at least in part by, in response to completion of a predetermined stage of the recovery task, transmitting, through the data channel between the first node and the [swap storage], stage task data associated with the predetermined stage in the memory of the first node to the [swap storage], wherein the predetermined stage of the recovery task is one of a plurality of stages of the recovery task, and wherein the stage task data corresponds to the predetermined stage of the recovery task; and (Fig. 9, Col. 14, Lines 1-67: store checkpointed execution progress of an FSCK stage of a plurality of FSCK stages from memory into swap space storage)
in response to the recovery task panicking on the first node, resuming the running of the recovery task on the first node at the completion of the predetermined stage of the recovery task by using the task data that has been synchronized to the [swap storage]. (Fig. 9, Col. 14, Lines 1-45: after a failed FSCK, resuming the FSCK from the checkpointed FSCK stage execution progress stored in swap space storage)
Patel does not teach synchronizing task data in a memory of the first node to a memory of second node and resuming the running of the task on the first node using task data that was synchronized to the memory of the second node.
Blagodurov teaches
synchronizing task data associated with the…task in a memory of the first node to a memory of the second node (Fig. 1, 5, [0032], [0052], [0053]: taking a checkpoint of application state in a node and storing the checkpoint in memory of another node)
resuming the running of the…task on the first node by using the task data that has been synchronized to the memory of the second node. ([0056], [0057]: after a failure that disrupts execution of the application, retrieve checkpointed data from another node in order to restart the application from the checkpoint before the failure)
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to combine Blagodurov’s checkpoint storage on other nodes with Patel’s checkpoint a single node.
One of ordinary skill in the art prior to the effective filing date would have been motivated to make the combination because FSCK checkpointing utilizes swap space, but FSCK performance is limited by the amount of swap space (Patel, Col. 4, Lines 5-25). Using other nodes for application checkpointing due to resource constraints (Blagodurov, [0052], [0053]), such as those imposed by utilization of swap space for FSCK checkpointing, would reduce the resource limitations of applications such as FSCK.
Regarding claim 8, Patel in view of Blagodurov further teaches
in response to the recovery task panicking on the first node, obtaining the task data that has been synchronized to the memory of the second node; (Patel, Col. 14, Lines 25-67: after a failed FSCK, resuming the FSCK from the checkpointed FSCK phase; Blagodurov, [0056], [0057]: after a failure that disrupts execution of the application, retrieve checkpointed data from another node in order to restart the application from the checkpoint before the failure)
resuming, on the first node, the recovery task to a stage corresponding to the synchronized task data based on the synchronized task data; and (Patel, Col. 14, Lines 25-67: after a failed FSCK, resuming the FSCK from the checkpointed FSCK phase; Blagodurov, [0056], [0057]: after a failure that disrupts execution of the application, retrieve checkpointed data from another node in order to restart the application from the checkpoint before the failure)
continuing to run the recovery task from the stage on the first node. (Patel, Col. 14, Lines 25-67: after a failed FSCK, resuming the FSCK from the checkpointed FSCK phase; Blagodurov, [0056], [0057]: after a failure that disrupts execution of the application, retrieve checkpointed data from another node in order to restart the application from the checkpoint before the failure)
Claim(s) 9, 16, the device(s) that implement(s) the method(s) of claim(s) 1, 8, respectively, is/are rejected on the same grounds as claim(s) 1, 8, respectively.
Regarding claim 9, Patel in view of Blagodurov further teaches
A storage system, comprising: a processor; and a memory coupled to the processor, wherein the memory has instructions stored therein, and the instructions, when executed by the processor, cause the storage system to perform actions comprising: (Patel, Col. 10, Lines 5-25)
Claim(s) 17, the computer program product(s) that implement(s) the method(s) of claim(s) 1, respectively, is/are rejected on the same grounds as claim(s) 1 respectively.
Regarding claim 17, Patel in view of Blagodurov further teaches
A computer program product comprising a non-transitory computer-readable medium storing machine-executable instructions, wherein the machine-executable instructions, when executed, cause a machine to perform actions comprising: (Patel, Col. 10, Lines 5-25)
Regarding claim 20, Patel in view of Blagodurov further teaches
wherein synchronizing the task data to a memory of the second node comprises: in response to completion of a predetermined stage of the recovery task, synchronizing stage task data associated with the predetermined stage in the memory of the first node to the memory of the second node. (Patel, Fig. 9, Col. 14, Lines 1-67: store checkpointed execution progress of FSCK stage of a plurality of FSCK stages from memory into swap space storage; Blagodurov, Fig. 1, 5, [0032], [0052], [0053]: taking a checkpoint of application state in a node and storing the checkpoint in memory of another node)
Claim(s) 2, 7, 10, 15, 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over US Patent No. 9477675 (“Patel”) in view of US Patent Application Publication No. 20180018242 (“Blagodurov”) in view of US Patent No. 6421739 (“Holiday”).
Regarding claim 2, Patel in view of Blagodurov does not further teach the remaining limitations.
Holiday teaches
wherein synchronizing the task data to a memory of the second node comprises: (Fig. 13, 14, Col. 7, Lines 35-67, Col. 8, Lines 1-15: checkpoint an event of a transaction executed by an application on a first node, and send the checkpoint of the event to an application on the second node)
allowing the second node to receive the task data from the first node via a standby task running on the second node; and (Fig. 13, 14, Col. 4, Lines 30-45, Col. 7, Lines 35-67, Col. 8, Lines 1-15: checkpoint an event of a transaction executed by an application on a first node, and send the checkpoint of the event to an application on the second node)
storing the received task data at a corresponding location in a memory of the second node via the standby task. (Fig. 15, Col. 8, Lines 15-35: based on the checkpoint message, synchronize the memories of the applications on both nodes)
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to combine Holiday’s checkpointing with Patel in view of Blagodurov’s checkpointing.
One of ordinary skill in the art prior to the effective filing date would have been motivated to make the combination to support efficient and accurate checkpointing (Holiday, Col. 2, Lines 5-15).
Regarding claim 7, Patel in view of Blagodurov and Holiday further teaches
wherein synchronizing the stage task data to the memory of the second node comprises: (Holiday, Fig. 13, 14, Col. 7, Lines 35-67, Col. 8, Lines 1-15: checkpoint an event of a transaction executed by an application on a first node, and send the checkpoint of the event to an application on the second node)
sending a memory management command from the first node to the second node, the memory management command indicating a first space released in the memory of the first node by the recovery task in the predetermined stage; and (Patel, Fig. 9, Col. 14, Lines 25-45: FSCK; Holiday, Fig. 13, 14, Col. 7, Lines 35-67, Col. 8, Lines 1-15: An event of a transaction includes deletion of a data object in memory on the first node. Checkpoint the event and send the checkpoint of the event to the second node. The checkpoint message includes a list of objects to be deleted on the second node. In the figures, object 3 is deleted from memory on the first node and needs to be deleted from memory on the second node)
based on the memory management command, releasing a second space corresponding to the first space in the memory of the second node. (Holiday, Fig. 14, 15, Col. 8, Lines 15-35: based on the checkpoint message, delete corresponding objects in memory of the second node. In the figures, object 3 is deleted from memory on the second node)
Claim(s) 10, 15, the device(s) that implement(s) the method(s) of claim(s) 2, 7, respectively, is/are rejected on the same grounds as claim(s) 2, 7, respectively.
Claim(s) 18, the computer program product(s) that implement(s) the method(s) of claim(s) 2, respectively, is/are rejected on the same grounds as claim(s) 2, respectively.
Claim(s) 3, 4, 11, 12, 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over US Patent No. 9477675 (“Patel”) in view of US Patent Application Publication No. 20180018242 (“Blagodurov”) in view of US Patent Application Publication No. 20190340091 (“Chandrasekaran”) and Non-Patent Literature Technical possibilities in binary serialization and RPC (“Salac”).
Regarding claim 3, Patel in view of Blagodurov does not further teach the remaining limitations.
Chandrasekaran teaches
wherein synchronizing the task data to a memory of the second node comprises: (Fig. 3A, [0003], [0058]: replication of user VM disaster recovery data from a first node to a second node using RPC)
sending the…encoded task data from the first node to the second node; (Fig. 3A, [0003], [0058]: replication of user VM disaster recovery data from a first node to a second node using RPC)
RPC requires encoding information so that it can be sent over the wire.
decoding the…encoded task data on the second node; and (Fig. 3A, [0003], [0058]: replication of user VM disaster recovery data from a first node to a second node using RPC)
RPC requires decoding information that has been received over the wire.
storing the decoded task data at a corresponding location in a memory of the second node. (Fig. 3A, [0003], [0058]: replication of user VM disaster recovery data from a first node to a second node using RPC)
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to combine Chandrasekaran’s RPC for transportation of disaster recovery data with Patel in view of Blagodurov’s checkpointing.
One of ordinary skill in the art prior to the effective filing date would have been motivated to make the combination for efficient transportation of disaster recovery data (Chandrasekaran, [0009]).
Patel in view of Blagodurov and Chandrasekaran does not further teach binary-encoded.
Salac teaches
binary-encoded (Pg. 2-4: RPC using binary serialization)
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to combine Salac’s RPC using binary serialization with Patel in view of Blagodurov and Chandrasekaran’s RPC.
One of ordinary skill in the art prior to the effective filing date would have been motivated to make the combination because binary serialization is fast and effective (Salac, Pg. 2).
Regarding claim 4, Patel in view of Blagodurov, Chandrasekaran, and Salac further teaches
wherein resuming the running of the recovery task on the first node comprises: (Patel, Fig. 9, Col. 14, Lines 25-45: after a failed FSCK, resuming the FSCK from the checkpointed FSCK execution progress; Chandrasekaran, Fig. 3C, [0038], [0060]: use RPC to send failback restoration data from the second node to the first node, which was previously sent from the first node to the second node, so that the first node can resume the user VM)
sending the binary-encoded and synchronized task data from the second node to the first node; and (Chandrasekaran, Fig. 3C, [0038], [0060]: use RPC to send failback restoration data from the second node to the first node, which was previously sent from the first node to the second node, so that the first node can resume the user VM. Salac, Pg. 2-4: RPC using binary serialization)
RPC requires encoding information so that it can be sent over the wire.
decoding, on the first node, the binary-encoded and synchronized task data into a format in which the task data is stored in the memory of the first node. (Chandrasekaran, Fig. 3C, [0038], [0060]: use RPC to send failback restoration data from the second node to the first node, which was previously sent from the first node to the second node, so that the first node can resume the user VM. Salac, Pg. 2-4: RPC using binary serialization)
RPC requires decoding information that has been received over the wire.
Claim(s) 11, 12, the device(s) that implement(s) the method(s) of claim(s) 3, 4, respectively, is/are rejected on the same grounds as claim(s) 3, 4, respectively.
Claim(s) 19, the computer program product(s) that implement(s) the method(s) of claim(s) 3, respectively, is/are rejected on the same grounds as claim(s) 3, respectively.
Claim(s) 5, 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over US Patent No. 9477675 (“Patel”) in view of US Patent Application Publication No. 20180018242 (“Blagodurov”) in view of US Patent No. 5590277 (“Fuchs”).
Regarding claim 5, Patel in view of Blagodurov teaches
recovery task panic (Patel, Fig. 9, Col. 14, Lines 25-45: after a failed FSCK, resuming the FSCK from the checkpointed FSCK execution progress)
Patel in view of Blagodurov does not further teach the remaining limitations.
Fuchs teaches
in response to the…task resumed on the first node and having the number of times of panics for the same reason exceeding a threshold, terminating the recovery task. (Fig. 7, Col. 16, Lines 1-10, Col. 17, Lines 25-40: if a process experiences the same fault a threshold number of times due to unsuccessful recovery attempts, recovery is exited)
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to combine Fuchs’ retry threshold with Patel in view of Blagodurov’s recovery task retry.
One of ordinary skill in the art prior to the effective filing date would have been motivated to make the combination because a restart is the easiest way to deal with a fault when other options are exhausted (Fuchs, Col. 1, Lines 55-67, Col. 17, Lines 25-40).
Claim(s) 13, the device(s) that implement(s) the method(s) of claim(s) 3, 4, respectively, is/are rejected on the same grounds as claim(s) 13, respectively.
Response to Arguments
Applicant’s arguments, see pg. 10, filed 01/29/2026, with respect to the objections of claims 3, 5, 11, 13, and 19 have been fully considered and are persuasive. The objections of claims 3, 5, 11, 13, and 19 have been withdrawn.
Applicant’s arguments, see 11, filed 01/29/2026, with respect to the 101 rejections of claims 17-20 have been fully considered and are persuasive. The 101 rejections of claims 17-20 have been withdrawn.
Applicant's arguments, see 11-14, filed 01/29/2026, with respect to the prior art rejections of claims the independent claims have been fully considered but they are not persuasive.
On pg. 12-13, Applicant argues:
“The cited combination discloses creating point in time copies of metadata information ("checkpoint copies") that are stored in swap space blocks of swap space storage in a storage device (as in Patel) and finding, if not enough checkpoint memory space is available in a node within a network of servers in a data center, additional checkpoint memory space in another node within the network (as in Blaqodurov). The amended independent claims set forth operating in response to a storage system entering a recovery mode, running a recovery task for a file system on a first node of the storage system, where the file system is accessible via the first node and a second node of the storage system, and operating in response to the recovery task starting on the first node by establishing a data channel between the first node and the second node for subsequently transmitting task data associated with the recovery task from the first node to the second node. In contrast to these features of the amended independent claims, Blaqodurov describes a system that operates to find memory space in other nodes in response to a determination that insufficient memory space is available to store checkpointing application state data, and Patel teaches that checkpoint copies of metadata are stored in swap space blocks of swap space storage in a storage device.
For these reasons, Applicant respectfully urges that the cited combination does not disclose or suggest a file system recovery method that includes in response to a storage system entering a recovery mode, running a recovery task for a file system on a first node of the storage system... [and] in response to the recovery task starting on the first node, establishing a data channel between the first node and the second node for subsequently transmitting task data associated with the recovery task from the first node to the second node, as in the amended independent claim 1.”
The Examiner respectfully disagrees. Patel performs all the limitations of claim 1 with the only difference being that Patel uses secondary storage for checkpointing rather than a second node. Blagodurov remedies this by teaching the utilization of a second node for checkpointing. Therefore, the combination of Patel in view of Blagodurov teaches all the limitations of the independent claims.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALBERT LI whose telephone number is (571)272-5721. The examiner can normally be reached M-F 8:00AM-4:00PM PT.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Bryce Bonzo can be reached at (571)272-3655. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/A.L./Examiner, Art Unit 2113
/PHILIP GUYTON/Primary Examiner, Art Unit 2113