IP Library Granted Patent US 10,318,207
Granted Patent B1
US 10,318,207 · App. 15/498,822 · Granted Jun 11, 2019

Apparatus and methods for inter-version replication checking

Inventors: Vasu Subramanian (Chapel Hill, NC); Qi Qu (Shanghai, CN); Zheng He (Shanghai, CN); Yuanyang Wu (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F3/065G06F3/0604G06F3/0634G06F3/0683
View Patent ↗
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 10,318,207
App. No.
15/498,822
Granted
Jun 11, 2019
Kind
B1
Abstract

Systems and methods for managing data replication between data storage resources with differing capabilities. A system can check whether capabilities of a primary data storage system are different from capabilities of a secondary data storage system. Such checking can be performed based on a release version of each of the primary and secondary data storage systems. If the capabilities of the respective data storage systems are determined to be different, then the system can make a determination as to whether or not the difference can be rectified. If the difference can be rectified, such as by enabling/disabling certain features of the primary and/or secondary data storage system, then the system can perform such a rectification and proceed with provisioning of data to be replicated. If the difference cannot be rectified, then the system can prevent the provisioning of the data and notify an administrator of the data storage systems.

Claims (52)

1. A computer-implemented method of managing a replication of data between data storage resources with differing capabilities, the data storage resources including a primary data storage resource disposed at a production site and a secondary data storage resource disposed at a replication site, the method comprising:

detecting a deficiency at the production site;

responsive to the deficiency at the production site, automatically determining whether one or more capabilities of the secondary data storage resource are different from one or more capabilities of the primary data storage resource;

having determined that the one or more capabilities of the secondary data storage resource are different from the one or more capabilities of the primary data storage resource, determining whether one or more differences in the capabilities of the respective primary and secondary data storage resources can be rectified;

in the event the one or more differences in the capabilities of the respective primary and secondary data storage resources can be rectified, performing a rectification of the one or more differences in the capabilities of the respective primary and secondary data storage resources; and

in the event the one or more differences in the capabilities of the respective primary and secondary data storage resources cannot be rectified, preventing a provisioning of data to be replicated on the secondary data storage resource,

wherein the determining of whether the one or more capabilities of the secondary data storage resource are different from the one or more capabilities of the primary data storage resource is performed based at least on a first release version of the primary data storage resource and a second release version of the secondary data storage resource.

2. The method of claim 1 wherein the data to be replicated is a storage object, wherein the storage object has one or more associated attribute metadata, and wherein the determining of whether the one or more capabilities of the secondary data storage resource are different from the one or more capabilities of the primary data storage resource includes accessing the one or more attribute metadata associated with the storage object, and deriving the first release version of the primary data storage resource from the one or more attribute metadata associated with the storage object.

3. The method of claim 2 wherein the deriving of the first release version of the primary data storage resource from the one or more attribute metadata associated with the storage object includes intercepting, at an object level, an input/output (I/O) associated with the storage object originating from a host computer to access the one or more attribute metadata associated with the storage object.

4. The method of claim 2 wherein the determining of whether the one or more capabilities of the secondary data storage resource are different from the one or more capabilities of the primary data storage resource further includes sending a request for the second release version to the secondary data storage resource.

5. The method of claim 4 wherein the sending of the request for the second release version includes initiating the request using a predetermined web application programming interface (API).

6. The method of claim 1 further comprising:

performing active policing of the capabilities of the respective primary and secondary data storage resources to assure that the replication of the data between the primary data storage resource and the secondary data storage resource is not allowed at any time when the capabilities of the respective primary and secondary data storage resources become different from or incompatible with one another.

7. A computer-implemented method of managing a replication of data between data storage resources with differing capabilities, the data storage resources including a primary data storage resource disposed at a production site and a secondary data storage resource disposed at a replication site, the method comprising:

detecting a deficiency at the production site;

responsive to the deficiency at the production site, automatically determining whether one or more capabilities of the secondary data storage resource are different from one or more capabilities of the primary data storage resource;

having determined that the one or more capabilities of the secondary data storage resource are different from the one or more capabilities of the primary data storage resource, determining whether one or more differences in the capabilities of the respective primary and secondary data storage resources can be rectified;

in the event the one or more differences in the capabilities of the respective primary and secondary data storage resources can be rectified, performing a rectification of the one or more differences in the capabilities of the respective primary and secondary data storage resources; and

in the event the one or more differences in the capabilities of the respective primary and secondary data storage resources cannot be rectified, preventing a provisioning of data to be replicated on the secondary data storage resource,

wherein each of the primary data storage resource and the secondary data storage resource includes one or more features, and wherein the performing of the rectification of the one or more differences in the capabilities of the respective primary and secondary data storage resources includes performing one or more of enabling and disabling the one or more features of one or more of the primary data storage resource and the secondary data storage resource.

8. Electronic circuitry, comprising:

a memory; and

control circuitry coupled to the memory, the memory storing instructions that, when carried out by the control circuitry, cause the control circuitry to:

detect a deficiency at a production site;

responsive to the deficiency at the production site, automatically determine whether one or more capabilities of a secondary data storage resource disposed at a replication site are different from one or more capabilities of a primary data storage resource disposed at the production site;

having determined that the one or more capabilities of the secondary data storage resource are different from the one or more capabilities of the primary data storage resource, determine whether one or more differences in the capabilities of the respective primary and secondary data storage resources can be rectified;

in the event the one or more differences in the capabilities of the respective primary and secondary data storage resources can be rectified, perform a rectification of the one or more differences in the capabilities of the respective primary and secondary data storage resources; and

in the event the one or more differences in the capabilities of the respective primary and secondary data storage resources cannot be rectified, prevent a provisioning of data to be replicated on the secondary data storage resource,

wherein the instructions, when carried out by the control circuitry, further cause the control circuitry to determine whether the one or more capabilities of the secondary data storage resource are different from the one or more capabilities of the primary data storage resource based at least on a first release version of the primary data storage resource and a second release version of the secondary data storage resource.

9. The electronic circuitry of claim 8 wherein the data to be replicated is a storage object, wherein the storage object has one or more associated attribute metadata, and wherein the instructions, when carried out by the control circuitry, further cause the control circuitry to access the one or more attribute metadata associated with the storage object, and to derive the first release version of the primary data storage resource from the one or more attribute metadata associated with the storage object.

10. The electronic circuitry of claim 9 wherein the instructions, when carried out by the control circuitry, further cause the control circuitry to intercept, at an object level, an input/output (I/O) associated with the storage object originating from a host computer to obtain the one or more attribute metadata associated with the storage object.

11. The electronic circuitry of claim 9 wherein the instructions, when carried out by the control circuitry, further cause the control circuitry to send a request for the second release version to the secondary data storage resource.

12. The electronic circuitry of claim 8 wherein the instructions, when carried out by the control circuitry, further cause the control circuitry to perform active policing of the capabilities of the respective primary and secondary data storage resources to assure that a replication of data between the primary data storage resource and the secondary data storage resource is not allowed at any time when the capabilities of the respective primary and secondary data storage resources become different from or incompatible with one another.

13. Electronic circuitry, comprising:

a memory; and

control circuitry coupled to the memory, the memory storing instructions that, when carried out by the control circuitry, cause the control circuitry to:

detect a deficiency at a production site;

responsive to the deficiency at the production site, automatically determine whether one or more capabilities of a secondary data storage resource disposed at a replication site are different from one or more capabilities of a primary data storage resource disposed at the production site;

having determined that the one or more capabilities of the secondary data storage resource are different from the one or more capabilities of the primary data storage resource, determine whether one or more differences in the capabilities of the respective primary and secondary data storage resources can be rectified;

in the event the one or more differences in the capabilities of the respective primary and secondary data storage resources can be rectified, perform a rectification of the one or more differences in the capabilities of the respective primary and secondary data storage resources; and

in the event the one or more differences in the capabilities of the respective primary and secondary data storage resources cannot be rectified, prevent a provisioning of data to be replicated on the secondary data storage resource,

wherein each of the primary data storage resource and the secondary data storage resource includes one or more features, and wherein the instructions, when carried out by the control circuitry, further cause the control circuitry to perform one or more of enabling and disabling the one or more features of one or more of the primary data storage resource and the secondary data storage resource, while performing the rectification of the one or more differences in the capabilities of the respective primary and secondary data storage resources.

14. A computer program product having a non-transitory computer readable medium that stores a set of instructions to manage a replication of data between data storage resources with differing capabilities, the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

detecting a deficiency at a production site;

responsive to the deficiency at the production site, automatically determining whether one or more capabilities of a secondary data storage resource disposed at a replication site are different from one or more capabilities of a primary data storage resource disposed at the production site;

having determined that the one or more capabilities of the secondary data storage resource are different from the one or more capabilities of the primary data storage resource, determining whether one or more differences in the capabilities of the respective primary and secondary data storage resources can be rectified;

in the event the one or more differences in the capabilities of the respective primary and secondary data storage resources can be rectified, performing a rectification of the one or more differences in the capabilities of the respective primary and secondary data storage resources; and

in the event the one or more differences in the capabilities of the respective primary and secondary data storage resources cannot be rectified, preventing a provisioning of data to be replicated on the secondary data storage resource,

wherein the set of instructions, when carried out by the computerized circuitry, further cause the computerized circuitry to determine whether the one or more capabilities of the secondary data storage resource are different from the one or more capabilities of the primary data storage resource based at least on a first release version of the primary data storage resource and a second release version of the secondary data storage resource.

15. The computer program product of claim 14 wherein the data to be replicated is a storage object, wherein the storage object has one or more associated attribute metadata, and wherein the set of instructions, when carried out by the computerized circuitry, further cause the computerized circuitry to access the one or more attribute metadata associated with the storage object, and to derive the first release version of the primary data storage resource from the one or more attribute metadata associated with the storage object.

16. The computer program product of claim 15 wherein the set of instructions, when carried out by the computerized circuitry, further cause the computerized circuitry to intercept, at an object level, an input/output (I/O) associated with the storage object originating from a host computer to obtain the one or more attribute metadata associated with the storage object.

17. The computer program product of claim 14 wherein the set of instructions, when carried out by the computerized circuitry, further cause the computerized circuitry to perform active policing of the capabilities of the respective primary and secondary data storage resources to assure that the replication of the data between the primary data storage resource and the secondary data storage resource is not allowed at any time when the capabilities of the respective primary and secondary data storage resources become different from or incompatible with one another.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (042769/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2017
From: SUBRAMANIAN, VASU; QU, QI; HE, ZHENG; WU, YUANYANG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042742/0806 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →