Prosecution Insights
Last updated: July 17, 2026
Application No. 19/029,599

PREFETCHING KEYS FOR GARBAGE COLLECTION

Non-Final OA §103
Filed
Jan 17, 2025
Priority
Apr 28, 2022 — continuation of 12/204,800
Examiner
OTTO, ALAN
Art Unit
Tech Center
Assignee
Netapp Inc.
OA Round
1 (Non-Final)
66%
Grant Probability
Favorable
1-2
OA Rounds
1y 11m
Est. Remaining
84%
With Interview

Examiner Intelligence

Grants 66% — above average
66%
Career Allowance Rate
246 granted / 371 resolved
+6.3% vs TC avg
Strong +18% interview lift
Without
With
+17.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
13 currently pending
Career history
392
Total Applications
across all art units

Statute-Specific Performance

§101
0.6%
-39.4% vs TC avg
§103
83.8%
+43.8% vs TC avg
§102
12.8%
-27.2% vs TC avg
§112
1.9%
-38.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 371 resolved cases

Office Action

§103
Detailed Action The instant application having Application No. 19/029,599 has a total of 20 claims pending in the application; there are 3 independent claims and 17 dependent claims, all of which are ready for examination by the examiner. This Office action is in response to the claims filed 1/17/2025. Claims 1-20 are pending. 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 . INFORMATION CONCERNING DRAWINGS Drawings The applicant's drawings submitted 1/17/25 are acceptable for examination purposes. REJECTIONS NOT BASED ON PRIOR ART 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. 12,204,800. Although the claims at issue are not identical, they are not patentably distinct from each other because they have similar language and limitations. For example, claim 1 of the instant application recites “identify one or more keys that are not in-use by the first worker node and the second worker node; identifying key value pairs associated with the one or more keys; and removing key value pairs from the key value store.” Claim 1 of Patent 12/204,800 recites “wherein the first set of probabilistic structures provide indications of keys that are in-use by the plurality of worker nodes; frees key value pairs associated with the unused keys within the first set of keys.” Claim Objections Applicant is advised that should claim 2 be found allowable, claim 3 will be objected to under 37 CFR 1.75 as being a substantial duplicate thereof. When two claims in an application are duplicates or else are so close in content that they both cover the same thing, despite a slight difference in wording, it is proper after allowing one claim to object to the other as being a substantial duplicate of the allowed claim. See MPEP § 608.01(m). REJECTIONS BASED ON PRIOR ART Claim Rejections - 35 USC § 103 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. 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-5, 8-9 and 15-18 are rejected under 35 U.S.C. 103 as being unpatentable over Danilov et al. (U.S. Patent Application Publication No. 2020/0334142), herein referred to as Danilov et al. in view of Chen et al. (U.S. Patent Application Publication No. 2018/0150472), herein referred to as Chen et al. Referring to claim 1, Danilov et al. disclose as claimed, a method, comprising: receiving, by a first worker node from a second worker node of a distributed storage architecture hosting a data store, an indication of data, within the data store, that are in-use by the second worker node (see fig. 1, showing a distributed storage architecture with multiple storage nodes. See fig. 14, where a local list of in use chunks are made and then provided to other nodes); comparing the indication of the data that are in-use by the second worker node to data cached by the first worker node within memory to identify one or more data that are not in-use by the first worker node and the second worker node (see para. 72-76, where the indication of in use and unused chunks by different nodes are compared to determine which chunks are unused by multiple nodes; Danilov et al. disclose the claimed invention except for where the data being hosted and indicated are keys; identifying key value pairs associated with the one or more keys and removing the key value pairs from the key value store. However, Chen et al. disclose where the data being hosted and indicated are keys; identifying key value pairs associated with the one or more keys and removing the key value pairs from the key value store (see para. 9-10, where a key value store system is provided, where there is a to-be-deleted delete log that corresponds to SStables. Danilov et al. teaches data chunk organization within a distributed node storage system. A data chunk is simply a fragment of information, and keys, as taught by Chen et al., would be obvious to use with Danilov). Danilov et al. and Chen et al. are analogous art because they are from the same field of endeavor of compaction (see Danilov et al., abstract and Chen et al., abstract, regarding compacting data). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Danilov et al. to comprise where the data being hosted and indicated are keys; identifying key value pairs associated with the one or more keys and removing the key value pairs from the key value store, as taught by Chen et al., in order to allow for more space for new keys or key values after removing those that are not being used, as well as maintaining coherency throughout the nodes. As to claim 2, Danilov et al. and Chen et al. also disclose the method of claim 1, comprising: constructing a probabilistic structure to provide the indication of the keys that are in-use by the second worker node (see Chen et al., para. 110, where a bloom filter may be used to keep track of keys); and populating the probabilistic structure with a bit vector of cells set to values indicative of the keys that are in-use by the second worker node (see Chen et al., para. 110-111, where keys in the delete log may be recorded in the bloom filter, which uses bit vectors. Danilov teaches where unused chunks are marked for deletion, therefore Chen et al.’s bloom filter would be indicative of in-use keys). As to claim 3, Danilov et al. and Chen et al. also disclose the method of claim 1, comprising: constructing a probabilistic structure to provide the indication of the keys that are in-use by the second worker node (see Chen et al., para. 110, where a bloom filter may be used to keep track of keys); and populating the probabilistic structure with a bit vector of cells set to values indicative of the keys that are in-use by the second worker node (see Chen et al., para. 110-111, where keys in the delete log may be recorded in the bloom filter, which uses bit vectors. Danilov teaches where unused chunks are marked for deletion, therefore Chen et al.’s bloom filter would be indicative of in-use keys). As to claim 4, Danilov et al. and Chen et al. also disclose the method of claim 1, comprising: constructing a probabilistic structure to provide the indication of the keys that are in-use by the second worker node, wherein the probabilistic structure is constructed to block the first worker node from garbage collecting the keys indicated by the probabilistic structure as being in-use by the second worker node (see Chen et al., para. 110-111, where keys in the delete log may be recorded in the bloom filter. As garbage collection is designed to only discard unused elements, this would allow only unused keys to be deleted/discarded. See Danilov, para. 74-75, where unused chunks are garbage collected). As to claim 5, Danilov et al. and Chen et al. also disclose the method of claim 1, comprising: constructing a probabilistic structure to provide the indication of the keys that are in-use by the second worker node, wherein the probabilistic structure is constructed with a bit vector of cells (see Chen et al., para. 110, where a bloom filter may be used to keep track of keys). see Chen et al., para. 110-111, where keys in the delete log may be recorded in the bloom filter, which uses bit vectors. Danilov teaches where unused chunks are marked for deletion, therefore Chen et al.’s bloom filter would be indicative of in-use keys); in response to determining that a key is in-use, hashing the in-use keys one or more times to create hashes; and setting bits in the bit vector to a first bit value at index values of the hashes (see Chen et al., para. 82, where a bloom filter is used which contains a bit vector. Hash functions are calculated for each element. When an item is inserted into a bloom filter, it must be passed through hash functions and be hashed). Referring to claim 8, Danilov et al. disclose as claimed A system, comprising: a distributed storage architecture including a plurality of worker nodes managing distributed storage comprised of storage devices hosted by the plurality of worker nodes (see fig. 1, showing a distributed storage architecture with multiple storage nodes. See fig. 14, where a local list of in use chunks are made and then provided to other nodes); and a first worker node of the distributed storage architecture owning data hosted within the distributed storage, wherein the first worker node: receives, from a second worker node, an indication of data that are in-use by the second worker node (see para. 59 and 73, where each node has its list of owned, used chunks of its own node and others. See fig. 14, where a local list of in use chunks are made and then provided to other nodes); compares the indication of in-use data to data cached by the first worker node within memory to identify one or more data that are not in-use by the first worker node and the second worker node (see para. 72-76, where the indication of in use and unused chunks by different nodes are compared to determine which chunks are unused by multiple nodes); Danilov et al. disclose the claimed invention except for where a probabilistic structure is used providing an indication of keys; where the data being hosted and indicated are keys; identifies key value pairs associated with the one or more keys; and removes the key value pairs from the key value store. However, Chen et al. disclose for where a probabilistic structure is used providing an indication of keys (see para. 110, where a bloom filter may be used to keep track of keys); see para. 110-111, where keys in the delete log may be recorded in the bloom filter, which uses bit vectors. Danilov teaches where unused chunks are marked for deletion, therefore Chen et al.’s bloom filter would be indicative of in-use keys); where the data being hosted and indicated are keys; identifies key value pairs associated with the one or more keys; and removes the key value pairs from the key value store (see para. 9-10, where a key value store system is provided, where there is a to-be-deleted delete log that corresponds to SStables. Danilov et al. teaches data chunk organization within a distributed node storage system. A data chunk is simply a fragment of information, and keys, as taught by Chen et al., would be obvious to use with Danilov). Danilov et al. and Chen et al. are analogous art because they are from the same field of endeavor of compaction (see Danilov et al., abstract and Chen et al., abstract, regarding compacting data). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Danilov et al. to comprise for where a probabilistic structure is used providing an indication of keys; where the data being hosted and indicated are keys; identifies key value pairs associated with the one or more keys; and removes the key value pairs from the key value store, as taught by Chen et al., in order to allow for more space for new keys or key values after removing those that are not being used, as well as maintaining coherency throughout the nodes. As to claim 9 , Danilov et al. and Chen et al. also disclose the system of claim 8, wherein the first worker node: performs, by a garbage collection process, a first garbage collection round to remove the key value pairs from the key value storage using the probabilistic structure from the second work node and one or more additional probabilistic structures from other worker nodes of the distributed storage architecture (see Chen et al., para. 110-111, where a bloom filter or probabilistic structure may be used for each SStable to keep track of keys in-use. See Chen et al., para. 105-108, where SStables may be compacted and keys deleted. Also see Danilov, para. 73-76, where different datasets of unused chunks are combined into a single list for garbage collection). Referring to claim 15, Danilov et al. disclose as claimed, a non-transitory machine readable medium comprising instructions, which when executed by a machine, causes the machine to: receive, by a first worker node from a second worker node of a distributed storage architecture hosting a key value store, bit vector providing an indication of data, within the data store, that are in-use by the second worker node (see fig. 1, showing a distributed storage architecture with multiple storage nodes. See fig. 14, where a local list of in use chunks are made and then provided to other nodes); compare data cached by the first worker node within memory to identify one or more pieces of data that are not in-use by the first worker node and the second worker node (see para. 72-76, where the indication of in use and unused chunks by different nodes are compared to determine which chunks are unused by multiple nodes); identify key value pairs associated with the one or more keys; and remove the key value pairs from the key value store. Danilov et al. disclose the claimed invention except for where the data being hosted and indicated are keys; identifying key value pairs associated with the one or more keys and removing the key value pairs from the key value store; However, Chen et al. disclose where the data being hosted and indicated are keys; identifying key value pairs associated with the one or more keys and removing the key value pairs from the key value store (see para. 9-10, where a key value store system is provided, where there is a to-be-deleted delete log that corresponds to SStables. Danilov et al. teaches data chunk organization within a distributed node storage system. A data chunk is simply a fragment of information, and keys, as taught by Chen et al., would be obvious to use with Danilov). Danilov et al. and Chen et al. are analogous art because they are from the same field of endeavor of compaction (see Danilov et al., abstract and Chen et al., abstract, regarding compacting data). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Danilov et al. to comprise where the data being hosted and indicated are keys; identifying key value pairs associated with the one or more keys and removing the key value pairs from the key value store, as taught by Chen et al., in order to allow for more space for new keys or key values after removing those that are not being used, as well as maintaining coherency throughout the nodes. As to claim 16, Danilov et al. and Chen et al. also disclose the non-transitory machine readable medium of claim 15, wherein the instructions cause the machine to: construct the bit vector with values to block the first worker node from garbage collecting the keys indicated by the bit vector as being in- use by the second worker node (see Chen et al., para. 110-111, where keys in the delete log may be recorded in the bloom filter. As garbage collection is designed to only discard unused elements, this would allow only unused keys to be deleted/discarded. See Danilov, para. 74-75, where unused chunks are garbage collected). 17. As to claim 17, Danilov et al. and Chen et al. also disclose the non-transitory machine readable medium of claim 15, wherein the instructions cause the machine to: in response to determining that a key is in-use, hash the in-use key one or more times to create hashes; and set bits in the bit vector to a first bit value at index values of the hashes (see Chen et al., para. 82, where a bloom filter is used which contains a bit vector. Hash functions are calculated for each element. When an item is inserted into a bloom filter, it must be passed through hash functions and be hashed). 18. As to claim 18, Danilov et al. and Chen et al. also disclose the non-transitory machine readable medium of claim 15, wherein the instructions cause the machine to: cache, by the first worker node, keys from distributed storage as cached keys (see Danilov, para. 59 and 73, where each node has its list of owned, used chunks of its own node and others. Therefore when combined with Chen, each node would cache keys from the distributed storage); and validate the bit vector by comparing the bit vector to cached keys (see Chen et al., para. 110, where a bloom filter may be used to keep track of keys. See Chen et al., para. 110-111, where keys in the delete log may be recorded in the bloom filter, which uses bit vectors and may test or validate keys by checking if they are recorded in the bloom filter). Claims 6-7, 10-14 and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Danilov et al. in view of Chen et al. and in view of Verrall et al. (U.S. Patent Application No. 2019/0229897), herein referred to as Verrall et al. As to claim 6, Danilov et al. and Chen et al. also disclose the method of claim 1, wherein a probabilistic structure provides the indication of the keys that are in-use by the second worker node, and wherein the method comprises: and validating the probabilistic structure by comparing the probabilistic structure to cached keys (see Chen et al., para. 110, where a bloom filter may be used to keep track of keys. See Chen et al., para. 110-111, where keys in the delete log may be recorded in the bloom filter, which uses bit vectors and may test or validate keys by checking if they are recorded in the bloom filter). Danilov et al. and Chen et al. disclose the claimed invention except for prefetching and caching, by the first worker node, keys from distributed storage as cached keys However, Verrall et al. disclose prefetching and caching, by the first worker node, keys from distributed storage as cached keys (see fig. 1 and 2, showing a distributed storage system with key cache 214 for caching keys and see para. 25-26, where keys are prefetched and cached). Danilov et al. and Verrall et al. are analogous art because they are from the same field of endeavor of storage systems (see Danilov et al., abstract and Verrall et al., abstract, regarding storage systems ). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Danilov et al. to comprise prefetching and caching, by the first worker node, keys from distributed storage as cached keys, as taught by Verrall et al., in order to provide faster response time for potentially requested data by prefetching the data ahead of time. Prefetching and its advantages are well known in the art and It would be obvious to implement with Danilov et al. and Chen et al. As to claim 7, Danilov et al., Chen et al. and Verrall et al. also disclose the method of claim 6, comprising: selecting an amount of keys to pre-fetch based upon a time to validate the probabilistic structure (see Verrall et al., para. 26, where the key management logic waits a predetermined amount of time between prefetches. See para. 49-50, where decisions to prefetch may be based on performance utilization, hardware information network utilization and other information. See Chen et al., para. 110-111, where keys in the delete log may be recorded in the bloom filter, which uses bit vectors and may test or validate keys by checking if they are recorded in the bloom filter. Therefore the combination would prefetch keys based on validating or adding new keys. See Chen et al., para. 82, where multiple hash functions can be processed while adding a key. Therefore the time to do that or add keys would be related to how many keys may be added in a certain amount of time). As to claim 10, Danilov et al. and Chen et al. disclose the claimed invention except for the system of claim 9, wherein the first worker node: monitors a rate at which probabilistic structures are being received by the garbage collection process (see Chen et al., para. 199, where the SStable may be compacted when a quantity of keys is greater than a preset threshold, therefore the key rate to be deleted is monitored); Danilov et al. and Chen et al. disclose the claimed invention except for selects an amount of keys to pre-fetch and cache based upon the rate at which the probabilistic structures are being received by the garbage collection process. However, Verrall et al. disclose selects an amount of keys to pre-fetch and cache based upon the rate at which the probabilistic structures are being received by the garbage collection process (see fig. 1 and 2, showing a distributed storage system with key cache 214 for caching keys and see para. 25-26, where keys are prefetched and cached. See para. 49-50, where decisions to prefetch may be based on performance utilization, hardware information, network utilization and other information, which would provide continuous feedback during operation. Chen et al. and Danilov et al. both teach performing garbage collection, so the combination would provide statistics about garbage collection to be used to determine keys to prefetch). Danilov et al. and Verrall et al. are analogous art because they are from the same field of endeavor of storage systems (see Danilov et al., abstract and Verrall et al., abstract, regarding storage systems ). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Danilov et al. to comprise selects an amount of keys to pre-fetch and cache based upon the rate at which the probabilistic structures are being received by the garbage collection process., as taught by Verrall et al., in order to provide faster response time for potentially requested data by prefetching the data ahead of time. Prefetching and its advantages are well known in the art and it would be obvious to implement with Danilov et al. and Chen et al. As to claim 11, Danilov et al. and Chen et al. disclose the claimed invention except for the system of claim 8, wherein the first worker node: Selects an amount of keys to pre-fetch and cache based upon disk latency of the storage devices. However, Verrall et al. disclose wherein the first worker node: Selects an amount of keys to pre-fetch and cache based upon disk latency of the storage devices. (see fig. 1 and 2, showing a distributed storage system with key cache 214 for caching keys and see para. 25-26, where keys are prefetched and cached. See para. 49-50, where decisions to prefetch may be based on performance utilization, hardware information, network utilization and other information. Disk latency would fall under performance and hardware information and therefore and amount of keys could be prefetched based upon disk latency). Danilov et al. and Verrall et al. are analogous art because they are from the same field of endeavor of storage systems (see Danilov et al., abstract and Verrall et al., abstract, regarding storage systems ). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Danilov et al. to comprise wherein the first worker node: Selects an amount of keys to pre-fetch and cache based upon disk latency of the storage devices., as taught by Verrall et al., in order to provide faster response time for potentially requested data by prefetching the data ahead of time, while also not slowing down the system if there is too much latency. Prefetching and its advantages are well known in the art and It would be obvious to implement with Danilov et al. and Chen et al. As to claim 12, Danilov et al. and Chen et al. disclose the claimed invention except for The system of claim 8, wherein the first worker node: collects, using a feedback loop, operational statistics associated with performing garbage collection of the key value store; and compares the operational statistics to a rate of prefetching and caching keys into memory in order to select an amount of keys to pre-fetch and cache. However, Verrall et al. disclose wherein the first worker node: collects, using a feedback loop, operational statistics associated with performing garbage collection of the key value store; and compares the operational statistics to a rate of prefetching and caching keys into memory in order to select an amount of keys to pre-fetch and cache (See para. 49-50, where decisions to prefetch may be based on performance utilization, hardware information, network utilization and other information, which would provide continuous feedback during operation. Chen et al. and Danilov et al. both teach performing garbage collection, so the combination would provide statistics about garbage collection to be used to determine keys to prefetch). Danilov et al. and Verrall et al. are analogous art because they are from the same field of endeavor of storage systems (see Danilov et al., abstract and Verrall et al., abstract, regarding storage systems ). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Danilov et al. to comprise wherein the first worker node: Selects an amount of keys to pre-fetch and cache based upon disk latency of the storage devices., as taught by Verrall et al., in order to provide faster response time for potentially requested data by prefetching the data ahead of time, while also not slowing down the system if there is too much latency. Prefetching and its advantages are well known in the art and It would be obvious to implement with Danilov et al. and Chen et al. As to claim 13, Danilov et al. and Chen et al. disclose the claimed invention except for the system of claim 8, wherein the first worker node: implements a predictive read ahead mechanism to identify a set of keys that will be evaluated during a second garbage collection round subsequent a first garbage collection round that removed the key value pairs from the key value store, wherein the set of keys are pre- fetched from the storage devices and are cached into memory for evaluation during the second garbage collection round. However, Verrall et al. disclose wherein the first worker node: implements a predictive read ahead mechanism to identify a set of keys that will be evaluated during a second garbage collection round subsequent a first garbage collection round that removed the key value pairs from the key value store, wherein the set of keys are pre- fetched from the storage devices and are cached into memory for evaluation during the second garbage collection round (See para. 49-50, where decisions to prefetch may be based on performance utilization, hardware information, network utilization and other information, which would provide continuous feedback during operation. Chen et al. and Danilov et al. both teach performing garbage collection, so the combination would allow for prefetching for evaluation during garbage collection). Danilov et al. and Verrall et al. are analogous art because they are from the same field of endeavor of storage systems (see Danilov et al., abstract and Verrall et al., abstract, regarding storage systems ). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Danilov et al. to comprise implements a predictive read ahead mechanism to identify a set of keys that will be evaluated during a second garbage collection round subsequent a first garbage collection round that removed the key value pairs from the key value store, wherein the set of keys are pre- fetched from the storage devices and are cached into memory for evaluation during the second garbage collection round, as taught by Verrall et al., in order to provide faster response time for potentially requested data by prefetching the data ahead of time, while also not slowing down the system if there is too much latency. Prefetching and its advantages are well known in the art and it would be obvious to implement with Danilov et al. and Chen et al. As to claim 14, Danilov et al., Chen et al. and Verrall et al. also disclose the system of claim 13, wherein the first worker node: in response to determining that a rate at which delete operations are being processed that result in an amount of unused keys exceeding a threshold, selects an amount of keys as the set of keys that is larger than an amount of the keys cached by the first worker node (see Chen et al., para. 199, where the SStable may be compacted when a quantity of keys is greater than a preset threshold. As the delete log or garbage collecting may involve multiple nodes, the amount would be greater than the amount of keys held by the first worker node). As to claim 19, Danilov et al. and Chen et al. disclose the claimed invention except for the non-transitory machine readable medium of claim 18, wherein the instructions cause the machine to: select and cache an amount of keys based upon a time to validate the bit vector. However, Verrall et al. disclose wherein the instructions cause the machine to: select and cache an amount of keys based upon a time to validate the bit vector (see Verrall et al., para. 26, where the key management logic waits a predetermined amount of time between prefetches. See para. 49-50, where decisions to prefetch may be based on performance utilization, hardware information network utilization and other information. See Chen et al., para. 110-111, where keys in the delete log may be recorded in the bloom filter, which uses bit vectors and may test or validate keys by checking if they are recorded in the bloom filter. Therefore the combination would prefetch keys based on validating or adding new keys. See Chen et al., para. 82, where multiple hash functions can be processed while adding a key. Therefore the time to do that or add keys would be related to how many keys may be added in a certain amount of time). Danilov et al. and Verrall et al. are analogous art because they are from the same field of endeavor of storage systems (see Danilov et al., abstract and Verrall et al., abstract, regarding storage systems ). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Danilov et al. to comprise wherein the instructions cause the machine to: select and cache an amount of keys based upon a time to validate the bit vector, as taught by Verrall et al., in order to prefetch or cache based on performance metrics so as to not slow down the other computer operations. Prefetching based on performance or time is well known in the art and would be obvious to implement with Danilov and Chen. As to claim 20, Danilov et al., Chen et al. and Verrall et al. also disclose the non-transitory machine readable medium of claim 19, wherein the instructions cause the machine to: monitor a rate of delete operations being performed upon the key value store ; and selects an amount of keys to represent using the bit vector based upon the rate of the delete operations being performed (see Verrall et al., para. 199-200, where keys to be deleted are kept track of , and then the SSTable may correspond to a bloom filter or bit vector which would represent the keys to be deleted. The amount of keys that are being replaced would be based on the rate of keys being deleted). CLOSING COMMENTS Conclusion a. STATUS OF CLAIMS IN THE APPLICATION The following is a summary of the treatment and status of all claims in the application as recommended by M.P.E.P. 707.07(i): a(1) CLAIMS REJECTED IN THE APPLICATION Per the instant office action, claims 1-20 have received a first action on the merits and are the subject of a first action non-final. b. DIRECTION OF FUTURE CORRESPONDENCES Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALAN OTTO whose telephone number is (571)270-1626. The examiner can normally be reached M-F 8: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, Hosain Alam can be reached at 571-272-3978. 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.O/Examiner, Art Unit 2132 /HOSAIN T ALAM/Supervisory Patent Examiner, Art Unit 2132
Read full office action

Prosecution Timeline

Jan 17, 2025
Application Filed
Jul 01, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12664092
METHOD AND SYSTEM FOR MANAGING CACHE DATA BASED ON SCORE
1y 9m to grant Granted Jun 23, 2026
Patent 12625779
AUTOMATED RECONSTRUCTION AND ATTRIBUTION OF DATA MODIFICATIONS
2y 7m to grant Granted May 12, 2026
Patent 12608136
FLASH MEMORY SCHEME CAPABLE OF CONTROLLING FLASH MEMORY DEVICE AUTOMATICALLY GENERATING DEBUG INFORMATION AND TRANSMITTING DEBUG INFORMATION BACK TO FLASH MEMORY CONTROLLER WITH MAKING MEMORY CELL ARRAY GENERATING ERRORS
3y 3m to grant Granted Apr 21, 2026
Patent 12602324
STORAGE CONTROLLER, MEMORY MANAGEMENT METHOD AND STORAGE DEVICE
1y 7m to grant Granted Apr 14, 2026
Patent 12591367
TECHNIQUES FOR LOG ORDERING TO OPTIMIZE WRITE LATENCY IN SYSTEMS ASSIGNING LOGICAL ADDRESS OWNERSHIP
2y 1m to grant Granted Mar 31, 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

1-2
Expected OA Rounds
66%
Grant Probability
84%
With Interview (+17.9%)
3y 5m (~1y 11m remaining)
Median Time to Grant
Low
PTA Risk
Based on 371 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