IP Library › Granted Patent US 11,789,831
Granted Patent B2
US 11,789,831 · App. 17/957,045 · Granted Oct 17, 2023

Directing operations to synchronously replicated storage systems

Inventors: John Colgrove (Los Altos, CA); Ronald Karr (Palo Alto, CA); Steven Hodgson (Cobham, GB); Daquan Zuo (Mountain View, CA); Roland Dreier (Mountain View, CA); David Grunwald (San Francisco, CA)
Assignee: PURE STORAGE, INC.
G06F11/2076G06F3/061G06F3/0604G06F3/065G06F3/067G06F3/0619G06F3/0632G06F3/0659G06F3/0683G06F9/44505G06F11/0727G06F11/0751G06F11/1464G06F11/1471G06F11/2064G06F11/2082G06F12/0684G06F12/1072G06F16/178G06F16/182G06F16/1844G06F16/27G06F16/275H04L45/12G06F3/06G06F11/2053G06F2003/0697H04L45/38H04L47/125H04L67/1095H04L67/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 11,789,831
App. No.
17/957,045
Granted
Oct 17, 2023
Kind
B2
Abstract

Managing connectivity to synchronously replicated storage systems, including: identifying a plurality of storage systems across which a dataset is synchronously replicated; identifying a host that can issue I/O operations directed to the dataset; identifying a plurality of data communications paths between the host and the plurality of storage systems across which a dataset is synchronously replicated; identifying, from amongst the plurality of data communications paths between the host and the plurality of storage systems across which a dataset is synchronously replicated, one or more optimal paths; and issuing, to the host, an identification of the one or more optimal paths.

Claims (41)

1. A method comprising:

for a dataset operation for a dataset that is synchronously replicated across a plurality of storage systems:

determining that a first response time from a first storage system of the plurality of storage systems is less than a second response time from a second storage system of the plurality of storage systems for receiving the dataset operation; and

based on the determination, indicating, to a host, an identification of one or more data communications paths that include the first storage system.

2. The method of claim 1 , wherein determining that the first response time from the first storage system of the plurality of storage systems is less than the second response time from the second storage system of the plurality of storage systems for receiving the dataset operation comprises determining respective response times for multiple storage systems of the plurality of storage systems.

3. The method of claim 1 , further comprising:

detecting a change in response times for at least one of the plurality of storage systems; and

identifying, in dependence upon the change in response times, data communications paths that include a different storage system of the plurality of storage systems.

4. The method of claim 1 , wherein indicating, to the host, the identification of the one or more data communications paths that include the first storage system is dependent upon a configuration setting.

5. The method of claim 1 , further comprising receiving, from one of the plurality of storage systems, an identification of the one or more data communications paths that include the first storage system.

6. The method of claim 1 , further comprising:

detecting a change in host locality; and

identifying, in dependence upon the change in host locality, data communications paths that include a different storage system of the plurality of storage systems.

7. The method of claim 1 , further comprising:

detecting a change in host configuration; and

identifying, in dependence upon the change in host configuration, data communications paths that include a different storage system of the plurality of storage systems.

8. The method of claim 1 , further comprising receiving, from one of the plurality of storage systems, the identification of the one or more data communications paths between the host and the plurality of storage systems across which the dataset is synchronously replicated.

9. The method of claim 1 , wherein the one or more data communications paths that include the first storage system comprises one or more Active/Optimized paths via Small Computer System Interface (SCSI) Asymmetric Logical Unit Access (‘ALUA’) mechanisms.

10. A storage system, the storage system including a computer processor and a computer memory, the computer memory including computer program instructions that, when executed by the computer processor, cause the storage system to carry out the steps of:

for a dataset operation for a dataset that is synchronously replicated across a plurality of storage systems:

determining that a first response time from a first storage system of the plurality of storage systems is less than a second response time from a second storage system of the plurality of storage systems for receiving the dataset operation; and

based on the determination, indicating, to a host, an identification of one or more data communications paths that include the first storage system.

11. The storage system of claim 10 , wherein determining that the first response time from the first storage system of the plurality of storage systems is less than the second response time from the second storage system of the plurality of storage systems for receiving the dataset operation comprises determining respective response times for multiple storage systems of the plurality of storage systems.

12. The storage system of claim 10 , further comprising computer program instructions that, when executed by the computer processor, cause the storage system to carry out the steps of:

detecting a change in response times for at least one of the plurality of storage systems; and

identifying, in dependence upon the change in response times, data communications paths that include a different storage system of the plurality of storage systems.

13. The storage system of claim 10 , wherein indicating, to the host, the identification of the one or more data communications paths that include the first storage system is dependent upon a configuration setting.

14. The storage system of claim 10 , further comprising computer program instructions that, when executed by the computer processor, cause the storage system to carry out the step of receiving, from one of the plurality of storage systems, an identification of the one or more data communications paths that include the first storage system.

15. The storage system of claim 10 , further comprising computer program instructions that, when executed by the computer processor, cause the storage system to carry out the steps of:

detecting a change in host locality; and

identifying, in dependence upon the change in host locality, data communications paths that include a different storage system of the plurality of storage systems.

16. The storage system of claim 10 , further comprising computer program instructions that, when executed by the computer processor, cause the storage system to carry out the steps of:

detecting a change in host configuration; and

identifying, in dependence upon the change in host configuration, data communications paths that include a different storage system of the plurality of storage systems.

17. The storage system of claim 10 , further comprising computer program instructions that, when executed by the computer processor, cause the storage system to carry out the step of receiving, from one of the plurality of storage systems, the identification of the one or more data communications paths between the host and the plurality of storage systems across which the dataset is synchronously replicated.

18. The storage system of claim 10 , wherein the one or more data communications paths that include the first storage system comprises one or more Active/Optimized paths via Small Computer System Interface (SCSI) Asymmetric Logical Unit Access (‘ALUA’) mechanisms.

19. A computer program product disposed upon a computer readable storage medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

for a dataset operation for a dataset that is synchronously replicated across a plurality of storage systems:

determining that a first response time from a first storage system of the plurality of storage systems is less than a second response time from a second storage system of the plurality of storage systems for receiving the dataset operation; and

based on the determination, indicating, to a host, an identification of one or more data communications paths that include the first storage system.

20. The computer program product of claim 19 , wherein determining that the first response time from the first storage system of the plurality of storage systems is less than the second response time from the second storage system of the plurality of storage systems for receiving the dataset operation comprises determining respective response times for multiple storage systems of the plurality of storage systems.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2022
From: COLGROVE, JOHN; DREIER, ROLAND; GRUNWALD, DAVID; HODGSON, STEVEN; KARR, RONALD; ZUO, DAQUAN
To: PURE STORAGE, INC.
Reel/Frame 061268/0368 →
Continuity (5)
Continuation 16891398 · Jun 3, 2020
Continuation 15683823 · Aug 23, 2017
Provisional Application 62518071 · Jun 12, 2017
Provisional Application 62470172 · Mar 10, 2017
Related Publication 20230036992A1 · Feb 2, 2023
Cited By (2)
US 12,554,510 US 12,572,435