Prosecution Insights
Last updated: July 17, 2026
Application No. 18/238,192

METHOD, DEVICE, AND COMPUTER PROGRAM PRODUCT FOR DATA RECOVERY

Final Rejection §103
Filed
Aug 25, 2023
Priority
Jan 19, 2023 — CN 202310080342.8
Examiner
HOANG, KEN
Art Unit
2168
Tech Center
2100 — Computer Architecture & Software
Assignee
Dell Products L.P.
OA Round
4 (Final)
73%
Grant Probability
Favorable
5-6
OA Rounds
2m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 73% — above average
73%
Career Allowance Rate
283 granted / 390 resolved
+17.6% vs TC avg
Strong +30% interview lift
Without
With
+30.2%
Interview Lift
resolved cases with interview
Typical timeline
3y 1m
Avg Prosecution
14 currently pending
Career history
418
Total Applications
across all art units

Statute-Specific Performance

§101
2.6%
-37.4% vs TC avg
§103
93.7%
+53.7% vs TC avg
§102
1.2%
-38.8% vs TC avg
§112
2.0%
-38.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 390 resolved cases

Office Action

§103
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 . In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. Examiner Notes (1) In the case of amending the Claimed invention, Applicant is respectfully requested to indicate the portion(s) of the specification which dictate(s) the structure relied on for proper interpretation and also to verify and ascertain the metes and bounds of the claimed invention. This will assist in expediting compact prosecution. MPEP 714.02 recites: “Applicant should also specifically point out the support for any amendments made to the disclosure. See MPEP § 2163.06. An amendment which does not comply with the provisions of 37 CFR 1.121 (b), (c), (d), and (h) may be held not fully responsive. See MPEP § 714.” Amendments not pointing to specific support in the disclosure may be deemed as not complying with provisions of 37 C.F.R. 1.131 (b), (c), (d), and (h) and therefore held not fully responsive. Generic statements such as "Applicants believe no new matter has been introduced" may be deemed insufficient. (2) Examiner cites particular columns, paragraphs, figures and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner. Remarks Receipt of Applicant’s Amendment file on 04/06/2026 is acknowledged. Response to Arguments Applicant’s arguments with respect to claims 1 have been considered but are moot in view of the new ground(s) of rejection (See new reference of Armangau). Regarding claim 10 and 19, applicant's arguments filed 04/06/2026 have been fully considered but they are not persuasive. Regarding claim 10, Applicant argues that cited references fails to disclose “the set of pointers mapping a logical space of the extension table in the namespace layer to a storage space in a storage apparatus layer that stores data containing the extension table”. Respectfully, it is noted that Defrance reference, Fig. 1, col. 9, col. 10, line 1-16, fig. 11 and 12, teaches the inode is the entry point to a file; it contains file id, pointers on the file data space and additional information; the inode may be extended (inode extension, also called second file information structure); it necessary to store additional space pointers, inode and extensions are stored in an mode and Extension table; fig. 11 gives a description of the extension structure, which contain either up to 12 runs or zone address; it may point on another extension; zone or run address: it is a four-byte indicating a zone address if the file is an informative data and a run address if the file is a video file; this field indicates the location of the file on the storage device; also see col. 5, line 25, Extension: the extension of an inode; inodes are supposed to contain the whole description of the file data space; if not efficient, they point to an extension (which, itself, may point to another extension of necessary, constituting a chain list); noted, the pointer in the file data space and its extension, which is mapped to the location of the file on the storage device, which reads on “pointers mapping a logical space of the extension table in the namespace layer to a storage space in a storage apparatus layer that stores data containing the extension table” as claimed Therefore the cited reference discloses the limitation. The rejection of claim is maintained for similar reason. 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 of this title, 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-10 are rejected under 35 U.S.C. 103 as being unpatentable over Chawla et al. (U.S. pub. No. 2021/0034467 A1) in view of Mathew et al. (U.S. Pub. No. 2021/0026827 A1), further in view of Armangau et al. (U.S. Patent No. 8,996,490 B1). Regarding claim 1, Chawla teaches a method for data recovery, comprising: determining, based on a relationship between a missing inode in an inode table and a data logical address in an extension table that store information about multiple inodes, whether the inode is a target inode that is able to be recovered (Figs. 2-3, and 8, paragraph [0099], examination may determine that the inode #1 has its data located logical addresses of the FS logical address space that are associated with the particular MD pointers to MD mid nodes in the 512 entries of the shadow top structure; examination of the inode table determines that the inode structure for inode=1 is missing and may use the above-noted information to determine, recover and reconstruct, for example the family ID 106c and the object extent location 106d for the inode=1); acquiring, in response to a determination that the inode is the target inode, associated data corresponding to the target inode (paragraph [0099], examination may determine that the inode #1 has its data located logical addresses of the FS logical address space that are associated with the particular MD pointers to MD mid nodes in the 512 entries of the shadow top structure; examination of the inode table determines that the inode structure for inode=1 is missing and may use the above-noted information to determine, recover and reconstruct, for example the family ID 106c and the object extent location 106d for the inode=1; also see paragraph [0105]-[0106]); and recovering the inode based on the acquired associated data (paragraph [0099], [0106], processing performed using the shadow top structures, a temporary set of inode structures may be constructed; the temporary set may be compared to the existing inode table and used to update the inode table, as needed; any missing or invalid information the existing inode table may be replaced with corresponding information of the temporary set) but does not explicitly disclose: said determining including accessing the extension table within a namespace layer of a storage system via a set of pointers in a mapping layer of the storage system. Mathew teaches: said determining including accessing the extension table within a namespace layer of a storage system via a set of pointers in a mapping layer of the storage system (paragraph [0030], the next layer is the directory manager layer; this layer includes namespace stored in the tree structures as key-value pairs; also see paragraph [0033]-[0035], file systems store the name space information with parent directory inode as the primary key and child inode number as the secondary key; storing the block map to store files using a set of three abstraction or records including inode ID, dirent and name hash; the dirent (directory entry) is a structure type used to return information (e.g., name) about directory entries; the name hash is a hash value lookup comparisons; a file is distinctly identified by the following structure [inode, dirent, hash], where the entry of the structure is reference by the directory: file index for inode; other entry of the structure are also possible, such as file attributes, parameters specific to the inode and other information specific to the system; noted, “the next layer is the directory manager layer; this layer includes namespace stored in the tree structures as key-value pairs” is interpreted as “namespace layer”; the “block map to store files” is interpreted as “mapping layer”; the “the following structure [inode, dirent, hash], where the entry of the structure is reference by the directory: file index for inode” is interpreted as pointer to identifying the inode based on directory:file index; also see paragraph [0043], any lookup based on the file handle based off the old directory will first fail, which is an indication of determining whether the inode is valid through the directory:file reference in regards to key-value pair of namespace in directory manager layer; therefore it reads on as claimed). It would have been obvious to one of ordinary skill in art at the time of the invention was made to include said determining including accessing the extension table within a namespace layer of a storage system via a set of pointers in a mapping layer of the storage system into inode missing analysis of Chawla. Motivation to do so would be to include said determining including accessing the extension table within a namespace layer of a storage system via a set of pointers in a mapping layer of the storage system to provide a system and method for handling renames that optimizes lookups after a file rename (Mathew, paragraph [0007]). Chawla as modified by Mathew do not explicitly disclose: the set of pointers mapping a host accessible logical space of the extension table in the namespace layer to a storage space in a storage apparatus layer that stores data containing the extension table. Armangau teaches: the set of pointers mapping a host accessible logical space of the extension table in the namespace layer to a storage space in a storage apparatus layer that stores data containing the extension table (col. 14, line 5-22, a logical view (also referred to herein as “primary namespace view”) of a set of files is created by creating a primary namespace inode (also referred to herein as “working file namespace inode”) that includes a mapping of real inode for each file of the set of files of the logical view to a virtual inode file of each file; an indirect block pointer of the primary namespace inode points to an indirect block containing an inode file where each entry of the inode file corresponds to each file of the set of files of the primary namespace view; also see col. 5, line 33-37, a storage object is accessed by a mapping (e.g., a double mapping) where a virtual inode of a file is mapped to a real inode of the file, and the real inode is used to access content of the file; also see col. 4, line 32-47; also see Fig. 5, col. 11). It would have been obvious to one of ordinary skill in art at the time of the invention was made to include the set of pointers mapping a host accessible logical space of the extension table in the namespace layer to a storage space in a storage apparatus layer that stores data containing the extension table into inode missing analysis of Chawla. Motivation to do so would be to include the set of pointers mapping a host accessible logical space of the extension table in the namespace layer to a storage space in a storage apparatus layer that stores data containing the extension table to overcome issue with difficulty or impossible for the conventional snapshot utility to create a version of a file system namespace view that is based on a file directory (Armangau, col. 3, line 36-38). Regarding claim 2, Chawla as modified by Mathew and Armangau teach all claimed limitations as set forth in rejection of claim 1, further teach wherein determining whether the inode is a target inode comprises: determining whether the inode is a failed inode by validating the inode in the inode table; determining, by validating an inode allocator, a missing inode corresponding to the failed inode from an inode set indicated by the inode allocator; and determining whether the failed inode is the target inode by using the missing inode and the extension table (Chawla, paragraph [0099], [0105]-[0106], assuming that MD tops describes MD used to determine data blocks for only a single LUN, LUN 101 with inode #=` where each entry of the shadow top structure for MD top node includes the inode # and family ID for LUN 1; determining that inode #1 has its data located in logical address of the FS logical address space that are associated with particular MD pointer to MD mid nodes in the 512 entries of the shadow structure; examination of the inode table determine that inode structure for inode=1 is missing and may use the above-noted information to determine, recover and reconstruct, for example, family ID and the object extent location for the inode=1). Regarding claim 3, Chawla as modified by Mathew and Armangau teach all claimed limitations as set forth in rejection of claim 2, further teach wherein determining whether the failed inode is the target inode comprises: determining, for the missing inode, whether there is an associated data logical address in the extension table; and determining the failed inode as the target inode in response to a determination that the associated data logical address exists in the extension table (Chawla, paragraph [0115], an inode structure of the inode table is corrupted or contains invalid data; for example, at least one of the inode number, object extent location, and family member of an inode structure is corrupted; also see paragraph [0099], assuming that MD tops describes MD used to determine data blocks for only a single LUN, LUN 101 with inode #=` where each entry of the shadow top structure for MD top node includes the inode # and family ID for LUN 1; determining that inode #1 has its data located in logical address of the FS logical address space that are associated with particular MD pointer to MD mid nodes in the 512 entries of the shadow structure; examination of the inode table determine that inode structure for inode=1 is missing and may use the above-noted information to determine, recover and reconstruct, for example, family ID and the object extent location for the inode=1; also see paragraph [0106], the table or list of shadow top structure is used to recover information of the corrupted inode structure). Regarding claim 4, Chawla as modified by Mathew and Armangau teach all claimed limitations as set forth in rejection of claim 1, further teach wherein acquiring the associated data comprises: acquiring first associated sub-data associated with the target inode from a mapping layer, and the first associated sub-data comprises at least one of the following: an object type, a snapshot group identity (ID), a volume ID, an inode ID, an object instance ID, or data extension information (Chawla, Fig. 3 and 8, paragraph [0046]-[0047], paragraph [0106], the inode table may be table with an entry for each inode structure; the structure inode includes an nide number, has an object type, family ID, object extent location; the table or list of shadow top structure is used to recover information of the corrupted inode structure; also see Fig. 8, paragraph [0092]-[0093], the shadow top structure may include an entry for each pointer or entry of a MD top node; each MD top node may include a list or table of 512 pointers whereby the shadow top structure 710 also includes 512 entries; in the example 700, element 710a illustrates information that may be include in each entry of the shadow top structure; each entry of the shadow top structure, such as entry #1, may include an inode number (#) and family ID for a different one of the 512 pointers or references in the MD top node to a MD mid node). Regarding claim 5, Chawla as modified by Mathew and Armangau teach all claimed limitations as set forth in rejection of claim 4, further teach wherein acquiring the associated data further comprises: determining, based on the snapshot group ID, an associated inode corresponding to the target inode in the inode table; and acquiring, by using the associated inode, second associated sub-data associated with the target inode (Chawla, paragraph [0099], [0105]-[0106], assuming that MD tops describes MD used to determine data blocks for only a single LUN, LUN 101 with inode #=` where each entry of the shadow top structure for MD top node includes the inode # and family ID for LUN 1; determining that inode #1 has its data located in logical address of the FS logical address space that are associated with particular MD pointer to MD mid nodes in the 512 entries of the shadow structure; examination of the inode table determine that inode structure for inode=1 is missing and may use the above-noted information to determine, recover and reconstruct, for example, family ID and the object extent location for the inode=1; processing performed using the shadow top structures, a temporary set of inode structures may be constructed; the temporary set may be compared to the existing inode table and used to update the inode table, as needed; any missing or invalid information the existing inode table may be replaced with corresponding information of the temporary set). Regarding claim 6, Chawla as modified by Mathew and Armangau teach all claimed limitations as set forth in rejection of claim 5, further teach wherein acquiring the associated data further comprises: determining whether the associated inode is a family inode based on a field used for indicating a data source in the associated inode, and in a case where the associated inode is a family inode, the second associated sub- data is acquired through the family inode (Chawla, paragraph [0094]-[0095]). Regarding claim 7, Chawla as modified by Mathew and Armangau teach all claimed limitations as set forth in rejection of claim 6, further teach wherein the second associated sub-data comprises at least one of the following: a family ID, a parent inode ID, a tenant ID, or a globally unique file storage ID (Chawla, Fig. 8, paragraph [0092]-[0093], the shadow top structure may include an entry for each pointer or entry of a MD top node; each MD top node may include a list or table of 512 pointers whereby the shadow top structure 710 also includes 512 entries; in the example 700, element 710a illustrates information that may be include in each entry of the shadow top structure; each entry of the shadow top structure, such as entry #1, may include an inode number (#) and family ID for a different one of the 512 pointers or references in the MD top node to a MD mid node). Regarding claim 8, Chawla as modified by Mathew and Armangau teach all claimed limitations as set forth in rejection of claim 7, further teach wherein acquiring the associated data further comprises: acquiring, from a storage control system, third associated sub-data associated with the target inode, wherein the third associated sub-data comprises at least one of the following: the number of links to the target inode, or a timestamp used for creating the object (Chawla, Fig. 6A, paragraph [0069], the links or connections between a parent node (at level M and its one or more child nodes (at level M+1) the parent node may include a reference use to access (directly or indirectly) each of its one or more child nodes; for example, the MD page root1 602a includes addresses or pointer used to access each of its 512 child nodes s604a-b; also see Fig. 8, paragraph [0092]-[0093], the shadow top structure may include an entry for each pointer or entry of a MD top node; each MD top node may include a list or table of 512 pointers whereby the shadow top structure 710 also includes 512 entries; in the example 700, element 710a illustrates information that may be include in each entry of the shadow top structure; each entry of the shadow top structure, such as entry #1, may include an inode number (#) and family ID for a different one of the 512 pointers or references in the MD top node to a MD mid node). Regarding claim 9, Chawla as modified by Mathew and Armangau teach all claimed limitations as set forth in rejection of claim 1, further teach wherein recovering the inode comprises: reconstructing the inode in the inode table (Chawla, paragraph [0106] Chawla, paragraph [0099], [0105]-[0106], assuming that MD tops describes MD used to determine data blocks for only a single LUN, LUN 101 with inode #=` where each entry of the shadow top structure for MD top node includes the inode # and family ID for LUN 1; determining that inode #1 has its data located in logical address of the FS logical address space that are associated with particular MD pointer to MD mid nodes in the 512 entries of the shadow structure; examination of the inode table determine that inode structure for inode=1 is missing and may use the above-noted information to determine, recover and reconstruct, for example, family ID and the object extent location for the inode=1; processing performed using the shadow top structures, a temporary set of inode structures may be constructed; the temporary set may be compared to the existing inode table and used to update the inode table, as needed; any missing or invalid information the existing inode table may be replaced with corresponding information of the temporary set). Claims 10-20 are rejected under 35 U.S.C. 103 as being unpatentable over Chawla et al. (U.S. pub. No. 2021/0034467 A1) in view of Mathew et al. (U.S. Pub. No. 2021/0026827 A1), further in view of Defrance et al. (U.S. Patent No. 9,071,789 B2). Regarding claim 10, Chawla teaches an electronic device, comprising: at least one processor; and at least one memory storing computer program instructions, the at least one memory and the computer program instructions being configured together with the at least one processor to cause the electronic device to perform actions (paragraph [0018], paragraph [0023]) comprising: determining, based on a relationship between a missing inode in an inode table and a data logical address in an extension table that store information about multiple inodes, whether the inode is a target inode that is able to be recovered (Figs. 2-3, and 8, paragraph [0099], examination may determine that the inode #1 has its data located logical addresses of the FS logical address space that are associated with the particular MD pointers to MD mid nodes in the 512 entries of the shadow top structure; examination of the inode table determines that the inode structure for inode=1 is missing and may use the above-noted information to determine, recover and reconstruct, for example the family ID 106c and the object extent location 106d for the inode=1); acquiring, in response to a determination that the inode is the target inode, associated data corresponding to the target inode (paragraph [0099], examination may determine that the inode #1 has its data located logical addresses of the FS logical address space that are associated with the particular MD pointers to MD mid nodes in the 512 entries of the shadow top structure; examination of the inode table determines that the inode structure for inode=1 is missing and may use the above-noted information to determine, recover and reconstruct, for example the family ID 106c and the object extent location 106d for the inode=1; also see paragraph [0105]-[0106]); and recovering the inode based on the acquired associated data (paragraph [0099], [0106], processing performed using the shadow top structures, a temporary set of inode structures may be constructed; the temporary set may be compared to the existing inode table and used to update the inode table, as needed; any missing or invalid information the existing inode table may be replaced with corresponding information of the temporary set) but does not explicitly disclose: said determining including accessing the extension table within a namespace layer of a storage system via a set of pointers in a mapping layer of the storage system. Mathew teaches: said determining including accessing the extension table within a namespace layer of a storage system via a set of pointers in a mapping layer of the storage system (paragraph [0030], the next layer is the directory manager layer; this layer includes namespace stored in the tree structures as key-value pairs; also see paragraph [0033]-[0035], file systems store the name space information with parent directory inode as the primary key and child inode number as the secondary key; storing the block map to store files using a set of three abstraction or records including inode ID, dirent and name hash; the dirent (directory entry) is a structure type used to return information (e.g., name) about directory entries; the name hash is a hash value lookup comparisons; a file is distinctly identified by the following structure [inode, dirent, hash], where the entry of the structure is reference by the directory: file index for inode; other entry of the structure are also possible, such as file attributes, parameters specific to the inode and other information specific to the system; noted, “the next layer is the directory manager layer; this layer includes namespace stored in the tree structures as key-value pairs” is interpreted as “namespace layer”; the “block map to store files” is interpreted as “mapping layer”; the “the following structure [inode, dirent, hash], where the entry of the structure is reference by the directory: file index for inode” is interpreted as pointer to identifying the inode based on directory:file index; also see paragraph [0043], any lookup based on the file handle based off the old directory will first fail, which is an indication of determining whether the inode is valid through the directory:file reference in regards to key-value pair of namespace in directory manager layer; therefore it reads on as claimed). It would have been obvious to one of ordinary skill in art at the time of the invention was made to include said determining including accessing the extension table within a namespace layer of a storage system via a set of pointers in a mapping layer of the storage system into inode missing analysis of Chawla. Motivation to do so would be to include said determining including accessing the extension table within a namespace layer of a storage system via a set of pointers in a mapping layer of the storage system to provide a system and method for handling renames that optimizes lookups after a file rename (Mathew, paragraph [0007]). Chawla as modified by Mathew do not explicitly disclose: the set of pointers mapping a logical space of the extension table in the namespace layer to a storage space in a storage apparatus layer that stores data containing the extension table. Defrance teaches: the set of pointers mapping a logical space of the extension table in the namespace layer to a storage space in a storage apparatus layer that stores data containing the extension table (Fig. 1, col. 9, col. 10, line 1-16, fig. 11 and 12, the inode is the entry point to a file; it contains file id, pointers on the file data space and additional information; the inode may be extended (inode extension, also called second file information structure); it necessary to store additional space pointers, inode and extensions are stored in an mode and Extension table; fig. 11 gives a description of the extension structure, which contain either up to 12 runs or zone address; it may point on another extension; zone or run address: it is a four-byte indicating a zone address if the file is an informative data and a run address if the file is a video file; this field indicates the location of the file on the storage device; also see col. 5, line 25, Extension: the extension of an inode; inodes are supposed to contain the whole description of the file data space; if not efficient, they point to an extension (which, itself, may point to another extension of necessary, constituting a chain list); noted, the pointer in the file data space and its extension, which is mapped to the location of the file on the storage device, which reads on “a logical space of the extension table in the namespace layer to a storage space” as claimed). It would have been obvious to one of ordinary skill in art at the time of the invention was made to include the set of pointers mapping a logical space of the extension table in the namespace layer to a storage space in a storage apparatus layer that stores data containing the extension table into inode missing analysis of Chawla. Motivation to do so would be to include the set of pointers mapping a logical space of the extension table in the namespace layer to a storage space in a storage apparatus layer that stores data containing the extension table to make the management of storage device easier (Defrance, col. 2, line 58). Regarding claim 11, Chawla as modified by Mathew and Defrance teach all claimed limitations as set forth in rejection of claim 10, further teach wherein determining whether the inode is a target inode comprises: determining whether the inode is a failed inode by validating the inode in the inode table; determining, by validating an inode allocator, a missing inode corresponding to the failed inode from an inode set indicated by the inode allocator; and determining whether the failed inode is the target inode by using the missing inode and the extension table (Chawla, paragraph [0099], [0105]-[0106], assuming that MD tops describes MD used to determine data blocks for only a single LUN, LUN 101 with inode #=` where each entry of the shadow top structure for MD top node includes the inode # and family ID for LUN 1; determining that inode #1 has its data located in logical address of the FS logical address space that are associated with particular MD pointer to MD mid nodes in the 512 entries of the shadow structure; examination of the inode table determine that inode structure for inode=1 is missing and may use the above-noted information to determine, recover and reconstruct, for example, family ID and the object extent location for the inode=1). Regarding claim 12, Chawla as modified by Mathew and Armangau teach all claimed limitations as set forth in rejection of claim 11, further teach wherein determining whether the failed inode is the target inode comprises: determining, for the missing inode, whether there is an associated data logical address in the extension table; and determining the failed inode as the target inode in response to a determination that the associated data logical address exists in the extension table (Chawla, paragraph [0115], an inode structure of the inode table is corrupted or contains invalid data; for example, at least one of the inode number, object extent location, and family member of an inode structure is corrupted; also see paragraph [0099], assuming that MD tops describes MD used to determine data blocks for only a single LUN, LUN 101 with inode #=` where each entry of the shadow top structure for MD top node includes the inode # and family ID for LUN 1; determining that inode #1 has its data located in logical address of the FS logical address space that are associated with particular MD pointer to MD mid nodes in the 512 entries of the shadow structure; examination of the inode table determine that inode structure for inode=1 is missing and may use the above-noted information to determine, recover and reconstruct, for example, family ID and the object extent location for the inode=1; also see paragraph [0106], the table or list of shadow top structure is used to recover information of the corrupted inode structure). Regarding claim 13, Chawla as modified by Mathew and Defrance teach all claimed limitations as set forth in rejection of claim 10, further teach wherein acquiring the associated data comprises: acquiring first associated sub-data associated with the target inode from a mapping layer, and the first associated sub-data comprises at least one of the following: an object type, a snapshot group identity (ID), a volume ID, an inode ID, an object instance ID, or data extension information (Chawla, Fig. 3 and 8, paragraph [0046]-[0047], paragraph [0106], the inode table may be table with an entry for each inode structure; the structure inode includes an nide number, has an object type, family ID, object extent location; the table or list of shadow top structure is used to recover information of the corrupted inode structure; also see Fig. 8, paragraph [0092]-[0093], the shadow top structure may include an entry for each pointer or entry of a MD top node; each MD top node may include a list or table of 512 pointers whereby the shadow top structure 710 also includes 512 entries; in the example 700, element 710a illustrates information that may be include in each entry of the shadow top structure; each entry of the shadow top structure, such as entry #1, may include an inode number (#) and family ID for a different one of the 512 pointers or references in the MD top node to a MD mid node). Regarding claim 14, Chawla as modified by Mathew and Defrance teach all claimed limitations as set forth in rejection of claim 13, further teach wherein acquiring the associated data further comprises: determining, based on the snapshot group ID, an associated inode corresponding to the target inode in the inode table; and acquiring, by using the associated inode, second associated sub-data associated with the target inode (Chawla, paragraph [0099], [0105]-[0106], assuming that MD tops describes MD used to determine data blocks for only a single LUN, LUN 101 with inode #=` where each entry of the shadow top structure for MD top node includes the inode # and family ID for LUN 1; determining that inode #1 has its data located in logical address of the FS logical address space that are associated with particular MD pointer to MD mid nodes in the 512 entries of the shadow structure; examination of the inode table determine that inode structure for inode=1 is missing and may use the above-noted information to determine, recover and reconstruct, for example, family ID and the object extent location for the inode=1; processing performed using the shadow top structures, a temporary set of inode structures may be constructed; the temporary set may be compared to the existing inode table and used to update the inode table, as needed; any missing or invalid information the existing inode table may be replaced with corresponding information of the temporary set). Regarding claim 15, Chawla as modified by Mathew and Defrance teach all claimed limitations as set forth in rejection of claim 14, further teach wherein acquiring the associated data further comprises: determining whether the associated inode is a family inode based on a field used for indicating a data source in the associated inode, and in a case where the associated inode is a family inode, the second associated sub- data is acquired through the family inode (Chawla, paragraph [0094]-[0095]). Regarding claim 16, Chawla as modified by Mathew and Defrance teach all claimed limitations as set forth in rejection of claim 15, further teach wherein the second associated sub-data comprises at least one of the following: a family ID, a parent inode ID, a tenant ID, or a globally unique file storage ID (Chawla, Fig. 8, paragraph [0092]-[0093], the shadow top structure may include an entry for each pointer or entry of a MD top node; each MD top node may include a list or table of 512 pointers whereby the shadow top structure 710 also includes 512 entries; in the example 700, element 710a illustrates information that may be include in each entry of the shadow top structure; each entry of the shadow top structure, such as entry #1, may include an inode number (#) and family ID for a different one of the 512 pointers or references in the MD top node to a MD mid node). Regarding claim 17, Chawla as modified by Mathew and Defrance teach all claimed limitations as set forth in rejection of claim 16, further teach wherein acquiring the associated data further comprises: acquiring, from a storage control system, third associated sub-data associated with the target inode, wherein the third associated sub-data comprises at least one of the following: the number of links to the target inode, or a timestamp used for creating the object (Chawla, Fig. 6A, paragraph [0069], the links or connections between a parent node (at level M and its one or more child nodes (at level M+1) the parent node may include a reference use to access (directly or indirectly) each of its one or more child nodes; for example, the MD page root1 602a includes addresses or pointer used to access each of its 512 child nodes s604a-b; also see Fig. 8, paragraph [0092]-[0093], the shadow top structure may include an entry for each pointer or entry of a MD top node; each MD top node may include a list or table of 512 pointers whereby the shadow top structure 710 also includes 512 entries; in the example 700, element 710a illustrates information that may be include in each entry of the shadow top structure; each entry of the shadow top structure, such as entry #1, may include an inode number (#) and family ID for a different one of the 512 pointers or references in the MD top node to a MD mid node). Regarding claim 18, Chawla as modified by Mathew and Defrance teach all claimed limitations as set forth in rejection of claim 10, further teach wherein recovering the inode comprises: reconstructing the inode in the inode table (Chawla, paragraph [0106] Chawla, paragraph [0099], [0105]-[0106], assuming that MD tops describes MD used to determine data blocks for only a single LUN, LUN 101 with inode #=` where each entry of the shadow top structure for MD top node includes the inode # and family ID for LUN 1; determining that inode #1 has its data located in logical address of the FS logical address space that are associated with particular MD pointer to MD mid nodes in the 512 entries of the shadow structure; examination of the inode table determine that inode structure for inode=1 is missing and may use the above-noted information to determine, recover and reconstruct, for example, family ID and the object extent location for the inode=1; processing performed using the shadow top structures, a temporary set of inode structures may be constructed; the temporary set may be compared to the existing inode table and used to update the inode table, as needed; any missing or invalid information the existing inode table may be replaced with corresponding information of the temporary set). As per claims 19-20, these claims are rejected on grounds corresponding to the same rationales given above for rejected claims 10 and 14 respectively and are similarly rejected. Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 KEN HOANG whose telephone number is (571)272-8401. The examiner can normally be reached M-F 7:30am-5:00pm. 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, Charles Rones can be reached at (571)272-4085. 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. /KEN HOANG/Examiner, Art Unit 2168
Read full office action

Prosecution Timeline

Show 4 earlier events
Jul 09, 2025
Examiner Interview Summary
Sep 16, 2025
Final Rejection mailed — §103
Nov 17, 2025
Response after Non-Final Action
Nov 26, 2025
Request for Continued Examination
Dec 07, 2025
Response after Non-Final Action
Jan 09, 2026
Non-Final Rejection mailed — §103
Apr 06, 2026
Response Filed
Jun 24, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12650681
CLOUD-BASED DATA RECORDER AND EVENT PROCESSOR
4y 6m to grant Granted Jun 09, 2026
Patent 12625848
MESH NETWORK SYSTEM OF ENVIRONMENTAL MONITORING DEVICES
3y 6m to grant Granted May 12, 2026
Patent 12596751
IMAGE SYNTHESIS BASED ON PREDICTIVE ANALYTICS
4y 3m to grant Granted Apr 07, 2026
Patent 12579118
SYSTEM AND METHODS FOR AUTOMATED STANDARDIZATION OF HETEROGENEOUS DATA USING MACHINE LEARNING
1y 3m to grant Granted Mar 17, 2026
Patent 12531138
PARAMETERIZED TEMPLATE FOR CLINICAL RESEARCH STUDY SYSTEMS
4y 6m to grant Granted Jan 20, 2026
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

5-6
Expected OA Rounds
73%
Grant Probability
99%
With Interview (+30.2%)
3y 1m (~2m remaining)
Median Time to Grant
High
PTA Risk
Based on 390 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