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 .
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.
Claim 1, 8, 9, 10, 11, 12, 19, 20 rejected on the ground of nonstatutory double patenting as being unpatentable over claim 1, 2, 6, 7, 8, 9, 11, 12, 18 of U.S. Patent No. 12373300. Although the claims at issue are not identical, they are not patentably distinct from each other because of the following reasons:
Patent No. 12373300 recites
As per claim 1,
A method, comprising:
obtaining a full snapshot of a data block and a plurality of incremental snapshots that comprise changes to partitions of the data block since the full snapshot, wherein the full snapshot and the plurality of incremental snapshots are stored as a snapshot chain; and
(Claim 1, A method, comprising: obtaining a full snapshot of a data block and a plurality of incremental snapshots that comprise data associated with changes to partitions of the data block since the full snapshot, wherein the full snapshot and the plurality of incremental snapshots are stored as a snapshot chain)
performing a reverse operation to reverse an order of the snapshot chain and convert an incremental snapshot in the snapshot chain to a new full snapshot, wherein performing the reverse operation comprises:
(Claim 1, performing the reverse operation to reverse an order of the snapshot chain to convert the incremental snapshot to the new full snapshot)
writing, from a most recent incremental snapshot in the snapshot chain to the incremental snapshot in the snapshot chain, data comprising at least one change to at least one partition of the data block, wherein writing the data to the incremental snapshot is based at least in part on the most recent incremental snapshot being marked for deletion and based at least in part on the incremental snapshot being a next most recent incremental snapshot in the snapshot chain that is not marked for deletion; and (Claim 8, writing, for a first partition from among the partitions of the data block, data associated with the first partition from a first snapshot in the snapshot chain that includes a most recent version of the data in the first partition to a second snapshot, wherein writing to the second snapshot is based at least in part on the second snapshot satisfying a set of conditions, and wherein the set of conditions comprise the second snapshot being a most recent snapshot in the snapshot chain that has an empty data set in the first partition and the second snapshot not being marked for deletion;)
deleting, after writing the data to the incremental snapshot, the most recent incremental snapshot based at least in part on the most recent incremental snapshot being marked for deletion. (Claim 8, and deleting, as part of the reverse operation and after writing the data, one or more snapshots in the snapshot chain based at least in part on the one or more snapshots being marked for deletion)
As per claim 8,
The method of claim 1, further comprising: performing a snapshot chain truncation to remove, from among the plurality of incremental snapshots, one or more incremental snapshots from the snapshot chain prior to performing the reverse operation, wherein the most recent incremental snapshot in the snapshot chain is a most recent snapshot in the snapshot chain after the snapshot chain truncation.
(Claim 2, The method of claim 1, further comprising: performing a snapshot chain truncation to remove, from among the plurality of incremental snapshots, one or more incremental snapshots from the snapshot chain prior to performing the reverse operation, wherein the most recent incremental snapshot in the snapshot chain is a most recent snapshot in the snapshot chain after the snapshot chain truncation.)
As per claim 9,
The method of claim 1, further comprising: consolidating, after performing the reverse operation, expired data in the most recent incremental snapshot that is marked for deletion with second data in a second incremental snapshot that is obtained after the most recent incremental snapshot, wherein consolidating the expired data is based at least in part on the most recent incremental snapshot depending from the new full snapshot in the snapshot chain after the reverse operation, and wherein deleting the most recent incremental snapshot comprises deleting the expired data that remains in the most recent incremental snapshot after consolidating the expired data with the second data in the second incremental snapshot.
(Claim 6, The method of claim 1, further comprising: consolidating, after performing the reverse operation, expired data in the most recent incremental snapshot that is marked for deletion with second data in a second incremental snapshot that is obtained after the most recent incremental snapshot, wherein consolidating the expired data is based at least in part on the most recent incremental snapshot depending from the new full snapshot in the snapshot chain after the reverse operation; and deleting the expired data that remains in the most recent incremental snapshot after consolidating the expired data with the second data in the second incremental snapshot.)
As per claim 10,
The method of claim 9, wherein consolidating the expired data comprises: writing, for a partition of the partitions of the data block, the expired data that is in the partition from the most recent incremental snapshot to the second incremental snapshot based at least in part on the second data in the second incremental snapshot comprising an empty data set in the partition; or skipping writing, for the partition of the partitions of the data block, the expired data that is in the partition from the most recent incremental snapshot to the second incremental snapshot based at least in part on the second data in the second incremental snapshot comprising data in the partition.
(Claim 7, The method of claim 6, wherein consolidating the expired data comprises: writing, for a partition of the partitions of the data block, the expired data that is in the partition from the most recent incremental snapshot to the second incremental snapshot based at least in part on the second data in the second incremental snapshot comprising an empty data set in the partition; or skipping writing, for the partition of the partitions of the data block, the expired data that is in the partition from the most recent incremental snapshot to the second incremental snapshot based at least in part on the second data in the second incremental snapshot comprising data in the partition.)
As per claim 11,
The method of claim 1, further comprising: receiving an indication that one or more snapshots of the snapshot chain are marked for deletion by a user, the one or more snapshots comprising at least the most recent incremental snapshot.
(Claim 9, The method of claim 1, further comprising: receiving an indication that one or more snapshots of the snapshot chain are marked for deletion by a user, the one or more snapshots comprising at least the most recent incremental snapshot.)
As per claim 12, it recites similar claim limitation as claim 1 and thus is rejected for similar reasons. It additionally recites the following:
An apparatus, comprising one or more memories storing processor-executable code; and one or more processors coupled with the one or more memories and individually or collectively operable to execute the code (Claim 11, An apparatus, comprising: one or more memories storing processor-executable code; and one or more processors coupled with the one or more memories and individually or collectively operable to execute the code)
As per claim 19,
The apparatus of claim 12, wherein the one or more processors are individually or collectively operable to: perform a snapshot chain truncation to remove, from among the plurality of incremental snapshots, one or more incremental snapshots from the snapshot chain prior to performing the reverse operation, wherein the most recent incremental snapshot in the snapshot chain is a most recent snapshot in the snapshot chain after the snapshot chain truncation.
(Claim 12, The apparatus of claim 11, wherein the one or more processors are individually or collectively further operable to execute the code to cause the apparatus to: perform a snapshot chain truncation to remove, from among the plurality of incremental snapshots, one or more incremental snapshots from the snapshot chain prior to performing the reverse operation, wherein the most recent incremental snapshot in the snapshot chain is a most recent snapshot in the snapshot chain after the snapshot chain truncation.)
As per claim 20, it recites similar claim limitation as claim 1 and thus is rejected for similar reasons. It additionally recites the following claim limitation:
A non-transitory computer-readable medium storing code, the code comprising instructions executable by one or more processors (Claim 18, A non-transitory computer-readable medium storing code, the code comprising instructions executable by one or more processors)
Claim Rejections - 35 USC § 102
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 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)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(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-7, 11-18, 20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Singh et al (US 20190179918 A1).
1.
A method, comprising:
obtaining a full snapshot of a data block a plurality of incremental snapshots ([0115] a first set of files contains a snapshot chain that includes a set of reverse incrementals, a full image, and a set of forward incrementals) and that comprise changes to partitions of the data block since the full snapshot ([0048] a forward incremental file represents changes that have occurred since an earlier point in time and a reverse incremental file may include a set of data representing changes from a later point in time snapshot of a virtual machine; [0115] these changes are captured and stored in a set of files which may be partitioned or split into two or more snapshot sub-chains), wherein the full snapshot and the plurality of incremental snapshots are stored as a snapshot chain ([0115] the collection of reverse incrementals and forward incrementals and the full image is part of the snapshot chain); and
performing a reverse operation to reverse an order of the snapshot chain and convert an incremental snapshot in the snapshot chain to a new full snapshot, wherein performing the reverse operation comprises ([0131] “a reverse operation may have been performed using the second snapshot sub-chain in order to move the base image for the second snapshot sub-chain closer to the most recent version of the virtual machine comprising version V7.”):
writing, from a most recent incremental snapshot in the snapshot chain to the incremental snapshot in the snapshot chain ([0048] the reverse incremental file may be combined with a later point in time snapshot of the virtual machine), data comprising at least one change to at least one partition of the data block ([0048] incremental files contain changes that have occurred relative to a point of time. [0115] The changes relate to the virtual machine snapshots that are stored in partitions), wherein writing the data to the incremental snapshot is based at least in part on the most recent incremental snapshot being marked for deletion ([0075] rebasing operation or a reverse operation is used to shorten or reduce the chain lengths for the newest or most recent snapshots) and based at least in part on the incremental snapshot being a next most recent incremental snapshot in the snapshot chain that is not marked for deletion; and ([0048] the reverse incremental file can be combined with a later point in time snapshot)
deleting, after writing the data to the incremental snapshot, the most recent incremental snapshot based at least in part on the most recent incremental snapshot being marked for deletion ([0097] snapshots that are marked for deletion are later consolidated, archived, and/or deleted depending on the backup and archiving strategy for the virtual machine).
2.
The method of claim 1, wherein performing the reverse operation further comprises:
writing, from the full snapshot in the snapshot chain to the incremental snapshot, second data comprising at least one second change to at least one second partition of the data block, wherein writing the second data to the incremental snapshot is based at least in part on the full snapshot being a most recent snapshot in the snapshot chain that is not marked for deletion and that does include data for the at least one second partition (at least [0074]; “The data associated with the full image Base in FIG. 2A may be equivalent to the new file R12 patched over R11 and the full image Base2.”)
3.
The method of claim 2, wherein performing the reverse operation further comprises:
refraining from writing the second data to one or more second incremental snapshots in the snapshot chain based at least in part on the one or more second incremental snapshots being marked for deletion, the one or more second incremental snapshots obtained after the full snapshot and prior to the incremental snapshot. (at least [0074] “The rebasing process may generate new files R12, R11, and Base2 associated with versions V5-V7 of Virtual Machine A in order to move a full image closer to a more recent version of Virtual Machine A and to improve the reconstruction time for the more recent versions of Virtual Machine A.” Note: writing the second data to an incremental snapshot marked for deletion will not improve the reconstruction time for the more recent versions of Virtual Machine A, and thus, the prior art refrains from doing so.)
4. The method of claim 1, wherein performing the reverse operation further comprises:
refraining from writing, from a second incremental snapshot in the snapshot chain to the incremental snapshot, second data comprising a second change to a second partition of the data block, the incremental snapshot obtained more recently than the second incremental snapshot, wherein refraining from writing the second data is based at least in part on the incremental snapshot comprising third data in the second partition of the data block and based at least in part on the second incremental snapshot being marked for deletion. (at least [0048] during a reverse operation, the reverse incremental file may be combined with a later point in time snapshot of the virtual machine; furthermore; incremental files contain changes that have occurred relative to a point in time. Note: if the incremental file that was obtained most recently has data that means that it has the most recent data and the prior art would refrain from overwriting it with an outdated data)
5.
The method of claim 4, wherein performing the reverse operation further comprises:
writing, as part of a consolidation operation during the reverse operation, the second data from the second incremental snapshot to a third incremental snapshot based at least in part on the third incremental snapshot being one of the plurality of incremental snapshots in the snapshot chain that is obtained most recently prior to the second incremental snapshot in the snapshot chain, that is not marked for deletion and that does not include data in the second partition of the data block; and (at least [0073] “to generate the full image of version V2 of Virtual Machine A, the base image may be acquired, the data changes associated with reverse incremental R1 may be applied to the base image to generate a first intermediate image, the data changes associated with reverse incremental R2 may be applied to the first intermediate image to generate a second intermediate image, and then the data changes associated with reverse incremental R3 may be applied to the second intermediate image to generate the full image of version V2 of Virtual Machine A.”)
deleting, after writing the second data to the third incremental snapshot, the second incremental snapshot based at least in part on the second incremental snapshot being marked for deletion (at least [0076] rebasing operations are used to reduce the number of incremental files)
6.
The method of claim 4, wherein performing the reverse operation further comprises:
deleting the second incremental snapshot including the second data based at least in part on the second incremental snapshot being marked for deletion (at least [0076] rebasing operations are used to reduce the number of forward incremental files) and based at least in part on all snapshots obtained prior to the second incremental snapshot in the snapshot chain comprising data in the second partition of the data block (at least [0115] the changes relate to the virtual machine snapshots are stored in partitions; at least [0073] changes are applied sequentially.)
7.
The method of claim 1, wherein performing the reverse operation further comprises:
writing, after writing the data to the incremental snapshot, one or more sets of second data, each set of the one or more sets of second data comprising at least one change to a respective partition of the data block, wherein converting the incremental snapshot to the new full snapshot comprises writing respective data for each partition of the data block to the incremental snapshot, and wherein the incremental snapshot is converted to the new full snapshot based at least in part on the new full snapshot comprising a most recent version of the data in all of the partitions of the data block. (at least [0073] showcases how merged files are generated by applying incremental changes from the incremental files to the base image in order to obtain a new base image. Note: since changes are applied sequentially to capture the changes that had been made, after the application of all the incremental files, the final snapshot should have the most recent version of the data)
11.
The method of claim 1, further comprising:
receiving an indication that one or more snapshots of the snapshot chain are marked for deletion by a user, the one or more snapshots comprising at least the most recent incremental snapshot (at least [0030] the deletion is dictated by the data backup and archiving schedule for the virtual machine. Note: the user can set the archiving schedule)
Claim 12 recites similar claim limitation as claim 1. It further recites
An apparatus, comprising: one or more memories storing processor-executable code (Singh, [0043] one or more memories); and one or more processors coupled with the one or more memories and individually or collectively operable to execute the code (Singh, [0043] one or more processors collectively in communication with each other)
Claim 13-18 recite similar claim limitation as claims 2-7. It further recites one or more processors (Singh, [0043] one or more processors collectively in communication with each other)
Claim 20 recites similar claim limitation as claim 1. It further recites
non-transitory computer-readable medium storing code, the code comprising instructions executable by one or more processors (Singh, [0043] one or more types of memories and one or more processors collectively in communication with each other)
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 8-10, 19 are rejected under 35 U.S.C. 103 as being unpatentable over Singh in view of Agarwal et al (US 20190213267 A1).
8.
Singh teaches
The method of claim 1
Singh fails to teach
performing a snapshot chain truncation to remove, from among the plurality of incremental snapshots, one or more incremental snapshots from the snapshot chain prior to performing the reverse operation, wherein the most recent incremental snapshot in the snapshot chain is a most recent snapshot in the snapshot chain after the snapshot chain truncation.
Agarwal teaches
performing a snapshot chain truncation to remove, from among the plurality of incremental snapshots, one or more incremental snapshots from the snapshot chain prior to performing the reverse operation, wherein the most recent incremental snapshot in the snapshot chain is a most recent snapshot in the snapshot chain after the snapshot chain truncation. (Agarwal, [0118] “The third full image snapshot 419 may have been generated in response to detecting that the total number of expired snapshots within the first storage domain that are older than the point in time corresponding with the third full image snapshot 419 is greater than a threshold number of snapshots, that the amount of available disk space for storing files within the first storage domain is below a threshold amount of disk space, and/or that the combined data size of the expired snapshots within the first storage domain is greater than a threshold data size (e.g., more than 1 TB of disk space may be reclaimed by generating the third full image snapshot and deleting expired snapshots older than the third full image snapshot).”)
It is obvious to a person of ordinary skill in the art prior to the effective filing date of the claimed invention to combine the two prior art in order to teach deleting the expired snapshots because, by doing so, it would increase the available disk space and decrease the cost associated with storing the archived data (Agarwal, [0019]).
9.
The method of claim 1, further comprising:
consolidating, after performing the reverse operation, expired data in the most recent incremental snapshot that is marked for deletion with second data in a second incremental snapshot that is obtained after the most recent incremental snapshot,
wherein consolidating the expired data is based at least in part on the most recent incremental snapshot depending from the new full snapshot in the snapshot chain after the reverse operation, and
wherein deleting the most recent incremental snapshot comprises deleting the expired data that remains in the most recent incremental snapshot after consolidating the expired data with the second data in the second incremental snapshot. (Agarwal, [0114] FIG. 4F depicts one embodiment of the first storage domain of FIG. 4E in which two consolidation operations have been performed to generate incremental file 412 (I2′) and incremental file 414 (I5′). The incremental file 412 may be generated by merging the incremental files I1-I2 in FIG. 4E. The incremental file 414 may be generated by merging the incremental files I3-I5 in FIG. 4E. After the incremental files 412 and 414 have been generated to preserve the point in time snapshots corresponding with the incremental files I2 and I5 in FIG. 4E, the original incremental files I1-I5 in FIG. 4E may be deleted from the first storage domain to free-up disk space. In some cases, the incremental file 412 may correspond with a version of a virtual machine that has been pinned or prevented from being deleted (e.g., due to an application requiring that version of the virtual machine).)
10.
The method of claim 9, wherein consolidating the expired data comprises:
writing, for a partition of the partitions of the data block, the expired data that is in the partition from the most recent incremental snapshot to the second incremental snapshot based at least in part on the second data in the second incremental snapshot comprising an empty data set in the partition; or
skipping writing, for the partition of the partitions of the data block, the expired data that is in the partition from the most recent incremental snapshot to the second incremental snapshot based at least in part on the second data in the second incremental snapshot comprising data in the partition. (Agarwal, FIG. 4B; at least [0108] “As depicted, a subset 402 of the first set of files comprising files I2-I4 stored using the first storage domain (Domain A) have been consolidated to form a new incremental file 404 (I4′). The new incremental file 404 may be generated by merging the subset 402 of the first set of files into a single consolidated incremental file comprising data changes made to the virtual machine between time t1 and time t4.”)
Claim 19 recites similar claim limitation as claim 8. It further recites one or more processors (Singh, [0043] one or more types of memories and one or more processors collectively in communication with each other).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US 2012/0117342 A1 teaches deleting and consolidating incremental backups
US 2016/0124978 A1 teaches management of incremental forward and reverse snapshots in a snapshot chain
US 8943281 B1 teaches merging incremental backups into synthetic incremental backups and pruning the incremental backups
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KAYO LISA RUSIN whose telephone number is (703)756-1679. The examiner can normally be reached Monday-Friday 8:30 - 5:00 EST.
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, Ashish Thomas can be reached at 571-272-0631. 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.
/K.L.R./Examiner, Art Unit 2114
/ASHISH THOMAS/Supervisory Patent Examiner, Art Unit 2114