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 .
Detailed action
This is a first final Office Action for application 18/677,339, in response to arguments and amendments filed on 03/23/2026. Claims 1-30 are pending and examined in this application.
Response to Arguments
Applicant's arguments filed 03/23/2026 have been fully considered but they are not persuasive.
Applicant argues that claim 1 language
computing differences of the changed region for the snapshot based on metadata stored at the repository service
is not taught by cited reference art Candee as cited. Applicant argues that Candee teaches checksums, not computing differences of the changed region.
However, under the BRI standard, a checksum computes “differences of the changed region” when it compares two calculated checksum values to see if they match or not (i.e. differences). Applicant admits that checksum validation, “…can only determine that a block has changed”, which is all that is required to compute “differences of the changed region for the snapshot based on metadata stored at the repository service” as required by claim 1 language. Therefore argument is unpersuasive.
Applicant further argues that cited reference art Yochai does not teach claim 10 language
evicting the prefetched metadata from a cache at the data service having a highest hit ratio of access requests according to a most used eviction policy
because Yochai teaches a least used eviction policy instead.
However, the cited portion of Yochai (Par. [0032]) notes that “caching categories are defined, and each cached data unit is associated with a caching category. Each caching category can be dynamically defined as excluded from or included in the cache, ” and then follows up by mentioning “ A caching category can be determined as included—if a hit score of this category (according to measurements of accesses towards cached data units that belong to this category) is above a hit score of a group of oldest cached data units.” In other words, it is possible to have a high hit score caching category excluded from the cache, and thus teaches “evicting the prefetched metadata from a cache at the data service having a highest hit ratio of access requests according to a most used eviction policy” as required by claim 10 language. Therefore, argument is unpersuasive.
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 (i.e., changing from AIA to pre-AIA ) 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, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-9, 11-19, 21-29 is/are rejected under 35 U.S.C. 103 as being unpatentable over Candee et al. (US Pub. 2020/0110669) in view of Udayashankar et al. (2015/0032967).
Regarding claim(s) 1, teaches
A method comprising: receiving a request at a data service to provide a changed region for a snapshot of a recovery point stored in a repository service executing on a computing platform; (Fig. 4; Par. [0050-2] disaster recovery data (#208) is stored (i.e. a snapshot of a recovery point) in a persistent database (#210) in the disaster recovery system (i.e. repository service; #204) for recovery in the event of a disaster when a high and low level metadata request are fetched in response to a GET request (i.e. request sent to data service))
in response to receiving the changed region request, computing differences of the changed region for the snapshot based on metadata stored at the repository service and associated with stored object data of the recovery point; (Fig. 4; Par. [0050-3] disaster recovery data (#208) is stored (i.e. a snapshot of a recovery point) in a persistent database (#210) in the disaster recovery system (i.e. repository service; #204) for recovery in the event of a disaster when a high and low level metadata request is fetched in response to a GET request (i.e. request sent to data service) for the high and low level metadata, where the metadata includes checksum (i.e. computing differences of the changed region) and entity tag information used for calculating differences)
replying to the changed region request with the computed differences; (Fig. 4; Par. [0050-3] disaster recovery data (#208) is stored in a persistent database (#210) in the disaster recovery system (#204) for recovery in the event of a disaster when a high and low level metadata request is fetched in response to a GET request (i.e. request send to data service) for the high and low level metadata, where the metadata includes checksum (i.e. computing differences of the changed region) and entity tag information used for calculating differences that are eventually fetched (i.e. replying to the changed region))
prefetching metadata from the repository service used to retrieve the object data for servicing the predicted subsequent data access requests according to the heuristic. (Fig. 5 Par. [0056] the checksums returned in the post data (#322) are used for metadata prefetch (#326))
Candee does not explicitly teach constructing a heuristic based on the changed region and computed differences to predict subsequent data access requests associated with the changed region; and
However, from the same field Udayashankar teaches
constructing a heuristic based on the changed region and computed differences to predict subsequent data access requests associated with the changed region; and (Par. [0016, 32-4] the read-hit metric is based in part on the hit ratio (i.e. heuristic) of a data block)
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to combine the hit ratio metric usage of Udayashankar into the data recovery system of Candee. The motivation for this combination would have been to provide a finer grain control over prefetch block selection and block quantity as explained in Candee (Par. [0016]).
Regarding claim(s) 2, Candee and Udayashankar teach claim 1 as shown above, and Candee further teaches
The method of claim 1, further comprising prefetching the object data for servicing the predicted subsequent data access requests according to the constructed heuristic. (Par. [0056-7] there is a metadata prefetch (#326) that checks the checksum for differences and then issues GET requests for the data)
Regarding claim(s) 3, Candee and Udayashankar teach claim 1 as shown above, and Udayashankar further teaches
The method of claim 1, wherein constructing the heuristic further comprises: recording a hit ratio of one or more requests to access the computed differences of the snapshot per changed region; and (Fig. 5; Par. [0055] after determining which block to prefetch, the blocks are fetched at step #504)
prefetching the object data for servicing the predicted subsequent data access requests when a corresponding hit ratio of a changed region exceeds a predefined threshold. (Fig. 5; Par. [0055] after determining which block to prefetch based on prefetch efficiency information (i.e. hit value thresholds), the blocks are fetched at step #504)
Regarding claim(s) 4, Candee and Udayashankar teach claim 1 as shown above, and Udayashankar further teaches
The method of claim 1, further comprising avoiding prefetching the object data for servicing the predicted subsequent data access requests when insufficient free capacity exists in a cache at the data service. (Par. [0056] number of available blocks in the cache memory can be used to determine whether or not to prefetch data)
Regarding claim(s) 5, Candee and Udayashankar teach claim 1 as shown above, and Udayashankar further teaches
The method of claim 1, wherein prefetching the metadata from the repository service occurs when a recorded number of access requests for the computed differences of the snapshot of a corresponding changed region exceeds a threshold during a sliding window time interval. (Pars. [0034, 56] cache hits (i.e. recorded number of access requests) are part of the calculation of the hit ratios for the periodic requests)
Regarding claim(s) 6, Candee and Udayashankar teach claim 1 as shown above, and Udayashankar further teaches
The method of claim 1, wherein prefetching the metadata from the repository service occurs in batches according to a number of changed regions determined from the computed differences of the snapshot. (Par. [0016, 18] a number of blocks to be prefetched is based on the calculated prefetching metrics)
Regarding claim(s) 7, Candee and Udayashankar teach claim 1 as shown above, and Udayashankar further teaches
The method of claim 1, further comprising: recording a number of requests to compute differences of the snapshot per changed region during a sliding window time interval; and (Par. [0043, 56] a value 'p' is decremented every time a block is evicted before being accessed )
purging a cache at the data service storing the prefetched metadata corresponding to changed regions for which the number of access requests for the computed differences is zero during the sliding window time interval. (Par. [0043, 56] a value 'p' is decremented every time a block is evicted before being accessed (i.e. access requests are zero))
Regarding claim(s) 8, Candee and Udayashankar teach claim 1 as shown above, and Udayashankar further teaches
The method of claim 1, further comprising prefetching the object data according to the changed region computed from the differences of the snapshot for servicing the predicted subsequent data access requests, and wherein the access requests are serviced from the object data according to a portion of the changed region less than a whole. (Figs. 3-4; Par. [0056-7] high level checksum (#232) is used before the low level checksums for configuration (#234) and storage (#236) components are also checked before deciding whether or not data corresponding data has changed and needs to be retrieved (e.g. high level checksum may only end up retrieving data for only configuration components or only storage components/less than the whole))
Regarding claim(s) 9, Candee and Udayashankar teach claim 1 as shown above, and Udayashankar further teaches
The method of claim 1, further comprising increasing a time between prefetches of the metadata from the repository service in response to insufficient free capacity existing in a cache at the data service. (Par. [0047, 56] threshold used includes inter-arrival times of requests and blocks available)
Regarding claim(s) 11, while worded slightly different, is rejected under the same rationale as claim 1. Candee further teaches
A non-transitory computer readable medium including program instructions for execution on a processor (Fig. 3; Par. [0043] system contains processors and memory)
Regarding claim(s) 12, while worded slightly different, is rejected under the same rationale as claim 2.
Regarding claim(s) 13, while worded slightly different, is rejected under the same rationale as claim 3.
Regarding claim(s) 14, while worded slightly different, is rejected under the same rationale as claim 4.
Regarding claim(s) 15, while worded slightly different, is rejected under the same rationale as claim 5.
Regarding claim(s) 16, while worded slightly different, is rejected under the same rationale as claim 6.
Regarding claim(s) 17, while worded slightly different, is rejected under the same rationale as claim 7.
Regarding claim(s) 18, while worded slightly different, is rejected under the same rationale as claim 8.
Regarding claim(s) 19, while worded slightly different, is rejected under the same rationale as claim 9.
Regarding claim(s) 21, while worded slightly different, is rejected under the same rationale as claim 11.
Regarding claim(s) 22, while worded slightly different, is rejected under the same rationale as claim 2.
Regarding claim(s) 23, while worded slightly different, is rejected under the same rationale as claim 3.
Regarding claim(s) 24, while worded slightly different, is rejected under the same rationale as claim 4.
Regarding claim(s) 25, while worded slightly different, is rejected under the same rationale as claim 5.
Regarding claim(s) 26, while worded slightly different, is rejected under the same rationale as claim 6.
Regarding claim(s) 27, while worded slightly different, is rejected under the same rationale as claim 7.
Regarding claim(s) 28, while worded slightly different, is rejected under the same rationale as claim 8.
Regarding claim(s) 29, while worded slightly different, is rejected under the same rationale as claim 9.
Claim(s) 10, 20 and 30 is/are rejected under 35 U.S.C. 103 as being unpatentable over Candee et al. (US Pub. 2020/0110669) in view of Udayashankar et al. (2015/0032967) and further in view of Yochai (US Pub 2019/0205254).
Regarding claim(s) 10, Candee and Udayashankar teach claim 1 do not explicitly teach
The method of claim 1, wherein constructing the heuristic further comprises: determining an expected client consumption of the object data according to changed regions by grouping changed regions according to a recorded hit ratio of a number of access requests to the computed differences of the snapshot per changed region; and
evicting the prefetched metadata from a cache at the data service having a highest hit ratio of access requests according to a most used eviction policy.
However, from the same field, Yochai teaches
The method of claim 1, wherein constructing the heuristic further comprises: determining an expected client consumption of the object data according to changed regions by grouping changed regions according to a recorded hit ratio of a number of access requests to the computed differences of the snapshot per changed region; (Par. [0031-2] each caching unit (i.e. data object) is grouped and then included or excluded (i.e. eviction) from the cache based on the hit ratio)
evicting the prefetched metadata from a cache at the data service having a highest hit ratio of access requests according to a most used eviction policy. (Par. [0031-2] each caching unit (i.e. data object) is grouped and then included or excluded (i.e. eviction) from the cache based on the hit ratio)
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to combine the cache grouping of Yochai into the data recovery system of Candee. The motivation for this combination would have been to provide a method for controlling the cache in order to shorten access times as explained in Yochai (Par. [0002]).
Regarding claim(s) 20, while worded slightly different, is rejected under the same rationale as claim 10.
Regarding claim(s) 30, while worded slightly different, is rejected under the same rationale as claim 10.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to J MITCHELL CURRAN whose telephone number is (469)295-9081. The examiner can normally be reached M-F 8:00am - 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, Sherief Badawi can be reached at (571) 272-9782. 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.
/J MITCHELL CURRAN/Examiner, Art Unit 2169 /SHERIEF BADAWI/Supervisory Patent Examiner, Art Unit 2169