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 .
Status of Claims
Claims 1-20 are pending of which claims 1, 8 and 15 are in independent form.
Claims 1-20 rejected on the ground of nonstatutory double patenting.
Claims 1-20 are rejected under 35 U.S.C. 103.
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 rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. US 12265453 B2; claims 1-20 of U.S. Patent No. US 11341101 B2 and claims 1-20 of U.S. Patent No. US 10949309 B2. Although the claims at issue are not identical, they are not patentably distinct from each other.
Claim Analysis Regarding - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are analyzed under 35 U.S.C. 101 to determine whether the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
The claim(s) recite(s) snapshot creating with synchronous replication.
With respect to step 1 of the patent subject matter eligibility analysis, the claims are directed to a process, machine, manufacture, or composition of matter.
Independent claim 1 is directed to a method, which is a process.
Independent claim 8 is directed to non-transitory computer readable medium, which is directed to one of the four statutory subject matters.
Independent claim 15 is directed to a computing device including a memory and a processor, which is directed to one of the four statutory subject matters.
Independent All other claims depend on claims 1, 8 and 15. As such, claims 1-20 are directed to a statutory category.
Regarding claims 1, 8 and 15:
With respect to step 2A, prong one (Judicial Exception), the claims DO NOT recite an abstract idea, law of nature, or natural phenomenon. Specifically, the following limitations DO NOT recite mathematical concepts and/or mental processes and/or certain methods of organizing human activity.
The claim recites:
Receiving a snapshot request;
Managing replication of pending writes;
Queuing incoming write operations;
Coordinating multiple splitters;
Creating a consistent snapshot across storage objects.
These steps DO NOT fall into recognized abstract idea:
Mental Process;
Mathematical Concepts/Algorithms;
Methods of organizing human activities;
These claimed steps are concrete distributed storage system operations.
The claims are therefore directed to a technical storage system behavior, the claims are NOT abstract idea (Mental Process/Mathematical/Data Manipulation algorithm).
With respect to step 2A, Prong Two (Particular Application), the claims recite additional elements that integrate the judicial exception into a practical application. The following limitations are considered “additional elements” and explanation will be given as to why these “additional elements” integrate the judicial exception into a practical application.
The claims integrate into:
Specific components (first and second splitter);
Specific operation (replication and queuing);
A specific technical outcome (consistent snapshot)
These steps incorporate a technical solution to:
How to create consistent snapshots while writes are occurring.
This improves how the storage systems function, and therefore it is integrated into a practical application.
With respect to Step 2B. The claims include additional elements that are sufficient to amount to significantly more than the judicial exception. The recited components are not merely generic computer/database elements performing their routine, well-understood, and conventional functions. See Alive, MPEP 2016.05(d).
Additional elements include:
Coordinated splitters;
Write-replication completion;
Write queuing;
Synchronization logic;
Snapshot triggering.
These are:
Not generic;
Not simply processors and memory;
Not-post solution activity.
They are considered core technical mechanism.
Claim Rejections - 35 USC § 103
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.
Claims 1-5, 8-12, and 16-19 are rejected under 35 U.S.C. 103 as being unpatentable over Natanzon; Assaf (US 9135120 B1) [Natanzon-1], in view of Jess; Martin (US 20110246423 A1) [Jess].
Regarding claims 1, 8 and 15, Natanzon-1 discloses, a method comprising: receiving a request to create a snapshot of a consistency group corresponding to a first set of storage objects and a second set of storage objects (Herein, some information is provided for conventional continuous data protection systems having journaling and a replication splitter which may be used in one or more embodiments is provided. A replication may set refer to an association created between the source volume and the local and/or remote target volumes, and a consistency group contains one or more replication sets. A snapshot may be the difference between one consistent image of stored data and the next. The exact time for closing the snapshot may determined dynamically depending on replication policies and the journal of the consistency group [col. 15, ll. 29-39]. Also see [col. 27, ll. 40-45], [col. 28, ll. 30-67]);
instructing a first splitter to complete replication of pending write operations [and queue incoming write operations] targeting the first set of storage objects associated with the consistency group (the method comprising moving a splitter splitting the consistency group to tracking mode, flushing pending IO to the consistency group, stopping replication, moving the consistency group to a second cluster, and starting replication of the consistency group at the second cluster [abstract] and [col. 2, ll. 16-24]. Also see Figs. 6 and 7, both displaying first and second splitters [elements 625 and 660 and 725 and 760]);
instructing a second splitter to complete replication of pending write operations [and queue incoming write operations] targeting the second set of storage objects associated with the consistency group (( the method comprising moving a splitter splitting the consistency group to tracking mode, flushing pending IO to the consistency group, stopping replication, moving the consistency group to a second cluster, and starting replication of the consistency group at the second cluster [abstract] and [col. 2, ll. 16-24]. Also see Figs. 6 and 7, both displaying first and second splitters [elements 625 and 660 and 725 and 760]); and
in response to the first splitter and the second splitter replicating the pending write operations [and queuing the incoming write operations], creating a first snapshot for the consistency group (Herein, some information is provided for conventional continuous data protection systems having journaling and a replication splitter which may be used in one or more embodiments is provided. A replication may set refer to an association created between the source volume and the local and/or remote target volumes, and a consistency group contains one or more replication sets. A snapshot may be the difference between one consistent image of stored data and the next. The exact time for closing the snapshot may determined dynamically depending on replication policies and the journal of the consistency group [col. 15, ll. 29-51]. A computer implemented method, system, and computer program product for moving a consistency group from a first replication cluster to a second replication cluster, without journal loss, the method comprising moving a splitter splitting the consistency group to tracking mode, flushing pending IO to the consistency group, stopping replication, moving the consistency group to a second cluster, and starting replication of the consistency group at the second cluster [Abstract]).
However, Natanzon-1 does not explicitly facilitate queue incoming write operations; and queuing the incoming write operations.
Jess discloses, queue incoming write operations; and queuing the incoming write operations (A method for implementing multi-array consistency groups includes applying a write Input/Output (I/O) queue interval to a Logical Unit (LU) member of a consistency group (CG). The method also includes marking each write I/O with a timestamp and suspending I/O from the participating storage array to the LU member of the CG upon the participating storage array receiving a snapshot request from a master storage array. The method further includes determining whether the snapshot request timestamp is within the write I/O queue interval of the participating storage array [Abstract]. Also see ¶ [0005]-[0007], [0017]-[0020], [0031]-[0034]).
It would have been obvious to one ordinary skilled in the art at the time of the present invention to combine the teachings of the cited references because Jess’ system would have allowed Natanzon-1 to facilitate queue incoming write operations; and queuing the incoming write operations. The motivation to combine is apparent in the Natanzon-1’s reference, because there need for an improved method for implementing multi-array consistency groups for database backup.
Regarding claims 2, 9 and 16, the combination of Natanzon-1 and Jess discloses, wherein the first set of objects are hosted by a first node and the second set of objects are hosted by a second node (Natanzon-1: In some embodiments, a replication cluster may be a set of virtual or physical DPAs which replicate a set of consistency groups; the cluster may have one or more nodes. In certain embodiments, the nodes may be used for availability. In at least one embodiment, if a node crashes another node may take the activities of the failed node. In further embodiments, the nodes may provide additional performance by supporting more CPU power and more resources [col. 29, ll. 2-23]).
Regarding claims 3, 10 and 17, the combination of Natanzon-1 and Jess discloses, wherein the first set of objects have a synchronous replication relationship with the second set of objects (Natanzon-1: In synchronous replication, each write may be a snapshot. When the snapshot is distributed to a replica, it may be stored in the journal volume, so that is it possible to revert to previous images by using the stored snapshots [col. 15, ll. 40-43]. Also see [col. 30, ll. 66-col. 31, ll. 12], [col. 32, ll. 19-42]).
Regarding claims 4, 11, and 18, the combination of Natanzon-1 and Jess discloses, in response to the first splitter and the second splitter replicating the pending write operations and [queuing the incoming write operations], instructing the first node to create the first snapshot of the first set of storage objects (Natanzon-1: Herein, some information is provided for conventional continuous data protection systems having journaling and a replication splitter which may be used in one or more embodiments is provided. A replication may set refer to an association created between the source volume and the local and/or remote target volumes, and a consistency group contains one or more replication sets. A snapshot may be the difference between one consistent image of stored data and the next. The exact time for closing the snapshot may determined dynamically depending on replication policies and the journal of the consistency group [col. 15, ll. 29-51]. A computer implemented method, system, and computer program product for moving a consistency group from a first replication cluster to a second replication cluster, without journal loss, the method comprising moving a splitter splitting the consistency group to tracking mode, flushing pending IO to the consistency group, stopping replication, moving the consistency group to a second cluster, and starting replication of the consistency group at the second cluster [Abstract]);
queuing the incoming write operations (Jess: A method for implementing multi-array consistency groups includes applying a write Input/Output (I/O) queue interval to a Logical Unit (LU) member of a consistency group (CG). The method also includes marking each write I/O with a timestamp and suspending I/O from the participating storage array to the LU member of the CG upon the participating storage array receiving a snapshot request from a master storage array. The method further includes determining whether the snapshot request timestamp is within the write I/O queue interval of the participating storage array [Abstract]. Also see ¶ [0005]-[0007], [0017]-[0020], [0031]-[0034]).
Regarding claims 5, 12 and 19, the combination of Natanzon-1 and Jess discloses, in response to the first splitter and the second splitter replicating the pending write operations and [queuing the incoming write operations], instructing the second node to create a second snapshot of the second set of storage objects for the consistency group (Natanzon-1: Herein, some information is provided for conventional continuous data protection systems having journaling and a replication splitter which may be used in one or more embodiments is provided. A replication may set refer to an association created between the source volume and the local and/or remote target volumes, and a consistency group contains one or more replication sets. A snapshot may be the difference between one consistent image of stored data and the next. The exact time for closing the snapshot may determined dynamically depending on replication policies and the journal of the consistency group [col. 15, ll. 29-51]. A computer implemented method, system, and computer program product for moving a consistency group from a first replication cluster to a second replication cluster, without journal loss, the method comprising moving a splitter splitting the consistency group to tracking mode, flushing pending IO to the consistency group, stopping replication, moving the consistency group to a second cluster, and starting replication of the consistency group at the second cluster [Abstract]);
queuing the incoming write operations (Jess: A method for implementing multi-array consistency groups includes applying a write Input/Output (I/O) queue interval to a Logical Unit (LU) member of a consistency group (CG). The method also includes marking each write I/O with a timestamp and suspending I/O from the participating storage array to the LU member of the CG upon the participating storage array receiving a snapshot request from a master storage array. The method further includes determining whether the snapshot request timestamp is within the write I/O queue interval of the participating storage array [Abstract]. Also see ¶ [0005]-[0007], [0017]-[0020], [0031]-[0034]).
Claims 6, 13 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Natanzon-1, in view of Jess in view of Natanzon; Assaf et al. (US 8745004 B1) [Natanzon-2].
Regarding claims 6, 13 and 20, the combination of Natanzon-1 and Jess discloses, in response to the first snapshot and the second snapshot being successfully created, instructing the first splitter and the second splitter [to process queued write operations] [and to resume replicating subsequently received write operations] (Natanzon-1: Herein, some information is provided for conventional continuous data protection systems having journaling and a replication splitter which may be used in one or more embodiments is provided. A replication may set refer to an association created between the source volume and the local and/or remote target volumes, and a consistency group contains one or more replication sets. A snapshot may be the difference between one consistent image of stored data and the next. The exact time for closing the snapshot may determined dynamically depending on replication policies and the journal of the consistency group [col. 15, ll. 29-51]. A computer implemented method, system, and computer program product for moving a consistency group from a first replication cluster to a second replication cluster, without journal loss, the method comprising moving a splitter splitting the consistency group to tracking mode, flushing pending IO to the consistency group, stopping replication, moving the consistency group to a second cluster, and starting replication of the consistency group at the second cluster [Abstract]);
to process queued write operations (Jess: A method for implementing multi-array consistency groups includes applying a write Input/Output (I/O) queue interval to a Logical Unit (LU) member of a consistency group (CG). The method also includes marking each write I/O with a timestamp and suspending I/O from the participating storage array to the LU member of the CG upon the participating storage array receiving a snapshot request from a master storage array. The method further includes determining whether the snapshot request timestamp is within the write I/O queue interval of the participating storage array [Abstract]. Also see ¶ [0005]-[0007], [0017]-[0020], [0031]-[0034]).
However, neither Natanzon-1 nor Jess explicitly facilitates and to resume replicating subsequently received write operations.
Natanzon-2 discloses, and to resume replicating subsequently received write operations (Returning to FIG. 4A, once the revert is completed, replication of the production volume (430) between the production site and the replication site according to the production site DPA 312 and the replication site DPA 324 may then resume [col. 11, ll. 4-26]. Also see [Abstract]).
It would have been obvious to one ordinary skilled in the art at the time of the present invention to combine the teachings of the cited references because Natanzon-2’ system would have allowed Natanzon-1 and Jess to facilitates and to resume replicating subsequently received write operations. The motivation to combine is apparent in the Natanzon-1 and Jess’s reference, because there need for an improved data replication by minimize the down time.
Claims 7, and 14, are rejected under 35 U.S.C. 103 as being unpatentable over Natanzon-1, in view of Jess in view of WEI; DANNY et al. (US 20160328168 A1) [Wei].
Regarding claims 7, and 14, the combination of Natanzon-1 and Jess discloses, the request to create the snapshot of the consistency group (Natanzon-1: Herein, some information is provided for conventional continuous data protection systems having journaling and a replication splitter which may be used in one or more embodiments is provided. A replication may set refer to an association created between the source volume and the local and/or remote target volumes, and a consistency group contains one or more replication sets. A snapshot may be the difference between one consistent image of stored data and the next. The exact time for closing the snapshot may determined dynamically depending on replication policies and the journal of the consistency group [col. 15, ll. 29-39]. Also see [col. 27, ll. 40-45], [col. 28, ll. 30-67]).
However, neither Natanzon-1 nor Jess explicitly facilitates providing an indication that [the request to create the snapshot of the consistency group] is successful based upon both the first snapshot of the first set of storage objects and the second snapshot of the second set of storage objects successfully completing.
Wei discloses, providing an indication that [the request to create the snapshot of the consistency group] is successful based upon both the first snapshot of the first set of storage objects and the second snapshot of the second set of storage objects successfully completing (Once the data chunk is stored in the in-memory volume snapshot buffer, the write request may be performed and acknowledged as complete. The data chunk may be sent to the remote snapshot data store asynchronously with regard to the acknowledgment of the write request [Abstract]. Also see ¶ [0019], [0037], [0039]-[0040]).
It would have been obvious to one ordinary skilled in the art at the time of the present invention to combine the teachings of the cited references because Wei’ system would have allowed Natanzon-1 and Jess to facilitates providing an indication that [the request to create the snapshot of the consistency group] is successful based upon both the first snapshot of the first set of storage objects and the second snapshot of the second set of storage objects successfully completing. The motivation to combine is apparent in the Natanzon-1 and Jess’s reference, because there need for an improved write optimization for block-based storage performing snapshot operations.
Conclusion
The examiner requests, in response to this Office action, support be shown for language added to any original claims on amendment and any new claims. That is, indicate support for newly added claim language by specifically pointing to page(s) and line no(s) in the specification and/or drawing figure(s). This will assist the examiner in prosecuting the application.
When responding to this office action, Applicant is advised to clearly point out the patentable novelty which he or she thinks the claims present, in view of the state of the art disclosed by the references cited or the objections made. He or she must also show how the amendments avoid such references or objections See 37 CFR 1.111(c).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MOHAMMAD S ROSTAMI whose telephone number is (571)270-1980. The examiner can normally be reached Mon-Fri From 9 a.m. to 5 p.m..
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, Boris Gorney can be reached at (571)270-5626. 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.
1/23/2026
/MOHAMMAD S ROSTAMI/ Primary Examiner, Art Unit 2154