IP Library Granted Patent US 10,097,634
Granted Patent B1
US 10,097,634 · App. 15/142,466 · Granted Oct 9, 2018

Storage tier selection for replication and recovery

Inventors: Hrudil Gorantla (Guntur, IN); Subhadeep Ghosh (Kolkata, IN); Sunil Hasbe (Shirur Anantpal, IN); Subash Rajaa (Pune, IN)
Assignee: Veritas Technologies, LLC
H04L67/1095H04L41/5019H04L67/1097
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,097,634
App. No.
15/142,466
Filed
Apr 29, 2016
Granted
Oct 9, 2018
Kind
B1
Art Unit
2443
USPC
709/219
Abstract

Disclosed herein are methods, systems, and processes to select storage tiers for data replication and data recovery. A replication stream is received from a replication appliance that is configured to replicate data to a storage tier of multiple storage tiers. Each storage tier differs from at least one other storage tier in at least one storage characteristic. Portions of the replication stream are identified based on input/output (I/O) characteristics. The portions are stored in one storage tier other than the storage tier based on the I/O characteristics, and a storage cost associated with each storage tier, where the storage cost associated with each storage tier is based on storage characteristics of each storage tier.

Claims (96)

1. A computer-implemented method comprising:

receiving a replication stream at a source replication appliance, wherein

the source replication appliance is configured to replicate data to a storage tier of a plurality of storage tiers, and

each storage tier of the plurality of storage tiers differs from at least one other of the plurality of storage tiers in at least one storage characteristic of a plurality of storage characteristics;

identifying one or more portions of the replication stream based on one or more input/output (I/O) characteristics of the one or more portions of the replication stream; and

transmitting a command to store at least one portion of the one or more portions in one of the plurality of storage tiers other than the storage tier, wherein

the at least one portion of the one or more portions is to be stored in the one of the plurality of storage tiers based, at least in part, on the one or more I/O characteristics of the at least one portion, storage type information, and a storage cost associated with the each storage tier of the plurality of storage tiers,

the storage cost associated with the each storage tier is based on one or more storage characteristics of the plurality of storage characteristics of the each storage tier, and

the storage type information indicates that at least one of the plurality of storage tiers is implemented on a block storage device of one or more block storage device and at least another of the plurality of storage tiers is implemented on an object storage device of one or more object storage devices.

2. The computer-implemented method of claim 1 , wherein

the plurality of storage tiers comprise a plurality of storage types, a plurality of storage systems, or a plurality of storage devices.

3. The computer-implemented method of claim 1 , wherein

the replication stream is received by a target replication appliance, and

the plurality of storage tiers are associated with the target replication appliance.

4. The computer-implemented method of claim 1 , further comprising:

sending reconfiguration instructions to the source replication appliance to replicate data to at least one of the plurality of storage tiers other than the storage tier.

5. The computer-implemented method of claim 1 , further comprising:

storing a first portion of the replication stream to a first storage tier of the plurality of storage tiers other than the storage tier, and

storing a second portion of the replication stream to a second storage tier of the plurality of storage tiers other than the storage tier.

6. The computer-implemented method of claim 1 , wherein

the one or more I/O characteristics associated with the replication stream comprise, at least in part, one or more of an I/O rate, a size of an I/O, or a locality of reference.

7. The computer-implemented method of claim 1 , wherein

the plurality of storage tiers comprise one or more block storage devices and one or more object storage devices.

8. The computer-implemented method of claim 1 wherein,

a Service Level Agreement (SLA) associated with the replication stream,

the SLA comprises a plurality of constraints, and

the plurality of constraints comprise at least in part, a Recovery Point Objective (RPO) and a Recovery Time Objective (RTO) associated with the replication stream.

9. The computer-implemented method of claim 8 , further comprising:

determining whether the RPO and the RTO require storing of the at least one portion of the one or more portions in a first one of the plurality of storage tiers other than the storage tier even if the storage cost associated with the first one of the plurality of storage tiers is higher than the storage cost of the storage tier.

10. The computer-implemented method of claim 1 , further comprising:

determining whether a virtual machine of a plurality of virtual machines can be supported by the each storage tier of the plurality of storage tiers, wherein

the determining is based on a number of disks that can be coupled to a cloud gateway, a maximum data size on a Local Area Network (LAN), and an I/O rate of each virtual machine of the plurality of virtual machines; and

calculating a storage cost of replicating another replication stream received from the virtual machine based on an average I/O rate of the plurality of virtual machines.

11. A non-transitory computer-readable storage medium storing program instructions executable to:

receive a replication stream at a source replication appliance, wherein

the source replication appliance is configured to replicate data to a storage tier of a plurality of storage tiers, and

each storage tier of the plurality of storage tiers differs from at least one other of the plurality of storage tiers in at least one storage characteristic of a plurality of storage characteristics;

identify one or more portions of the replication stream based on one or more input/output (I/O) characteristics of the one or more portions of the replication stream; and

transmit a command to store at least one portion of the one or more portions in one of the plurality of storage tiers other than the storage tier, wherein

the at least one portion of the one or more portions is to be stored in the one of the plurality of storage tiers based, at least in part, on the one or more I/O characteristics of the at least one portion, storage type information, and a storage cost associated with the each storage tier of the plurality of storage tiers,

the storage cost associated with the each storage tier is based on one or more storage characteristics of the plurality of storage characteristics of the each storage tier, and

the storage type information indicates that at least one of the plurality of storage tiers is implemented on a block storage device of one or more block storage device and at least another of the plurality of storage tiers is implemented on an object storage device of one or more object storage devices.

12. The non-transitory computer-readable storage medium of claim 11 , wherein

the plurality of storage tiers comprise a plurality of storage types, a plurality of storage systems, or a plurality of storage devices,

the replication stream is received by a target replication appliance, and

the plurality of storage tiers are associated with the target replication appliance.

13. The non-transitory computer-readable storage medium of claim 11 , further comprising:

sending reconfiguration instructions to the source replication appliance to replicate data to at least one of the plurality of storage tiers other than the storage tier;

storing a first portion of the replication stream to a first storage tier of the plurality of storage tiers other than the storage tier; and

storing a second portion of the replication stream to a second storage tier of the plurality of storage tiers other than the storage tier.

14. The non-transitory computer-readable storage medium of claim 11 , wherein

the one or more I/O characteristics associated with the replication stream comprise, at least in part,

one or more of an I/O rate,

a size of an I/O, or

a locality of reference, and

the plurality of storage tiers comprise one or more block storage devices and one or more object storage devices.

15. The non-transitory computer-readable storage medium of claim 11 , wherein

a Service Level Agreement (SLA) associated with the replication stream,

the SLA comprises a plurality of constraints, and

the plurality of constraints comprise at least in part,

a Recovery Point Objective (RPO) and a Recovery Time Objective (RTO) associated with the replication stream.

16. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to:

receive a replication stream at a source replication appliance, wherein

the source replication appliance is configured to replicate data to a storage tier of a plurality of storage tiers, and

each storage tier of the plurality of storage tiers differs from at least one other of the plurality of storage tiers in at least one storage characteristic of a plurality of storage characteristics;

identify one or more portions of the replication stream based on one or more input/output (I/O) characteristics of the one or more portions of the replication stream; and

transmit a command to store at least one portion of the one or more portions in one of the plurality of storage tiers other than the storage tier, wherein

the at least one portion of the one or more portions is to be stored in the one of the plurality of storage tiers based, at least in part, on the one or more I/O characteristics of the at least one portion, storage type information, and a storage cost associated with the each storage tier of the plurality of storage tiers,

the storage cost associated with the each storage tier is based on one or more storage characteristics of the plurality of storage characteristics of the each storage tier, and

the storage type information indicates that at least one of the plurality of storage tiers is implemented on a block storage device of one or more block storage device and at least another of the plurality of storage tiers is implemented on an object storage device of one or more object storage devices.

17. The system of claim 16 , wherein

the plurality of storage tiers comprise

a plurality of storage types,

a plurality of storage systems, or

a plurality of storage devices,

the replication stream is received by a target replication appliance, and

the plurality of storage tiers are associated with the target replication appliance.

18. The system of claim 16 , further comprising:

sending reconfiguration instructions to the source replication appliance to replicate data to at least one of the plurality of storage tiers other than the storage tier;

storing a first portion of the replication stream to a first storage tier of the plurality of storage tiers other than the storage tier; and

storing a second portion of the replication stream to a second storage tier of the plurality of storage tiers other than the storage tier.

19. The system of claim 16 , wherein

the one or more I/O characteristics associated with the replication stream comprise, at least in part,

one or more of an I/O rate,

a size of an I/O, or

a locality of reference, and

the plurality of storage tiers comprise one or more block storage devices and one or more object storage devices.

20. The system of claim 16 , wherein

a Service Level Agreement (SLA) associated with the replication stream,

the SLA comprises a plurality of constraints, and

the plurality of constraints comprise at least in part,

a Recovery Point Objective (RPO) and a Recovery Time Objective (RTO) associated with the replication stream.

21. The computer-implemented method of claim 1 , wherein

the command is configured to facilitate a storage tier applier of a target replication appliance to effectuate storage of the at least one portion of the one or more portions in the one of the plurality of storage tiers.

Assignments (10)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069632/0613 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2018
From: GORANTLA, HRUDIL; GHOSH, SUBHADEEP; HASBE, SUNIL; RAJAA, SUBASH
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 045983/0858 →
PATENT SECURITY AGREEMENT Recorded Nov 23, 2016
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040679/0466 →
Cited By (1)
US 12,321,626