IP Library Patent Application 17377104
Patent Application
App. No. 17/377,104

VOLUME-LEVEL REPLICATION OF DATA BASED ON USING SNAPSHOTS AND A VOLUME-REPLICATING SERVER

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
17/377,104
Abstract

Illustrative systems and methods use a special-purpose volume-replicating server(s) to offload client computing devices operating in a production environment. The production environment may remain relatively undisturbed while production data is replicated to a geographically distinct destination. Replication is based in part on hardware-based snapshots generated by a storage array that houses production data. The illustrative volume-replicating server efficiently moves data from snapshots on a source storage array to a destination storage array by transferring only changed blocks for each successive snapshot, i.e., transferring incremental block-level changes. Periodic restore jobs may be executed by destination clients to keep current with their corresponding source production clients. Accordingly, after the source data center goes offline, production data may be speedily restored at the destination data center after experiencing only minimal downtime of production resources. By employing block-level techniques, the disclosed solutions avoid the file-based data management approaches of the prior art.

Claims (52)

1 . A method comprising:

by a storage manager that controls storage operations in an information management, wherein the storage manager comprises one or more hardware processors:

based on metadata in a management database associated with the storage manager, causing a source volume in a first block storage array to be replicated to a destination volume in a second block storage array by way of a volume-replicating server interposed between and in communication with the first block storage array and the second block storage array,

wherein the source volume comprises primary data generated by a first client computing device,

wherein a first client computing device monitors write operations to the source volume,

wherein the storage manager is distinct from the volume-replicating server, and

wherein the metadata pairs the first client computing device and a second client computing device as being operationally correspondent with each other;

wherein replicating the source volume to the destination volume by way of the volume-replicating server comprises:

by the first block storage array, generating and storing a first snapshot of all of the source volume,

by the first block storage array, after the first snapshot, generating and storing a second snapshot of all of the source volume,

after the second snapshot, transmitting by the first client computing device, to the volume-replicating server, a mapping of blocks that changed between the first snapshot and the second snapshot,

extracting, by the volume-replicating server from the second snapshot at the first block storage array, only the blocks that changed according to the mapping, and

by the volume-replicating server, substituting the extracted blocks that changed into the destination volume at the second block storage array; and

causing a second application at the second client computing device to access the destination volume at the second block storage array as primary data for the second application.

2 . The method of claim 1 , wherein being operationally correspondent includes being configured with matching operating systems.

3 . The method of claim 1 , wherein the first client computing device and the second client computing device are operationally correspondent with the volume-replicating server.

4 . The method of claim 3 , wherein being operationally correspondent includes being configured with matching operating systems.

5 . The method of claim 1 , wherein the source volume and the destination volume are of a same size.

6 . The method of claim 1 , wherein the metadata identifies the source volume and the destination volume as a pair.

7 . The method of claim 6 , wherein the metadata additionally associates the pair with a volume replication job that performs the replicating of the source volume to the destination volume by way of the volume-replicating server.

8 . The method of claim 1 , wherein the generating and storing of the first and second snapshots by the first block storage array is performed in response to instructions received from the first client computing device.

9 . The method of claim 1 , wherein the generating and storing of the first and second snapshots by the first block storage array is performed in response to instructions received from the volume-replicating server.

10 . The method of claim 1 , wherein the generating and storing of the first and second snapshots by the first block storage array is performed in response to instructions received from the storage manager.

11 . The method of claim 1 , wherein the source volume is mounted on the first client computing device as a logical unit number (LUN); and

wherein the destination volume is mounted on the second client computing device as a logical unit number (LUN).

12 . The method of claim 1 further comprising: by the volume-replicating server:

instructing the first client computing device to generate the mapping of the blocks that changed between the first snapshot and the second snapshot, and

instructing the first client computing device to transmit the mapping to the volume-replicating server.

13 . The method of claim 1 further comprising: by the storage manager:

instructing the first client computing device to generate the mapping of the blocks that changed between the first snapshot and the second snapshot, and

instructing the first client computing device to transmit the mapping to the volume-replicating server.

14 . The method of claim 1 further comprising: by the storage manager, coordinating a timing of taking the first snapshot, taking the second snapshot, and generating the mapping of the blocks that changed.

15 . An information management system comprising:

a storage manager that comprises one or more hardware processors;

a management database that is associated with the storage manager;

wherein the storage manager is configured to:

based on metadata in the management database, initiate a replication of a source volume in a first block storage array to be replicated to a destination volume in a second block storage array by way of a volume-replicating server, which is interposed between and in communication with the first block storage array and the second block storage array,

wherein the source volume comprises primary data generated by a first client computing device,

wherein a first client computing device monitors write operations to the source volume,

wherein the storage manager is distinct from the volume-replicating server,

wherein the metadata pairs the first client computing device and a second client computing device as being operationally correspondent with each other,

cause the first block storage array to generate and store a first snapshot of all of the source volume,

cause the first block storage array, after the first snapshot, to generate and store a second snapshot of all of the source volume,

cause the first client computing device to transmit to the volume-replicating server, after the second snapshot, a mapping of blocks that changed between the first snapshot and the second snapshot,

cause the volume-replicating server to extract from the second snapshot at the first block storage array, only the blocks that changed according to the mapping,

cause the volume-replicating server to substitute the extracted blocks that changed into the destination volume at the second block storage array, and

cause a second application at the second client computing device to access the destination volume at the second block storage array as primary data for the second application.

16 . The system of claim 15 , wherein being operationally correspondent includes being configured with matching operating systems.

17 . The system of claim 15 , wherein the first client computing device and the second client computing device are operationally correspondent with the volume-replicating server.

18 . The system of claim 17 , wherein being operationally correspondent includes being configured with matching operating systems.

19 . The system of claim 15 , wherein the source volume and the destination volume are of a same size.

20 . The system of claim 15 , wherein the storage manager is further configured to coordinate a timing of taking the first snapshot, taking the second snapshot, and generating the mapping of the blocks that changed.

Assignments (2)
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2021
From: KUMARASAMY, PARAMASIVAM; CHEDALAVADA, DURGA PRASAD
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 057065/0711 →