DETAILED ACTION
The Action is responsive to Applicant’s Application filed July 21, 2025
Please note claims 1-10 are pending.
Priority
Applicant’s claim for the benefit of a prior-filed application under 35 U.S.C. 119(e) or under 35 U.S.C. 120, 121, or 365(c) is acknowledged.
Drawings
The drawings, filed July 21, 2025 are considered in compliance with 37 CFR 1.81 and accepted.
Information Disclosure Statement
The information disclosure statements filed September 9, 2025 are in compliance with 37 CFR 1.97(c) and therein have been considered. Its corresponding PTO-1449 has been electronically signed as attached.
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 .
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, 3-6, 8-10, 12-15, 17-19, 21-22, 24, 26-27 of U.S. Patent No. 12,367,176. Although the claims at issue are not identical, they are not patentably distinct from each other because:
Instant Application 19/275261
US Patent No. 12,367,176
1. A method comprising:
moving a target file from a first node of a distributed storage system to a second node of a distributed storage system by converting the target file to a multipart file having a directory part and at least one data part stored on the first node, wherein the directory part provides at least pointers to the at least one data part;
providing non-disrupted access to the target file contents by moving data parts to a new file on a second node of the distributed storage system while maintaining access to the target file contents via an associated file handle by changing location information for
individual parts of the multipart file from the first node to the second node and
updating location information associated with the new file on the second node
without breaking open file handles.
1. In a distributed storage system having a first constituent to store files and a second constituent to store files, a method comprising:
receiving a request to move a target file from the first constituent to the second constituent, the file having an associated file handle; converting the target file in the first constituent to a multipart file in the first constituent with a file location for the multipart file in the first constituent; creating a new file in the second constituent;
moving contents of the target file to the new file in the second constituent while maintaining access to the target file via the associated file handle via access to the multipart file by changing location information for the multipart file from indicating the target file in the first constituent to indicating the new file in the second constituent and updating location information associated with the new file in the second constituent to store inode data for the new file in the second constituent; deleting the target file from the first constituent.
2. The method of claim 1, wherein creating the new file on the second node
comprises:
generating a private file in the second constituent;
allocating space for a buffer tree for the private file in the second constituent;
creating a public file in the second constituent, wherein the public file comprises the new file in the second constituent;
linking the public file to the buffer tree for the private file
4. The method of claim 1 wherein creating a new file in the second constituent further comprises:
generating a private file in the second constituent;
allocating space for a buffer tree for the private file in the second constituent;
creating a public file in the second constituent, wherein the public file comprises the new file in the second constituent;
linking the public file to the buffer tree for the private file;
removing the link from the private file to the buffer tree.
3. The method of claim 1, wherein the directory part of the multipart file
comprises at least a link to a parts catalog having links to one or more part inode files that teach comprise a portion of user data currently or previously stored in the target file.
6. The method of claim 1 wherein the multipart file comprises at least a link to a parts catalog having links to one or more part inode files that each comprise a portion of user data previously stored in the multipart file.
4. The method of claim 1, wherein the request to move the target file is received
from either a rebalancing engine or a rebalancing scanner.
8. The method of claim 1 wherein the request to move the target file is received from either a rebalancing engine or a rebalancing scanner.
5. The method of claim 1, wherein at least one of the first node and the second
node reside in cloud storage.
9. The method of claim 1 wherein at least one of the first constituent and the second constituent reside in cloud storage.
6. The method of claim 1, wherein the location information for the multipart file
from indicating the target file in the first node is changed to indicating the new file in the second node in a buffer tree and updating location information associated with the new file in the second node to store inode data for the new file in the second constituent comprises updating buffer tree information.
3. The method of claim 1 wherein the location information for the multipart file from indicating the target file in the first constituent is changed to indicating the new file in the second constituent in a buffer tree and updating location information associated with the new file in the second constituent to store inode data for the new file in the second constituent comprises updating buffer tree information.
7. The method of claim 1, wherein the new file in the second node comprises a
part inode file.
5. The method of claim 1 wherein the new file in the second constituent comprises a part inode file.
8. A system comprising: a memory subsystem having a plurality of memory devices coupled together; and one or more hardware processors coupled with the memory subsystem, the one or more hardware processors configurable to:
move a target file from a first node of a distributed storage system to a second node of a distributed storage system by converting the target file to a multipart file having a directory part and at least one data part stored on the first node, wherein the directory part provides at least pointers to the at least one data part, and
provide non-disrupted access to the target file contents by moving data parts to a new file on a second node of the distributed storage system while maintaining access to the target file contents via an associated file handle by changing location information for individual parts of the multipart file from the first node to the second node and updating location information associated with the new file on the second node, thereby maintaining continuous access via an existing file handle without closing or reissuing the file handle.
19. A non-disruptive file movement agent in a distributed storage system, the non-disruptive file movement agent is configured to:
receive a request to move a target file from the first constituent to the second constituent, the file having an associated file handle; convert the target file in the first constituent to a multipart file in the first constituent with a file location for the multipart file in the first constituent;
creating a new file in the second constituent; move contents of the target file to the new file in the second constituent while maintaining access to the target file via the associated file handle via access to the multipart file by changing location information for the multipart file from indicating the target file in the first constituent to indicating the new file in the second constituent and updating location information associated with the new file in the second constituent to store inode data for the new file in the second constituent; delete the target file from the first constituent.
9. The system of claim 8, wherein creating the new file on the second node
comprises:
generating a private file in the second constituent;
allocating space for a buffer tree for the private file in the second constituent;
creating a public file in the second constituent, wherein the public file comprises the new file in the second constituent;
linking the public file to the buffer tree for the private file;
removing the link from the private file to the buffer tree.
22. The non-disruptive file movement agent of claim 19 wherein creating a new file in the second constituent further comprises:
generating a private file in the second constituent;
allocating space for a buffer tree for the private file in the second constituent;
creating a public file in the second constituent, wherein the public file comprises the new file in the second constituent;
linking the public file to the buffer tree for the private file;
removing the link from the private file to the buffer tree.
10. The system of claim 8, wherein the directory part of the multipart file comprises at least a link to a parts catalog having links to one or more part inode files that each comprise a portion of user data currently or previously stored in the target file.
24. The non-disruptive file movement agent of claim 19 wherein the multipart file comprises at least a link to a parts catalog having links to one or more part inode files that each comprise a portion of user data previously stored in the multipart file.
11. The system of claim 8, wherein the request to move the target file is received
from either a rebalancing engine or a rebalancing scanner.
26. The non-disruptive file movement agent of claim 19 wherein the request to move the target file is received from either a rebalancing engine or a rebalancing scanner.
12. The system of claim 8, wherein at least one of the first constituent and the
second constituent reside in cloud storage.
27. The non-disruptive file movement agent of claim 19 wherein at least one of the first constituent and the second constituent reside in cloud storage.
13. The system of claim 8, wherein the location information for the multipart file
from indicating the target file in the first node is changed to indicating the new file in the second node in a buffer tree and updating location information associated with the new file in the second node to store inode data for the new file in the second constituent comprises updating buffer tree information.
21. The non-disruptive file movement agent of claim 19 wherein changing the location information for the multipart file from indicating the target file in the first constituent is changed to indicating the new file in the second constituent in a buffer tree and updating location information associated with the new file in the second constituent to store inode data for the new file in the second constituent comprises updating buffer tree information.
14. A non-transitory computer readable medium having stored thereon
instructions that, when executed by one or more hardware processors, are configurable to cause the one or more hardware processors to:
move a target file from a first node of a distributed storage system to a second node of a distributed storage system by converting the target file to a multipart file having a directory part and at least one data part stored on the first node, wherein the directory part provides at least pointers to the at least one data part; and
provide non-disrupted access to the target file contents by moving data parts to a new file on a second node of the distributed storage system while maintaining access to the target file contents via an associated file handle by changing location information for
individual parts of the multipart file from the first node to the second node and
updating location information associated with the new file on the second node to
enable seamless file movement.
10. A non-transitory computer readable medium having stored thereon instructions that, when executed, cause one or more processors to:
receive a request to move a target file from the first constituent to the second constituent, the file having an associated file handle; convert the target file in the first constituent to a multipart file in the first constituent with a file location for the multipart file in the first constituent; create a new file in the second constituent;
move contents of the target file to the new file in the second constituent while maintaining access to the target file via the associated file handle via access to the multipart file by changing location information for the multipart file from indicating the target file in the first constituent to indicating the new file in the second constituent and updating location information associated with the new file in the second constituent to store inode data for the new file in the second constituent; delete the target file from the first constituent.
15. The non-transitory computer readable medium of claim 14, wherein creating
the new file on the second node comprises:
generating a private file in the second constituent;
allocating space for a buffer tree for the private file in the second constituent;
creating a public file in the second constituent, wherein the public file comprises the new file in the second constituent;
linking the public file to the buffer tree for the private file;
removing the link from the private file to the buffer tree.
13. The non-transitory computer-readable medium of claim 10 wherein the instructions that, when executed, cause the one or more processors to create a new file in the second constituent further comprise instructions that, when executed, cause the one or more processors to:
generate a private file in the second constituent;
allocate space for a buffer tree for the private file in the second constituent;
create a public file in the second constituent, wherein the public file comprises the new file in the second constituent;
link the public file to the buffer tree for the private file;
remove the link from the private file to the buffer tree.
16. The non-transitory computer readable medium of claim 14, wherein the
directory part of the multipart file comprises at least a link to a parts catalog having links to one or more part inode files that each comprise a portion of user data currently or previously stored in the target file.
15. The non-transitory computer readable medium of claim 10 wherein the multipart file comprises at least a link to a parts catalog having links to one or more part inode files that each comprise a portion of user data previously stored in the multipart file.
17. The non-transitory computer readable medium of claim 14, wherein the request to move the target file is received from either a rebalancing engine or a rebalancing scanner.
17. The non-transitory computer readable medium of claim 10 wherein the request to move the target file is received from either a rebalancing engine or a rebalancing scanner.
18. The non-transitory computer readable medium of claim 14, wherein at least
one of the first constituent and the second constituent reside in cloud storage.
18. The non-transitory computer-readable medium of claim 10 wherein at least one of the first constituent and the second constituent reside in cloud storage.
19. The non-transitory computer readable medium of claim 14, wherein the new
file in the second constituent comprises a part inode file.
14. The non-transitory computer readable medium of claim 10 wherein the new file in the second constituent comprises a part inode file.
20. The non-transitory computer readable medium of claim 14, wherein the
location information for the multipart file from indicating the target file in the first node is changed to indicating the new file in the second node in a buffer tree and updating location information associated with the new file in the second node to store inode data for the new file in the second constituent comprises updating buffer tree information.
12. The non-transitory computer readable medium of claim 10 wherein changing the location information for the multipart file from indicating the target file in the first constituent is changed to indicating the new file in the second constituent in a buffer tree and updating location information associated with the new file in the second constituent to store inode data for the new file in the second constituent comprises updating buffer tree information.
Allowable Subject Matter
Claims 1-20 are rejected under Double Patenting but would be allowable if the outstanding rejections are overcome. A through search for the prior arts on PE2E database and on domains (NPL-ACM, Google, NPL-IEEE) has been conducted. The prior art searched and investigated in the database and domains does not fairly teach or suggest the teaching of “moving a target file from a first node of a distributed storage system to a second node of a distributed storage system by converting the target file to a multipart file having a directory part and at least one data part stored on the first node, wherein the directory part provides at least pointers to the at least one data part; providing non-disrupted access to the target file contents by moving data parts to a new file on a second node of the distributed storage system while maintaining access to the target file contents via an associated file handle by changing location information for
individual parts of the multipart file from the first node to the second node and
updating location information associated with the new file on the second node without breaking open file handles”. George et al. (US Pub. No. 2020/0301880) appears to teach a request to move a file from a first volume to a second volume having a file name in paragraphs 34,96,44. George further teaches creating a new file on the directory volume, file volume and/or shard volume in paragraphs 75-76 and moving a file from one volume to one or more other volumes in paragraphs 44-48. Morita (US Pub. No. 2001/0018766) contains subject matter regarding conversion to a multipart file in paragraph 43. While these two cited references contain general information pertinent to elements in the claims of the present application, neither George nor Morita, alone or in combination, fairly teach or suggest “moving a target file from a first node of a distributed storage system to a second node of a distributed storage system by converting the target file to a multipart file having a directory part and at least one data part stored on the first node, wherein the directory part provides at least pointers to the at least one data part; providing non-disrupted access to the target file contents by moving data parts to a new file on a second node of the distributed storage system while maintaining access to the target file contents via an associated file handle by changing location information for
individual parts of the multipart file from the first node to the second node and
updating location information associated with the new file on the second node without breaking open file handles”.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to VAN OBERLY whose telephone number is (571)272-7025. The examiner can normally be reached Monday - Friday, 7:30am-4pm MT.
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, Sanjiv Shah can be reached at (571) 272-4098. 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.
/VAN H OBERLY/Primary Examiner, Art Unit 2166