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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 04/28/2026 has been entered.
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 21-30 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 10,942,897. Although the claims at issue are not identical, they are not patentably distinct from each other because every limitation claimed in the present application is anticipated by the claimed invention of U.S. Patent No. 10,942,897, as follows:
Present application
US10,942,897
21. A system comprising: a plurality of controllers comprising an active controller and one or more non-active controllers, wherein: the active controller is operable to build a failure resilient stripe comprising at least one block located in each of a plurality of storage systems spanning a plurality of failure domains, and the one or more non-active controllers are operable to redirect a data access to the active controller for maintaining consistency of the failure resilient stripe.
22. The system of claim 21, wherein a storage system comprises a plurality of solid-state drives.
23. The system of claim 21, wherein a controller comprises one or more servers.
24. The system of claim 21, wherein a storage system comprises a rack and a network switch.
25. The system of claim 21, wherein if two controllers, of the plurality of controllers, lose communication with each other, another controller is operable to determine which of the two controllers will rebuild data.
26.The system of claim 21, wherein the plurality of controllers will rebuild the failure resilient stripe only if a permission is granted by a controllers other than the plurality of controllers.
27. The system of claim 21, wherein the active controller comprises a bucket that initially builds the failure resilient stripe.
28. The system of claim 21, wherein the active controller comprises a bucket that is a leader of the failure resilient stripe.
29.The system of claim 21, wherein the particular controller comprises a bucket that becomes a leader of the failure resilient stripe if the active controller fails.
30. The system of claim 21, wherein the active controller comprise an availability group.
31. A method comprising: building, via an active controller, a failure resilient stripe comprising at least one block located in each of a plurality of storage systems spanning a plurality of failure domains, and redirecting, via one or more non-active controllers, a data access to the active controller for maintaining consistency of the failure resilient stripe.
32. The method of claim 31, wherein a storage system comprises a plurality of storage devices.
33. The method of claim 31, wherein a storage system comprises one or more servers.
34. The method of claim 31, wherein a storage system comprises a rack and a network switch.
35. The method of claim 31, wherein the method comprises determining which of a plurality of controllers will rebuild the failure resilient stripe if two storage systems lose communication with each other.
36. The method of claim 31, wherein two storage systems will rebuild the failure resilient stripe only if a permission is granted by another storage system.
37. The method of claim 31, wherein the method comprises building the failure resilient stripe via a bucket in the active controller.
38. The method of claim 31, wherein a bucket of the active controller is a leader of the failure resilient stripe.
39. The method of claim 31, wherein the method comprises promoting a bucket of the particular controller to become a leader of the failure resilient stripe if the active controller fails.
40. The method of claim 31, wherein a storage system comprise an availability group.
1. A system comprising: a first failure domain comprising a first backend and a first storage device; and a second failure domain comprising a second backend and a second storage device, wherein: the first backend and the second backend reach consensus that the first backend is an active controller, the first backend is operable to build a failure resilient stripe comprising a plurality of blocks, two or more blocks of the plurality of blocks comprise error correction information, two or more blocks of the plurality of blocks are located in the first storage device, two or more blocks of the plurality of blocks are located in the second storage device, if a data access is directed to the second backend, the second backend redirects the data access to the first backend, upon a failure of the first failure domain, the two or more blocks of the plurality of blocks in the first storage device are regenerated according to the two or more blocks of the plurality of blocks in the second storage device, and upon a failure of the second failure domain, the two or more blocks of the plurality of blocks in the second storage device are regenerated according to the two or more blocks of the plurality of blocks in the first storage device.
2. The system of claim 1, wherein the first failure domain comprises a plurality of solid-state drives.
3. The system of claim 1, wherein the first failure domain comprises one or more servers.
4. The system of claim 1, wherein the first failure domain comprises a rack and a network switch.
5. The system of claim 1, wherein if the first failure domain and the second failure domain lose communication with each other, a third failure domain is operable to determine which of the first failure domain and the second failure domain will continue running the system by rebuilding data.
6. The system of claim 1, wherein neither the first failure domain nor the second failure domain will rebuild the failure resilient stripe unless permission is granted by a third failure domain.
7. The system of claim 1, wherein the first backend comprises a bucket that initially builds the failure resilient stripe.
8. The system of claim 1, wherein the first backend comprises a bucket that is a leader of the failure resilient stripe.
9. The system of claim 1, wherein the second backend comprises a bucket that becomes a leader of the failure resilient stripe if the first failure domain fails.
10. The system of claim 1, wherein the first failure domain comprise an availability group.
11. A method comprising: receiving a plurality of data pieces by a first failure domain; generating a plurality of error correction pieces according to the plurality of data pieces; building a failure resilient stripe comprising a plurality of blocks using a first backend of the first failure domain, wherein each block of the plurality of blocks comprises one data piece of the plurality of data pieces or one error correction piece of the plurality of error correction pieces; placing a first two or more blocks of the plurality of blocks in the first failure domain; placing a second two or more blocks of the plurality of blocks in a second failure domain; the first backend and a second backend of the second failure domain reach consensus that the first backend is an active controller; if a data access is directed to the second backend, the second backend redirects the data access to the first backend; if the first failure domain fails, regenerating the first two or more blocks in the first failure domain according to the second two or more blocks in the second failure domain; and if the second failure domain fails, regenerating the second two or more blocks in the second failure domain according to the first two or more blocks in the first failure domain.
12. The method of claim 11, wherein the first failure domain comprises a plurality of storage devices.
13. The method of claim 11, wherein the first failure domain comprises one or more servers.
14. The method of claim 11, wherein the first failure domain comprises a rack and a network switch.
15. The method of claim 11, wherein the method comprises determining which of the first failure domain and the second failure domain will rebuild the failure resilient stripe if the first failure domain and the second failure domain lose communication with each other.
16. The method of claim 11, wherein neither the first failure domain nor the second failure domain will rebuild the failure resilient stripe unless permission is granted by a third failure domain.
17. The method of claim 11, wherein the failure resilient stripe is built by a bucket in the first backend.
18. The method of claim 11, wherein a bucket of the first backend is a leader of the failure resilient stripe.
19. The method of claim 11, wherein the method comprises promoting a bucket of the second backend of the second failure domain to become a leader of the failure resilient stripe if the first failure domain fails.
20. The method of claim 11, wherein the first failure domain comprise an availability group.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GUERRIER MERANT whose telephone number is (571)270-1066. The examiner can normally be reached Monday-Friday 8:00 Am - 5:00 PM.
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, Mark Featherstone can be reached at 571-270-3750. 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.
/GUERRIER MERANT/Primary Examiner, Art Unit 2111
5/22/2026