Prosecution Insights
Last updated: July 17, 2026
Application No. 19/074,396

FASTER REPLAY OF METADATA AND DATA OPERATIONS USING INODE NUMBER BASED DEPENDENCY GRAPH

Non-Final OA §103
Filed
Mar 09, 2025
Priority
May 09, 2022 — continuation of 12/248,380
Examiner
KUNJITHAPATHAM, ANUGEETHA
Art Unit
Tech Center
Assignee
Netapp Inc.
OA Round
1 (Non-Final)
60%
Grant Probability
Moderate
1-2
OA Rounds
1y 9m
Est. Remaining
89%
With Interview

Examiner Intelligence

Grants 60% of resolved cases
60%
Career Allowance Rate
53 granted / 88 resolved
At TC average
Strong +29% interview lift
Without
With
+28.8%
Interview Lift
resolved cases with interview
Typical timeline
3y 1m
Avg Prosecution
6 currently pending
Career history
98
Total Applications
across all art units

Statute-Specific Performance

§101
3.8%
-36.2% vs TC avg
§103
91.3%
+51.3% vs TC avg
§102
1.7%
-38.3% vs TC avg
§112
2.8%
-37.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 88 resolved cases

Office Action

§103
DETAILED ACTION This is in response to the application filed on 03/09/2025. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claims 1-20 have been examined and are pending. Priority Priority claims to parent application 17/739,353 (filed on 05/09/2022), which in turn claims priority to parent application 15/945,178 (filed on 04/04/2018) is acknowledged. Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer. Claims 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 11,327,857 B2. Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1-20 of U.S. Patent No. 11,327,857 B2 encompasses all limitations of instant claims 1-20 combined. Claims 1-2, 12, 14 and 17-18 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-3, 12-15, and 18-19 of U.S. Patent No. 12,248,380 B2. Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1-3, 12-15, and 18-19 of U.S. Patent No. 12,248,380 B2 encompasses all limitations of instant claims 1-2, 12, 14 and 17-18 combined. Specification The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification. Claim Objections Claims 1-20 are objected to because of the following informalities: In independent claims 1, 12 and 17: it appears the claim limitation ‘dispatching the metadata operation to the files system.’ should read ‘dispatching the metadata operation to the file system.’. Dependent claims 2-11, 13-16, and 18-20 are also objected to for the above reasons. Appropriate correction is required. 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. Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Avati (US 2014/0222878 A1, in IDS filed 03/09/2025) in view of Ngan (US 2017/0091299 A1, in IDS filed 03/09/2025). Regarding claim 1, Avati teaches A method comprising: storing identifiers of objects pending to be modified by operations dispatched to a file system; detecting an occurrence of a replay triggering event to replay a metadata operation upon the file system, wherein the metadata operation targets an object identified by an identifier; *see FIGS.1-4, para11(“…method and system for tracking file system objects (e.g., files, directories…change operation can include…modifying content of a file, deleting a file, creating a file…”), paras19-23(“…storage servers 143A-C can include a tracking sub-module 127A-C to track unsuccessful change operations associated with a file and/or directory…storage modules 114A-C include the tracking sub-modules 127A-C. There can be tracking data for each storage server 143A-C. The tracking module 127A-C can create tracking data that describes which files and/or directories are associated with unsuccessful change operations…tracking data is a list of file system object identifiers. Examples of file system objects…files, directories, sub-directories…tracking data for storage server 143A can be a list of file identifiers and/or directory identifiers that are related to unsuccessful replication operations…127A-C can use the change log values to create the tracking data [storing identifiers of objects pending to be modified by operations…]…127A-C can detect when the change log values are modified and update the tracking data based on the modification [teaches occurrence of a replay triggering event, under its broadest reasonable interpretation]…when the tracking sub-module 127A-C reads at least one non-zero value in a change log, the tracking sub-module 127A-C can add the file identifier that corresponds to the change log to the tracking data. When the tracking sub-module 127A-C reads all zero values in a change log, the tracking sub-module 127A-C can remove the file identifier that corresponds to the change log from the tracking data…tracking data can be provided to another file system component, such as a pro-active self-healing subsystem. The pro-active self-healing subsystem can identify from the tracking data which files and/or directories should be self-healed without having to crawl the entire file system or having to crawl the entire replication directory hierarchy [teaches occurrence of a replay triggering event, under its broadest reasonable interpretation]. When the file and/or directory is self-healed, the pro-active self-healing subsystem can modify the change log value to reflect the successful self-heal of the file or directory […replay a metadata operation upon the file system] …tracking module 127A) can detect the change log being updated, may read all zero values in the updated change log, and can remove the object identifier for the file or directory from the tracking data to indicate that the file or directory is no longer associated with an unsuccessful change operation [metadata operation targets object identified by identifier]…”; “change log + tracking data” teaches ‘tracking data structure’ that tracks objects associated with pending operations”), paras24-26(“…FIG. 2 …tracking sub-modules 215A-C tracking file system objects (e.g., files, directories) that are being changed and having the change replicated to other storage servers…replicate module 215A may receive (250) a write request [operation] from a file system client...write request is a request to change the data in File-I 223. The replicate module 213A can increment (251) the counts in a change log 225 for File-I 223 to indicate the change being made to the local File-I 223 and being replicated to File-1231 on Machine-B 203 and to File-I 241 on Machine-C 205…When a change log (e.g. change log 225) includes a non-zero value, the tracking module 215A can add (255) the identifier of the file (e.g., identifier or File-I 223) to tracking data 227. The tracking data 227 can be stored in the data store 217A [storing identifiers] …”) Avati does not expressly teach ‘…in response to the identifier matching the identifiers of the objects, withholding dispatch of the metadata operation to the file system; and in response to the identifier not matching the identifiers of the objects, dispatching the metadata operation to the files system.' However, Ngan teaches …in response to the identifier matching the identifiers of the objects, withholding dispatch of the metadata operation to the file system; and in response to the identifier not matching the identifiers of the objects, dispatching the metadata operation to the files system. *see para19(“A dirty region log, such as a bitmap, may be used to track what regions of the first storage have been changed by storage operations that have not yet been replicated to the second storage…sync log…in-flight log…” teaches identifiers of the objects pending to be modified by operations, under its broadest reasonable interpretation), paras33,49(“ …catchup synchronization phase may use an in-flight log and/or a dirty region log (e.g., used to track storage operations received by the node 202 and/or regions within the data storage devices 234 modified by storage operations not yet replicated [withheld…operation] to the second data storage device) to asynchronously replicate data to the second data storage device”), paras53-54(“…catchup synchronization…may be used to replicate a region based upon at least one of the dirty region log indicating that the region is dirty (e.g., has been modified by a storage operation that has not been replicated to the second storage) or the in-flight log indicating that a storage operation, associated with the region, has not been committed to both the first storage and the second storage [logs include identifiers of objects pending to be modified by operations…, under its broadest reasonable interpretation]… resync scanner may be invoked [teaches occurrence of a replay triggering event, under its broadest reasonable interpretation] to evaluate the dirty region log and/or the in-flight log to identify one or more regions within the first storage to replicate to the second storage using catchup synchronization...Responsive to synchronizing a region, specified as dirty by a dirty region entry within the dirty region log, as committed to the second storage, the dirty region entry may be cleared…During the catchup synchronization phase, new storage operations may be received and processed by the first storage node. If a new storage operation corresponds to a dirty region identified by the dirty region log [teaches target is dirty, i.e., in response to identifier matching identifiers of objects], then the first storage operation may be committed to the dirty region within the first storage…for subsequent synchronization by catchup synchronization functionality (e.g., asynchronous replication by the resync scanner) [teaches not replicated to second storage, i.e.: withholding dispatch of metadata operation to file system, as target is dirty]. If the new storage operation corresponds to a non-dirty region [in response to identifier not matching identifiers of objects] within the first storage, then the new storage operation may be synchronously, such as in real-time, committed to the first storage and replicated to the second storage [dispatching metadata operation to files system]), para62(“...where a storage operation corresponds to a dirty region, such as the second region 442, the storage operation may be committed into the first storage 404 and may be later synchronized to the second storage 414 by a resync scanner because the second region 442 is already indicated as being dirty by the dirty region log…” teaches withholding operation until log doesn’t include identifier as dirty). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Avati with the teachings of Ngan and enable Avati to evaluate if identifier of object involved in operation is present in the tracked identifiers to decide if dispatch of operation to file system should be withheld, as doing so would enable maintaining consistency with snapshots, reducing latency in responding to clients (Ngan, para19). Regarding claim 2, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 1 above. Avati as modified by Ngan further teaches The method of claim 1, comprising: populating the identifiers into a tracking structure; and querying the tracking structure using the identifier of the object targeted by the metadata operation. *see Avati-paras19-23(“…storage servers 143A-C can include a tracking sub-module 127A-C to track unsuccessful change operations associated with a file and/or directory…tracking module 127A-C can create tracking data that describes which files and/or directories are associated with unsuccessful change operations…tracking data is a list of file system object identifiers. Examples of file system objects…files, directories, sub-directories…tracking data for storage server 143A can be a list of file identifiers and/or directory identifiers that are related to unsuccessful replication operations…127A-C can use the change log values to create the tracking data [populating identifiers into tracking structure]…127A-C can detect when the change log values are modified and update the tracking data based on the modification…when the tracking sub-module 127A-C reads at least one non-zero value in a change log [querying…], the tracking sub-module 127A-C can add the file identifier that corresponds to the change log to the tracking data. When the tracking sub-module 127A-C reads all zero values in a change log [querying…], the tracking sub-module 127A-C can remove the file identifier that corresponds to the change log from the tracking data…tracking data can be provided to another file system component, such as a pro-active self-healing subsystem. The pro-active self-healing subsystem can identify from the tracking data which files and/or directories should be self-healed [teaches identifier of object targeted by change/operation, querying tracking structure…] without having to crawl the entire file system or having to crawl the entire replication directory hierarchy…tracking module 127A) can detect the change log being updated, may read all zero values in the updated change log, and can remove the object identifier for the file or directory from the tracking data to indicate that the file or directory is no longer associated with an unsuccessful change operation [teaches querying tracking structure using identifier of object targeted by change/operation, under its broadest reasonable interpretation]…”), paras24-26(“…FIG. 2 …tracking sub-modules 215A-C tracking file system objects (e.g., files, directories) that are being changed and having the change replicated to other storage servers… replicate module 215A may receive (250) a write request [operation] from a file system client...write request is a request to change the data in File-I 223. The replicate module 213A can increment (251) the counts in a change log 225 for File-I 223 to indicate the change being made to the local File-I 223 and being replicated to File-1231 on Machine-B 203 and to File-I 241 on Machine-C 205…replicate module 213A can increment the counts in the change log 225 by performing an extended attribute operation…215A in Storage-Server-A 207A can identify the extended attribute operation that is changing the counts in the change log 225 and can perform a read operation of the change log 225 [querying…] to determine whether the current counts include all zero values or include at least one non-zero value. For example, the tracking module may determine (253) that the counts are (1,1,1) which include a non-zero value. When a change log (e.g. change log 225) includes a non-zero value, the tracking module 215A can add (255) the identifier of the file (e.g., identifier or File-I 223) to tracking data 227. The tracking data 227 can be stored in the data store 217A…”) Regarding claim 3, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 1 above. Avati as modified by Ngan further teaches The method of claim 1, comprising: in response to dispatching the metadata operation to the file system, populating the identifier into a tracking structure used to store the identifiers. *see Avati-paras22-23(“…storage servers 143A-C can include a tracking sub-module 127A-C to track unsuccessful change operations associated with a file and/or directory…storage modules 114A-C include the tracking sub-modules 127A-C. There can be tracking data for each storage server 143A-C. The tracking module 127A-C can create tracking data that describes which files and/or directories are associated with unsuccessful change operations [dispatching metadata operation to file system…populating identifier into tracking structure]…tracking data is a list of file system object identifiers…tracking data for storage server 143A can be a list of file identifiers and/or directory identifiers that are related to unsuccessful replication operations…127A-C can use the change log values to create the tracking data… 127A-C can detect when the change log values are modified and update the tracking data based on the modification…when the tracking sub-module 127A-C reads at least one non-zero value in a change log, the tracking sub-module 127A-C can add the file identifier that corresponds to the change log to the tracking data… ”; “change log + tracking data” teaches tracking structure, that is populated with object identifiers associated with pending operations) Regarding claim 4, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 1 above. Ngan further teaches The method of claim 1, wherein the withholding dispatch comprises: queuing the metadata operation until the identifier no longer matches the identifiers of the objects. *see para33(“dirty region log (e.g., used to track storage operations received by the node 116 and/or regions within the data storage device 128 modified by storage operations but not yet replicated to the data storage device 130…” teaches queuing metadata operation until…), paras 53-54(“…catchup synchronization…may be used to replicate a region based upon at least one of the dirty region log indicating that the region is dirty (e.g., has been modified by a storage operation that has not been replicated to the second storage) or the in-flight log indicating that a storage operation, associated with the region, has not been committed to both the first storage and the second storage…resync scanner may be invoked to evaluate the dirty region log and/or the in-flight log to identify one or more regions within the first storage to replicate to the second storage using catchup synchronization...Responsive to synchronizing a region, specified as dirty by a dirty region entry within the dirty region log, as committed to the second storage, the dirty region entry may be cleared…During the catchup synchronization phase, new storage operations may be received and processed by the first storage node. If a new storage operation corresponds to a dirty region identified by the dirty region log [teaches target is dirty, i.e., identifier matches identifiers of objects], then the first storage operation may be committed to the dirty region within the first storage…for subsequent synchronization by catchup synchronization functionality (e.g., asynchronous replication by the resync scanner) [teaches operation is withheld for second storage, and remembered, i.e., queued in some form for subsequent synchronization, ‘queuing metadata operation until identifier no longer matches identifiers of objects’, under broadest reasonable interpretation of elements’]), para62(“...where a storage operation corresponds to a dirty region, such as the second region 442, the storage operation may be committed into the first storage 404 and may be later synchronized to the second storage 414 by a resync scanner because the second region 442 is already indicated as being dirty by the dirty region log…” also teaches operation being withheld/queued in some form for later synchronization as region is indicated as dirty/identifier matches, under broadest reasonable interpretation). Regarding claim 5, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 1 above. Avati as modified by Ngan teaches The method of claim 1, wherein the identifiers comprise file identifiers and the objects comprise files targeted by the operations dispatched to the file system. *see Avati:paras19-23(“…storage servers 143A-C can include a tracking sub-module 127A-C to track unsuccessful change operations associated with a file and/or directory…storage modules 114A-C include the tracking sub-modules 127A-C. There can be tracking data for each storage server 143A-C. The tracking module 127A-C can create tracking data that describes which files and/or directories are associated with unsuccessful change operations…tracking data is a list of file system object identifiers [file identifiers …objects comprise files]. Examples of file system objects…files, directories, sub-directories…tracking data for storage server 143A can be a list of file identifiers and/or directory identifiers that are related to unsuccessful replication operations… 127A-C can use the change log values to create the tracking data…pro-active self-healing subsystem can identify from the tracking data which files and/or directories should be self-healed without having to crawl the entire file system or having to crawl the entire replication directory hierarchy. When the file and/or directory is self-healed, the pro-active self-healing subsystem can modify the change log value to reflect the successful self-heal of the file or directory…”), paras24-26(“…FIG. 2 … tracking sub-modules 215A-C tracking file system objects (e.g., files, directories) that are being changed and having the change replicated to other storage servers…”) Regarding claim 6, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 1 above. Avati as modified by Ngan teaches The method of claim 1, wherein the identifiers comprise directory identifiers and the objects comprise directories targeted by the operations dispatched to the file system. *see Avati:paras19-23(“…storage servers 143A-C can include a tracking sub-module 127A-C to track unsuccessful change operations associated with a file and/or directory…storage modules 114A-C include the tracking sub-modules 127A-C. There can be tracking data for each storage server 143A-C. The tracking module 127A-C can create tracking data that describes which files and/or directories are associated with unsuccessful change operations…tracking data is a list of file system object identifiers. Examples of file system objects…files, directories, sub-directories… tracking data for storage server 143A can be a list of file identifiers and/or directory identifiers that are related to unsuccessful replication operations [directory identifiers…objects comprise directories]… 127A-C can use the change log values to create the tracking data…pro-active self-healing subsystem can identify from the tracking data which files and/or directories should be self-healed without having to crawl the entire file system or having to crawl the entire replication directory hierarchy. When the file and/or directory is self-healed, the pro-active self-healing subsystem can modify the change log value to reflect the successful self-heal of the file or directory…”), paras24-26(“…FIG. 2 … tracking sub-modules 215A-C tracking file system objects (e.g., files, directories) that are being changed and having the change replicated to other storage servers…”) Regarding claim 7, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 1 above. Avati as modified by Ngan teaches The method of claim 1, wherein the identifiers comprise inode numbers of the objects targeted by the operations dispatched to the file system. *see Avati:para15(“Examples of file system clients 125A-B can include, and are not limited to, native file system clients and network file system (NFS) clients. "Native" can describe support for specific operating systems. For example, a native file system client may be, and is not limited to, a file system client that supports the Linux operating system”; It is known in the art that inode numbers are used to refer to files and directories in the Linux operating system) Regarding claim 8, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 1 above. Avati as modified by Ngan teaches The method of claim 1, comprising: executing the metadata operation at a first computing environment, wherein the execution is tracked to identify the object modified by the identifier. *see Avati:FIGS.1-4, paras19-23(“…storage servers 143A-C can include a tracking sub-module 127A-C to track unsuccessful change operations associated with a file and/or directory…storage modules 114A-C include the tracking sub-modules 127A-C. There can be tracking data for each storage server 143A-C [executing metadata operation at first/second computing environment…execution is tracked…]. The tracking module 127A-C can create tracking data that describes which files and/or directories are associated with unsuccessful change operations…tracking data for storage server 143A can be a list of file identifiers and/or directory identifiers that are related to unsuccessful replication operations…127A-C can use the change log values to create the tracking data…127A-C can detect when the change log values are modified and update the tracking data based on the modification…when the tracking sub-module 127A-C reads at least one non-zero value in a change log, the tracking sub-module 127A-C can add the file identifier that corresponds to the change log to the tracking data. When the tracking sub-module 127A-C reads all zero values in a change log, the tracking sub-module 127A-C can remove the file identifier that corresponds to the change log from the tracking data…tracking data can be provided to another file system component, such as a pro-active self-healing subsystem…When the file and/or directory is self-healed, the pro-active self-healing subsystem can modify the change log value to reflect the successful self-heal of the file or directory …tracking module 127A) can detect the change log being updated, may read all zero values in the updated change log, and can remove the object identifier for the file or directory from the tracking data to indicate that the file or directory is no longer associated with an unsuccessful change operation…”), paras24-26(“…FIG. 2 …tracking sub-modules 215A-C tracking file system objects (e.g., files, directories) that are being changed and having the change replicated to other storage servers…replicate module 215A may receive (250) a write request [operation] from a file system client...write request is a request to change the data in File-I 223. The replicate module 213A can increment (251) the counts in a change log 225 for File-I 223 to indicate the change being made to the local File-I 223 [executing metadata operation at first computing environment …execution tracked to identify object modified by identifier] and being replicated to File-1231 on Machine-B 203 and to File-I 241 on Machine-C 205… When a change log (e.g. change log 225) includes a non-zero value, the tracking module 215A can add (255) the identifier of the file (e.g., identifier or File-I 223) to tracking data 227. The tracking data 227 can be stored in the data store 217A…”) Regarding claim 9, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 1 above. Avati as modified by Ngan teaches The method of claim 1, comprising: replaying execution of the metadata operation upon the file system of a second computing environment as a replication of the metadata operation. *see Avati:FIGS.1-4, paras19-23(“…storage servers 143A-C can include a tracking sub-module 127A-C to track unsuccessful change operations associated with a file and/or directory…storage modules 114A-C include the tracking sub-modules 127A-C. There can be tracking data for each storage server 143A-C. The tracking module 127A-C can create tracking data that describes which files and/or directories are associated with unsuccessful change operations…tracking data for storage server 143A can be a list of file identifiers and/or directory identifiers that are related to unsuccessful replication operations…127A-C can use the change log values to create the tracking data…127A-C can detect when the change log values are modified and update the tracking data based on the modification…when the tracking sub-module 127A-C reads at least one non-zero value in a change log, the tracking sub-module 127A-C can add the file identifier that corresponds to the change log to the tracking data. When the tracking sub-module 127A-C reads all zero values in a change log, the tracking sub-module 127A-C can remove the file identifier that corresponds to the change log from the tracking data…tracking data can be provided to another file system component, such as a pro-active self-healing subsystem…When the file and/or directory is self-healed, the pro-active self-healing subsystem can modify the change log value to reflect the successful self-heal of the file or directory …tracking module 127A) can detect the change log being updated, may read all zero values in the updated change log, and can remove the object identifier for the file or directory from the tracking data to indicate that the file or directory is no longer associated with an unsuccessful change operation…”), paras24-26(“…FIG. 2 …tracking sub-modules 215A-C tracking file system objects (e.g., files, directories) that are being changed and having the change replicated to other storage servers…replicate module 215A may receive (250) a write request [operation] from a file system client...write request is a request to change the data in File-I 223. The replicate module 213A can increment (251) the counts in a change log 225 for File-I 223 to indicate the change being made to the local File-I 223 and being replicated to File-1231 on Machine-B 203 and to File-I 241 on Machine-C 205 [replaying execution of metadata operation upon file system of a second computing environment as a replication…]…When a change log (e.g. change log 225) includes a non-zero value, the tracking module 215A can add (255) the identifier of the file (e.g., identifier or File-I 223) to tracking data 227. The tracking data 227 can be stored in the data store 217A…”) Regarding claim 10, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 1 above. Avati as modified by Ngan teaches The method of claim 1, wherein the metadata operation comprises a create object metadata operation, and wherein method comprises: tracking execution of the create object metadata operation to determine that the create object metadata operation modifies a parent directory object and a new object being created within the parent directory object by the create object metadata operation. *see Avati:para21 (“The storage servers 143A-C can also create and/or update a change log for a directory (e.g., directory 173A-C), for example, when there is a change being made to a directory and copies of the directory”, “Examples of a change to a directory can include… a file being created in a directory…” teaches create object metadata operation, “… A directory ( e.g., directory 173A-C) can have a change log that includes counts representing change operations that are associated with changing a file in the directory” teaches file addition/creation operations (‘link object metadata operation’) are tracked in order to determine when a link to a file (‘object’) is added to a directory) Regarding claim 11, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 1 above. Avati as modified by Ngan teaches The method of claim 1, wherein the metadata operation comprises a link object metadata operation, and wherein method comprises: tracking execution of the link object metadata operation to determine that the link object metadata operation modifies an inode object to which a new link is to be established and a new parent directory hosting the new link. *see Avati:para21(“The storage servers 143A-C can also create and/or update a change log for a directory ( e.g., directory 173A-C), for example, when there is a change being made to a directory and copies of the directory. Examples of a change to a directory can include… a file being created in a directory…”; It is understood in the art that creating a file in a directory involves adding a link to the file (‘object’) to the directory), “… A directory ( e.g., directory 173A-C) can have a change log that includes counts representing change operations that are associated with changing a file in the directory” teaches file addition/creation operations, i.e., ‘link object metadata operation’ under its broadest reasonable interpretation, are tracked in order to determine when a link to a file/object is added to a directory). Regarding claim 12, Claim 12 recites substantially the same claim limitations as claim 1, and is rejected for the same reasons. Regarding claim 13, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 12 above. Avati as modified by Ngan teaches The computing device of claim 12, wherein the metadata operation comprises an unlink object metadata operation, and wherein the operations comprise: tracking execution of the unlink object metadata operation to determine that the unlink object metadata operation modifies an inode object from which a link is being removed and a parent directory that was hosting the link. *see Avati:para21(“The storage servers 143A-C can also create and/or update a change log for a directory ( e.g., directory 173A-C), for example, when there is a change being made to a directory and copies of the directory. Examples of a change to a directory can include… a file being deleted in a directory, etc.” teaches unlink object metadata operation, as it is understood in the art that deleting a file from a directory involves unlinking or removing the link to the file (“object”) from the directory, “…A directory ( e.g., directory 173A-C) can have a change log that includes counts representing change operations that are associated with changing a file in the directory” teaches that directory changes, including deletion of files, are tracked; It is understood in the art that deleting a file from a directory involves modifying the metadata of the file (‘inode object’) and removing the link to the file (‘object’) from the parent directory). Regarding claim 14, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 12 above. Avati as modified by Ngan teaches The computing device of claim 12, wherein the metadata operation comprises a rename metadata operation, and wherein the operations comprise: tracking execution of the rename metadata operation to determine that the rename metadata operation modifies a first directory within which a file being renamed was stored, a second directory into which the file being renamed will be stored, and the file. *see Avati:para11 (“…a method and system for tracking file system objects (e.g., files, directories, sub-directories)”; para [0018]: “171 C. Examples of changes can include, and are not limited to,… rename of a file” teaches rename metadata operation), para21(“The storage servers 143A-C can also create and/or update a change log for a directory (e.g., directory 173A-C), for example, when there is a change being made to a directory and copies of the directory…A directory ( e.g., directory 173A-C) can have a change log that includes counts representing change operations that are associated with changing a file in the directory” teaches file changes in directory and copies of the directory, i.e., first and second directory are tracked/in change log) Regarding claim 15, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 14 above. Avati as modified by Ngan teaches The computing device of claim 14, wherein the operations comprise: tracking the execution of the rename metadata operation to determine that the rename metadata operation modifies a second file, within the second directory, having a same name as the file, wherein the rename metadata operation overwrites the second file with the file. *see Avati:para21(“The storage servers 143A-C can also create and/or update a change log for a directory (e.g., directory 173A-C), for example, when there is a change being made to a directory and copies of the directory…” teaches that file changes in first and second directory are tracked. It is well understood in the art that when renaming a file in a directory that contains a second file with the same name, a common approach is to overwrite the second file with the file, with or without prompting the user). Regarding claim 16, Avati as modified by Ngan teaches all the claimed limitations as set forth in the rejection of claim 12 above. Avati as modified by Ngan teaches The computing device of claim 12, wherein the metadata operation comprises a set attribute metadata operation, and wherein the operations comprise: tracking execution of the set attribute metadata operation to determine that the set attribute metadata operation modifies an object whose attribute is being set by the set attribute metadata operation. *see Avati:para11(“method and system for tracking file system objects (e.g., files, directories, sub-directories)…”), para18(“Examples of changes can include, and are not limited to,... rename of a file…etc.” teaches operations involving changes to attributes of a file or a directory, including ‘set attribute’ operation, under the broadest reasonable interpretation), para20(“When the change is made to file 171A and successfully replicated to file 171B and file 171 C, the storage servers 143A-C can update the local change logs to reflect the successful change operations”), para22(“tracking sub-modules 127 A-C can detect when the change log values are modified and update the tracking data based on the modification…” teaches changes to a file, including ‘set attribute’ operation, being tracked in order to determine if object/file has been modified). Regarding claim 17, Claim 17 recites substantially the same claim limitations as claim 1, and is rejected for the same reasons. Regarding claim 18, Claim 18 recites substantially the same claim limitations as claim 2, and is rejected for the same reasons. Regarding claim 19, Claim 19 recites substantially the same claim limitations as claim 3, and is rejected for the same reasons. Regarding claim 20, Claim 20 recites substantially the same claim limitations as claim 4, and is rejected for the same reasons. Conclusion The prior art made of record in PTO-892 and not relied upon is considered pertinent to applicant's disclosure. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANUGEETHA KUNJITHAPATHAM whose telephone number is (408)918-7510. The examiner can normally be reached M-F 9-5 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, Aleksandr Kerzhner can be reached at (571) 270-1760. 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.K./Examiner, Art Unit 2165 /ALEKSANDR KERZHNER/Supervisory Patent Examiner, Art Unit 2165
Read full office action

Prosecution Timeline

Mar 09, 2025
Application Filed
Jun 24, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12619666
Integrated Document Scoring and Prioritization Systems and Methods for Enhanced Document Review in E-Discovery
1y 11m to grant Granted May 05, 2026
Patent 12554590
DEDUPLICATING FILES ACROSS MULTIPLE STORAGE TIERS IN A CLUSTERED FILE SYSTEM NETWORK
2y 10m to grant Granted Feb 17, 2026
Patent 12524487
Display Device Displaying a Keyword for Selecting a Next Slide During Presentation
2y 2m to grant Granted Jan 13, 2026
Patent 12511338
CONFERENCE INFORMATION QUERY METHOD AND APPARATUS, STORAGE MEDIUM, TERMINAL DEVICE, AND SERVER
2y 5m to grant Granted Dec 30, 2025
Patent 12499091
Prioritized Deduplication
1y 7m to grant Granted Dec 16, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
60%
Grant Probability
89%
With Interview (+28.8%)
3y 1m (~1y 9m remaining)
Median Time to Grant
Low
PTA Risk
Based on 88 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month