DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
Applicant’s arguments with respect to claims 1-20 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Nuttle (US 2022/0027325).
Regarding claim 1, Nuttle teaches a method, comprising: receiving a read request to read data ([0129] FIG. 17 shows a method 1700 for implementing read-like operations 1300 using system 1500) stored in a distributed file system ([0037]), wherein the read request indicates a first offset in a patch file, the first offset corresponding to the data ([0131, 0132] metadata array, [0060] the metadata records in the metadata array 400 identify data by dentifying a specific data array 410, an offset (which takes the form of an array index 320), and a length in order to identify particular data in the array 410), and wherein the data is stored in a journaled file of the distributed file system that is different from the patch file (Abstract, The location of real data on the file data array is identified by a record in the metadata array; [0010] metadata and real data being stored in separate arrays);
scanning a virtual patch file different from the journaled file and the patch file, the virtual patch file comprising attribute information associated with the data, wherein the attribute information supports conversion of the first offset in the patch file to a location of the data in the journaled file ([0014] Read-like commands trigger an analysis of the metadata array in order to create a virtual file array for the file or files managed by the metadata array. The virtual file array has the same size as the actual file but does not contain the real data for the file. Rather, the virtual file array maps to the actual data stored in the file data array).;
re-routing the read request from the first offset in the patch file to the location of the data in the journaled file based at least in part on the attribute information in the virtual patch file ([0014]; and
reading the data from the location in the journaled file based at least in part on re-routing the read request from the first offset in the patch file to the location of the data in the journaled file ([0134] the file data array server 1550 (or the file data array RAID server 1570) reads the requested data identified from the virtual array 1100 from the file data array 410 at step 1745 and then returns that data at step 1750. The read data is returned either to the client 160 if the file data array server 1550 received the request from the client 160, or to the metadata array server 1530).
Regarding claim 2, Nuttle teaches ([0104]) obtaining a backup of user data; and storing, prior to receiving the read request, the backup of the user data in the journaled file of the distributed file system, wherein the backup of the user data comprises at least some of the data associated with the read request.
Regarding claim 3, Nuttle teaches storing the backup of the data in consecutive physical address locations within the journaled file ([0126] At step 1635, the file data array server 1550 appends the real data to the end of the file data array 410 at step 1635); and
storing, in an index file associated with the journaled file, index information that indicates, for data blocks included in the backup, respective sizes of the data blocks and respective mappings from respective offsets of data blocks within a logical space to respective physical offsets of the data blocks within the consecutive physical address locations ([0060] the metadata records in the metadata array 400 identify data by identifying a specific data array 410, an offset (which takes the form of an array index 320), and a length in order to identify particular data in the array 410).
Comment: Metadata records read on an index file.
Regarding claim 4, Nuttle teaches identifying, in the virtual patch file, the attribute information at the first offset, wherein the attribute information indicates a mapping from a logical offset of the data in the patch file to a physical offset of the data in the patch file; and accessing the location of the data in the journaled file based at least in part on the physical offset of the data ([0098] the virtual array 1100 virtually contains this data by mapping to the array locations where the file data is actually stored in the file data array 410. This means that the virtual file array 1100 may not even have the same length as all of the mapped-to data in the file data array 410).
Regarding claim 5, Nuttle teaches generating, based at least in part on the journaled file, the virtual patch file comprising the attribute information; and storing the virtual patch file in a storage location.
Comment: It is examiner’s position that metadata array reads on both the patch file and the virtual patch file.
Regarding claim 6, Nuttle teaches performing an index file scanning operation for a plurality of data blocks of the journaled file, wherein the index file scanning operation comprises a plurality of iterations for the plurality of data blocks of the journaled file, and wherein performing an iteration of the plurality of iterations of the index file scanning operation comprises: scanning an index file associated with the journaled file for the attribute information associated with a data block of the plurality of data blocks; and writing the attribute information associated with the data block to the virtual patch file ([0110] The read operation 1320 also identifies the offset and length of the data to be read from the file. In the context of file X 500, a read operation 1320 causes the creation of virtual array 1100. The offset in the file identified by the offset parameter will define the offset into the virtual array 1100. The length of the data to be read will be equivalent to the length of data read from the virtual array 1100. The actual data that will be returned in response to the read operation 1320 will be acquired from the file data array(s) 410 based on the mapping in the virtual array 1100.).
Regarding claim 7, Nuttle teaches ([0110] that performing the iteration further comprises: refraining from reading data from the data block; and refraining from writing the data block to the virtual patch file.
Regarding claims 8-14, rejection rational for claims 1-7 is applicable.
Furthermore, Nuttle teaches ([0002] a processor and a memory by disclosing a computer system.
Regarding claims 15-20, rejection rational for claims 1-6 is applicable.
Furthermore, Nuttle teaches ([0002] a computer readable memory by disclosing a computer system.
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 Boris Gorney whose telephone number is (571)270-5626. The examiner can normally be reached Mon-Fri 9-5:30.
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, Dede Zecher can be reached at 571-272-7771. 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.
/BORIS GORNEY/Supervisory Patent Examiner, Art Unit 2154