DETAILED ACTION
This communication is in response to the application filed on 3/11/2024 in which claims 1-20 are pending in the application. Claims 1, 12, and 16 are in independent form.
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 .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on March 11, 2024 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Specification
The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification.
The disclosure is objected to because of the following informalities:
In ¶ [0006], “Additionally or alternatively, the at least one processing device” should read “Additionally, or alternatively, the at least one processing device”.
In ¶ [0006], “host device coupled to at least one of the source storage system” should read “host device coupled to at least one of the source storage systems”.
In ¶ [0009], “Additionally or alternatively, the first storage volume in some embodiments” should read “Additionally, or alternatively, the first storage volume in some embodiments”.
In ¶ [0014], “Additionally or alternatively, the obtaining, utilizing, mapping and migrating” should read “Additionally, or alternatively, the obtaining, utilizing, mapping and migrating”.
In ¶ [0032], “a wireless network such as a WiFi” should read “a wireless network such as a Wi-Fi”.
In ¶ [0041], “storage devices include non-volatile random access memory” should read “storage devices include non-volatile random-access memory”.
In ¶ [0061], “Additionally or alternatively, the at least one processing device in some embodiments” should read “Additionally, or alternatively, the at least one processing device in some embodiments”.
In ¶ [0061], “host device coupled to at least one of the source storage system” should read “host device coupled to at least one of the source storage systems”.
In ¶ [0066], “Additionally or alternatively, the first storage volume in some embodiments” should read “Additionally, or alternatively, the first storage volume in some embodiments”.
In ¶ [0071], “Additionally or alternatively, the obtaining, utilizing, mapping and migrating are repeated in some embodiments” should read “Additionally, or alternatively, the obtaining, utilizing, mapping and migrating are repeated in some embodiments”.
In ¶ [0147], “a wireless network such as a WiFi” should read “a wireless network such as a Wi-Fi”.
In ¶ [0146], “The containers may be utilized to implement a variety of different types of functionality within the system 100” should read “The containers may be utilized to implement a variety of different types of functionalities within the system 100”.
Appropriate correction is required.
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:
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.
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.
Claim(s) 1, 2, 3, 12, and 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Edwards (US 20050246382 A1) and further in view of Ganesan (US 20210255883 A1).
As per claim 1, Edwards teaches an apparatus comprising: at least one processing device comprising a processor coupled to a memory; said at least one processing device being configured: [¶ [0038], The storage system is a computer that provides storage service relating to the organization of information on storage devices, such as disks 130 of a disk array 160. The storage system 120 comprises a processor 122, a memory 124, a network adapter 126 and a storage adapter 128 interconnected by a system bus 125]
to obtain index node information for a set of virtual machine data of a particular virtual machine in a source domain comprising a source storage system [¶ [0010], An inode is a data structure used to store information, such as metadata, about a file], [0021], block allocation proceeds in parallel on the vvol and the aggregate when write allocating a block within the vvol, with the write allocator selecting a pvbn in the aggregate and a vvbn in the vvol;
to utilize the index node information to identify locations of respective blocks of the set of virtual machine data among other blocks present in a first storage volume of the source storage system [¶ [0010], The information contained in an inode may include, e.g., ownership of the file, access permission for the file, size of the file, file type and references to locations on disk of the data blocks for the file];
to map the blocks of the set of virtual machine data to a second storage volume of the source storage system based at least in part on their respective locations in the first storage volume [¶ [0021], block allocation proceeds in parallel on the vvol and the aggregate when write allocating a block within the vvol, with the write allocator selecting a pvbn in the aggregate and a vvbn in the vvol. The write allocator adjusts the block allocation bitmap structures, such an active map and space map, of the aggregate to record the selected pvbn and adjusts similar structures of the vvol to record the selected vvbn]; and
Edwards does not teach to migrate the second storage volume comprising the mapped blocks of the set of virtual machine data to a target storage system of a target domain as recited in the claim.
Ganesan teaches to migrate the second storage volume comprising the mapped blocks of the set of virtual machine data to a target storage system of a target domain [¶ [0042], For example, each of the virtual machines 106 is illustratively allocated a set of logical storage volumes each corresponding to a different logical unit (LUN)], [¶ [0006], identifying a source virtual machine to be migrated from a source domain to a target domain, extracting file-in-use metadata and shared asset metadata from virtual machine metadata of the source virtual machine, and copying one or more files identified in the file-in-use metadata to a target virtual machine in the target domain], [¶ [0017] , FIG. 1 is a block diagram of an information processing system configured with functionality for integrity-preserving cold migration of virtual machines between source and target domains in in an illustrative embodiment].
Edwards and Ganesan are in the same endeavor and they are in virtual file system and details of file system snapshots on the file-level. Therefore, both references are combinable/modifiable.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention was made to modify the teachings of Edwards with the teachings of Ganesan in order to use the data structure to figure out where the blocks sit inside a source storage volume and then copies those blocks into a second volume in a clean volume layout.
Motivation will be to provide a reliable system for migration by converting the scattered VMFS-stored blocks into a clean volume layout.
As per claim 2, Ganesan does not teach the apparatus of claim 1 wherein said at least one processing device comprises at least a portion of the source storage system.
Edwards teaches the apparatus of claim 1 wherein said at least one processing device comprises at least a portion of the source storage system [¶ [0038], The storage system is a computer that provides storage service relating to the organization of information on storage devices, such as disks 130 of a disk array 160. The storage system 120 comprises a processor 122, a memory 124, a network adapter 126 and a storage adapter 128 interconnected by a system bus 125], [¶ [0039], the memory 124 comprises storage locations that are addressable by the processor and adapters for storing software program code. A portion of the memory may be further organized as a "buffer cache" 170 for storing data structures associated with the present invention].
As per claim 3, Edwards does not teach the apparatus of claim 1 wherein said at least one processing device comprises at least a portion of a host device coupled to at least one of the source storage system and the target storage system.
Ganesan teaches the apparatus of claim 1 wherein said at least one processing device comprises at least a portion of a host device coupled to at least one of the source storage system and the target storage system [¶ [0025-0026], Such processing devices can illustratively include particular arrangements of compute, storage and network resources. Such resources illustratively comprise one or more host devices and one or more associated storage systems].
As per claim 12, the claim is rejected using the same rationale as noted above for claim 1.
As per claim 16, the claim is rejected using the same rationale as noted above for claim 1.
Claim(s) 4, 5, 6, 13, and 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Edwards (US 20050246382 A1) and Ganesan (US 20210255883 A1) and further in view of Moon (US 20100312983 A1).
As per claim 4, Edwards teaches the apparatus of claim 1 wherein at least portions of the blocks of the set of virtual machine data are arranged in the first storage volume in a non-contiguous manner but in a particular ordering relative to one another, and further [¶ [0005-0006], These data blocks are organized within a volume block number (vbn) space that is maintained by the file system. The file system may also assign each data block in the file a corresponding "file offset" or file block number (fbn). The file system typically assigns sequences of fbns on a per-file basis, whereas vbns are assigned over a larger volume address space. The file system organizes the data blocks within the vbn space as a "logical volume"; each logical volume may be, although is not necessarily, associated with its own file system. The file system typically consists of a contiguous range of vbns from zero to n, for a file system of size n-1 blocks. A known type of file system is a write-anywhere file system that does not overwrite data on disks. If a data block is retrieved (read) from disk into a memory of the storage system and "dirtied" (i.e., updated or modified) with new data, the data block is thereafter stored (written) to a new location on disk to optimize write performance. A write-anywhere file system may initially assume an optimal layout such that the data is substantially contiguously arranged on disks]
Edwards and Ganesan, do not teach wherein all of the blocks of the set of virtual machine data are arranged in the second storage volume in a contiguous manner and are also arranged in the second storage volume in a manner that preserves the particular ordering of the blocks relative to one another from the first storage volume
Moon discloses wherein all of the blocks of the set of virtual machine data are arranged in the second storage volume in a contiguous manner and are also arranged in the second storage volume in a manner that preserves the particular ordering of the blocks relative to one another from the first storage volume [¶ [0035], the modified defragmentation operation prevents the relocation or rewriting of the non-contiguous related data blocks 122 (FIG. 5) on the data storage medium 112 in a contiguous pattern, but modifies the mapping 120 such that the non-contiguous logical block addresses corresponding to the related data blocks 122 are in a contiguous pattern].
Edwards, Ganesan, and Moon are in the same endeavor and they are in management of blocks. Therefore, both references are combinable/modifiable.
It would have been obvious to a person of ordinary skill in the art before the effective filing data of the claim invention was made to modify the teachings of Edwards and Ganesan with the teachings of Moon in order to remap non-contiguous VMDK blocks into a contiguous second volume.
Motivation will be to provide a reliable system for creating a migration-ready layout while preserving order for a clean volume.
As per claim 5, Ganesan and Moon, do not teach the apparatus of claim 1 wherein the set of virtual machine data for the particular virtual machine comprises a virtual machine disk (VMDK) of the particular virtual machine.
Edwards teaches the apparatus of claim 1 wherein the set of virtual machine data for the particular virtual machine comprises a virtual machine disk (VMDK) of the particular virtual machine [¶ [0005], The storage operating system of the storage system may implement a high-level module, such as a file system, to logically organize the information stored on the disks as a hierarchical structure of directories, files and blocks. For example, each "on-disk" file may be implemented as set of data structures, i.e., disk blocks, configured to store information, such as the actual data for the file].
As per claim 6, Ganesan and Moon, do not teach the apparatus of claim 1 wherein the first storage volume is configured in accordance with a virtual machine file system (VMFS) of the source storage system and includes the blocks of the set of virtual machine data interspersed with blocks of one or more other sets of virtual machine data of other virtual machines in the source domain.
Edwards teaches the apparatus of claim 1 wherein the first storage volume is configured in accordance with a virtual machine file system (VMFS) of the source storage system [¶ [0005], The file system organizes the data blocks within the vbn space as a "logical volume"; each logical volume may be, although is not necessarily, associated with its own file system] and includes the blocks of the set of virtual machine data interspersed with blocks of one or more other sets of virtual machine data of other virtual machines in the source domain [¶ [0074], FIG. 9 is a schematic block diagram illustrating a vvol embodied as container file 900. The container file is a file in the aggregate having level 0 (data) blocks that comprise all blocks used to hold data in a vvol; that is, the level 0 data blocks of the container file contain all blocks used by a vvol].
As per claim 13, the claim is rejected using the same rationale as noted above for claim 4.
As per claim 17, the claim is rejected using the same rationale as noted above for claim 4.
Claim(s) 7, 8, 9, 14, 15, 18, and 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Edwards (US 20050246382 A1) and Ganesan (US 20210255883 A1) and further in view of Nehra (US 20230032522 A1).
As per claim 7, Edwards teaches the apparatus of claim 1 wherein migrating the second storage volume comprising the mapped blocks of the set of virtual machine data [¶ [0074], FIG. 9 is a schematic block diagram illustrating a vvol embodied as container file 900. The container file is a file in the aggregate having level 0 (data) blocks that comprise all blocks used to hold data in a vvol; that is, the level 0 data blocks of the container file contain all blocks used by a vvol].
Edwards and Ganesan, do not teach to the target storage system of the target domain comprises configuring a replication process to replicate the second storage volume comprising the mapped blocks of the set of virtual machine data to an additional storage volume of the target storage system of the target domain
Nehra teaches to the target storage system of the target domain comprises configuring a replication process to replicate the second storage volume comprising the mapped blocks of the set of virtual machine data to an additional storage volume of the target storage system of the target domain [¶ [0044], As part of asynchronous replication, an incremental transfer is performed between the first volume and the second volume. In particular, a snapshot of the first volume is created. The snapshot is compared with a prior snapshot that was previously used to perform the last asynchronous transfer (e.g., the baseline transfer or a prior incremental transfer) of data to identify a difference in data of the first volume between the snapshot and the prior snapshot (e.g., changes to the first volume since the last asynchronous transfer). Accordingly, the difference in data is incrementally transferred from the first volume to the second volume. In this way, the second volume will comprise the same data as the first volume as of the point in time when the snapshot was created for performing the incremental transfer].
Edwards, Ganesan, and Nehra are in the same endeavor and they are in network storage systems, details of file system snapshots on the file-level distributed, and using snapshots. Therefore, both references are combinable/modifiable.
It would have been obvious to a person of ordinary skill in the art before the effective filing data of the claim invention was made to modify the teachings of Edwards and Ganesan with the teachings of Nehra in order to migrate the second volume to a target storage system by using asynchronous replication.
Motivation will be to provide a reliable system for live or low-downtime migration and the VM can remain online during transfer.
As per claim 8, Ganesan does not teach the apparatus of claim 7 wherein the replication process comprises a cycle-based asynchronous replication process in which differential data between consecutive snapshots of the second storage volume is replicated to the additional storage volume for each of a plurality of cycles.
Edwards and Nehra disclose the apparatus of claim 7 wherein the replication process comprises a cycle-based asynchronous replication process in which differential data between consecutive snapshots of the second storage volume is replicated to the additional storage volume for each of a plurality of cycles [¶ [0013], The write-anywhere file system supports multiple snapshots that are generally created on a regular schedule. Each snapshot refers to a copy of the file system that diverges from the active file system over time as the active file system is modified], [¶ [0044], As part of asynchronous replication, an incremental transfer is performed between the first volume and the second volume. In particular, a snapshot of the first volume is created. The snapshot is compared with a prior snapshot that was previously used to perform the last asynchronous transfer (e.g., the baseline transfer or a prior incremental transfer) of data to identify a difference in data of the first volume between the snapshot and the prior snapshot (e.g., changes to the first volume since the last asynchronous transfer). Accordingly, the difference in data is incrementally transferred from the first volume to the second volume. In this way, the second volume will comprise the same data as the first volume as of the point in time when the snapshot was created for performing the incremental transfer].
As per claim 9, Edwards teaches the apparatus of claim 1 wherein the blocks of the set of virtual machine data have a first block size in the first storage volume and are mapped on a one-to-one basis to respective corresponding blocks of the same block size in the second storage volume [¶ [0009], Each block in the vbn space and in the dbn space is typically fixed, e.g., 4 k bytes (kB), in size; accordingly, there is typically a one-to-one mapping between the information stored on the disks in the dbn space and the information organized by the file system in the vbn space].
As per claim 14, the claim is rejected using the same rationale as noted above for claim 7.
As per claim 15, the claim is rejected using the same rationale as noted above for claim 8.
As per claim 18, the claim is rejected using the same rationale as noted above for claim 7.
As per claim 19, the claim is rejected using the same rationale as noted above for claim 8.
Claim(s) 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Edwards (US 20050246382 A1) and Ganesan (US 20210255883 A1) and Nehra (US 20230032522 A1) and further in view of Gabriel (US 20150378831 A1).
As per claim 10, Edwards and Nehra teach the apparatus of claim 1 wherein the at least one processing device is further configured: [¶ [0038], the storage system is a computer that provides storage service relating to the organization of information on storage devices, such as disks 130 of a disk array 160. The storage system 120 comprises a processor 122, a memory 124, a network adapter 126 and a storage adapter 128 interconnected by a system bus 125] to detect a condition indicative of a change in a block layout of the blocks of the set of virtual machine data in the first storage volume [¶ [0074], FIG. 9 is a schematic block diagram illustrating a vvol embodied as container file 900. The container file is a file in the aggregate having level 0 (data) blocks that comprise all blocks used to hold data in a vvol; that is, the level 0 data blocks of the container file contain all blocks used by a vvol.], [¶ [0044], as part of asynchronous replication, an incremental transfer is performed between the first volume and the second volume. In particular, a snapshot of the first volume is created. The snapshot is compared with a prior snapshot that was previously used to perform the last asynchronous transfer (e.g., the baseline transfer or a prior incremental transfer) of data to identify a difference in data of the first volume between the snapshot and the prior snapshot (e.g., changes to the first volume since the last asynchronous transfer)]; and
The combination of Edwards and Ganesan discloses the claimed invention as detailed above for claim 1 above. The combination does not specifically teach to repeat at least a portion of the obtaining, utilizing, mapping and migrating responsive to the detected condition.
Gabriel teaches to repeat at least a portion of the obtaining, utilizing, mapping and migrating responsive to the detected condition [¶ [0054], FIG. 6 is a flowchart of a sequence diagram illustrating the interaction between the hypervisor, the source host, destination host, and the storage provider managing storage disks 434 (e.g., virtual volumes 922) during live migration using reverse replication. FIG. 6 illustrates the sequence for a single source VM 406; however, the same may be repeated as necessary until all of the source VMs 406 of the CG are migrated, as illustrated in the flowchart in FIG. 5, described above].
Edwards, Ganesan, Nehra, and Gabriel are in the same endeavor and they are involving virtual machine, distribution of virtual machine instances; migration and load balancing.
It would have been obvious to a person of ordinary skill in the art before the effective filing data of the claim invention was made to modify the teachings of Edwards, Ganesan, and Nehra with the teachings of Gabriel in order to detect layout changes and repeat mapping/migration when the source block layout changes.
Motivation will be to provide a reliable system for improving accuracy, efficiency, and consistency during migration across distinct storage system.
Claim(s) 11 and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Edwards (US 20050246382 A1) and Ganesan (US 20210255883 A1) and further in view of Gabriel (US 20150378831 A1).
As per claim 11, the combination of Edwards and Ganesan discloses the claimed invention as detailed above for claim 1 above. The combination does not specifically teach the apparatus of claim 1 wherein the obtaining, utilizing, mapping and migrating are repeated for each of one or more additional sets of virtual machine data of one or more respective additional virtual machines in the source domain comprising the source storage system, and further wherein instances of the second storage volume corresponding to respective ones of the sets of virtual machine data collectively form at least a portion of a consistency group for migration to the target storage system of the target domain.
Gabriel teaches the apparatus of claim 1 wherein the obtaining, utilizing, mapping and migrating are repeated for each of one or more additional sets of virtual machine data of one or more respective additional virtual machines in the source domain comprising the source storage system, and further [¶ [0054], FIG. 6 is a flowchart of a sequence diagram illustrating the interaction between the hypervisor, the source host, destination host, and the storage provider managing storage disks 434 (e.g., virtual volumes 922) during live migration using reverse replication. FIG. 6 illustrates the sequence for a single source VM 406; however, the same may be repeated as necessary until all of the source VMs 406 of the CG are migrated, as illustrated in the flowchart in FIG. 5, described above] wherein instances of the second storage volume corresponding to respective ones of the sets of virtual machine data collectively form at least a portion of a consistency group for migration to the target storage system of the target domain [¶ [0026], For replication, volumes associated with a VM may be placed in consistency groups (CGs) on storage to ensure that writes to those volumes are kept write order consistent].
Edwards, Ganesan, and Gabriel are in the same endeavor and they are involving virtual machine, distribution of virtual machine instances; migration and load balancing.
It would have been obvious to a person of ordinary skill in the art before the effective filing data of the claim invention was made to modify the teachings of Edwards, Ganesan, and Nehra with the teachings of Gabriel in order collectively form a consistency group for migration from a storage volume.
Motivation will be to provide a reliable system for improving accuracy, efficiency, and consistency during migration across distinct storage system.
As per claim 20, the claim is rejected using the same rationale as noted above for claim 11.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Kumar (US 20230067904 A1) teaches a method for cross-hypervisor live recovery of virtual machines that allows a virtual machine to be recovered and run in a different hypervisor environment.
Zhang (US 9928210 B1) teaches a defragmentation module for deduplicated backup images that migrates fragmented data segments from non-contiguous locations in a deduplicated data store to contiguous containers.
Gopal (US 8671406 B1) teaches on method and system for providing storage services involves organizing and managing data storage.
Pandit (US 20230136363 A1) teaches a method for migrating a storage virtual machine between storage clusters by grouping source volumes into a consistency group.
Li (US 11874765 B2) teaches that buffer pool management is the process of keeping frequently accessed data in main memory to reduce disk I/O and speed up database operations.
When responding to the Office action, applicant is advised to clearly point out the patentable novelty the claims present in view of the state of the art disclosed by the reference(s) cited or the objections made. A showing of how the amendments avoid such references or objections must also be present. See 37 C.F.R. 1.111(c).
When responding to this Office action, applicant is advised to provide the line and page numbers in the application and/or reference(s) cited to assist in locating the appropriate paragraphs.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Tien Tram whose telephone number is (571) 270-3050. The examiner can normally be reached Mon-Fri, 8:00a-4:00p. 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, Pierre M. Vital can be reached at (571)272-4215. 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.
/TIEN THANH TRAM/Examiner, Art Unit 2198
/PIERRE VITAL/Supervisory Patent Examiner, Art Unit 2198