IP Library Granted Patent US 11,301,152
Granted Patent B1
US 11,301,152 · App. 16/840,530 · Granted Apr 12, 2022

Intelligently moving data between storage systems

Inventor: Andrew Sillifant (Nottingham, GB)
Assignee: Pure Storage, Inc.
G06F3/0635G06F3/067G06F3/0613G06F3/0647
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,301,152
App. No.
16/840,530
Granted
Apr 12, 2022
Kind
B1
Abstract

Intelligently moving data between storage systems, including: identifying characteristics associated with a plurality of data communications paths between a source storage system and a plurality of target storage systems; identifying characteristics associated with a plurality of data communications paths between two or more target storage systems; selecting, using the characteristics associated with the plurality of data communications paths between the source storage system and the plurality of target storage systems and the characteristics associated with a plurality of data communications paths between two or more target storage systems, an optimal path between the source storage system and each of the target storage systems; and migrating data stored on the source storage system to each of the target storage systems utilizing the optimal paths.

Claims (36)

1. A method implemented by a computing device, the method comprising:

identifying a first set of performance characteristics associated with a first plurality of data communications paths between a source storage system and a plurality of target storage systems;

identifying a second set of performance characteristics associated with a second plurality of data communications paths between two or more target storage systems of the plurality of target storage systems;

selecting, using the first set of performance characteristics associated with the first plurality of data communications paths between the source storage system and the plurality of target storage systems and the second set of performance characteristics associated with the second plurality of data communications paths between the two or more target storage systems, an optimal path between the source storage system and a particular target storage system, the optimal path having one or more performance characteristics that are superior to performance characteristics of at least one other data communications path of the first plurality of data communications paths and the second plurality of data communications paths; and

migrating data stored on the source storage system to the particular target storage system using the optimal path.

2. The method of claim 1 wherein migrating data stored on the source storage system to the particular target storage system further comprises transmitting data from the source storage system to the particular target storage system and also transmitting data from the source storage system through a second target storage system to the particular target storage system.

3. The method of claim 1 wherein migrating data stored on the source storage system to the particular target storage system further comprises transmitting data from the source storage system through two or more target storage systems to the particular target storage system.

4. The method of claim 1 wherein selecting the optimal path between the source storage system and the particular target storage system further comprises selecting the optimal path using data locality information.

5. The method of claim 1 wherein selecting the optimal path between the source storage system and the particular target storage system further comprises selecting the optimal path using resource utilization information for each of the storage systems.

6. The method of claim 1 wherein selecting the optimal path between the source storage system and the particular target storage system further comprises, for the particular target storage system, selecting the optimal path from amongst a plurality of distinct paths between the source storage system and the particular target storage system.

7. The method of claim 1 wherein:

identifying the first set of performance characteristics associated with the first plurality of data communications paths between the source storage system and the plurality of target storage systems includes identifying a roundtrip messaging latency between the source storage system and each of the plurality of target storage systems; and

identifying the second set of performance characteristics associated with the second plurality of data communications paths between two or more target storage systems includes identifying a roundtrip messaging latency between each of the plurality of target storage systems.

8. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

identifying a first set of performance characteristics associated with a first plurality of data communications paths between a source storage system and a plurality of target storage systems;

identifying a second set of performance characteristics associated with a second plurality of data communications paths between two or more target storage systems of the plurality of target storage systems;

selecting, using the first set of performance characteristics associated with the first plurality of data communications paths between the source storage system and the plurality of target storage systems and the second set of performance characteristics associated with the second plurality of data communications paths between the two or more target storage systems, an optimal path between the source storage system and a particular target storage system, the optimal path having one or more performance characteristics that are superior to performance characteristics of at least one other data communications path of the first plurality of data communications paths and the second plurality of data communications paths; and

migrating data stored on the source storage system to the particular target storage system using the optimal path.

9. The apparatus of claim 8 wherein migrating data stored on the source storage system to the particular target storage system further comprises transmitting data from the source storage system to the particular target storage system and also transmitting data from the source storage system through a second target storage system to the particular target storage system.

10. The apparatus of claim 8 wherein migrating data stored on the source storage system to the particular target storage system further comprises transmitting data from the source storage system through two or more target storage systems to the particular target storage system.

11. The apparatus of claim 8 wherein selecting the optimal path between the source storage system and the particular target storage system further comprises selecting the optimal path using data locality information.

12. The apparatus of claim 8 wherein selecting the optimal path between the source storage system and the particular target storage system further comprises selecting the optimal path using resource utilization information for each of the storage systems.

13. The apparatus of claim 8 wherein selecting the optimal path between the source storage system and the particular target storage system further comprises, for the particular target storage system, selecting the optimal path from amongst a plurality of distinct paths between the source storage system and the particular target storage system.

14. The apparatus of claim 8 wherein:

identifying the first set of performance characteristics associated with the first plurality of data communications paths between the source storage system and the plurality of target storage systems includes identifying a roundtrip messaging latency between the source storage system and each of the plurality of target storage systems; and

identifying the second set of performance characteristics associated with the second plurality of data communications paths between two or more target storage systems includes identifying a roundtrip messaging latency between each of the plurality of target storage systems.

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

identifying a first set of performance characteristics associated with a first plurality of data communications paths between a source storage system and a plurality of target storage systems;

identifying a second set of performance characteristics associated with a second plurality of data communications paths between two or more target storage systems of the plurality of target storage systems;

selecting, using the first set of performance characteristics associated with the first plurality of data communications paths between the source storage system and the plurality of target storage systems and the second set of performance characteristics associated with the second plurality of data communications paths between the two or more target storage systems, an optimal path between the source storage system and a particular target storage system, the optimal path having one or more performance characteristics that are superior to performance characteristics of at least one other data communications path of the first plurality of data communications paths and the second plurality of data communications paths; and

migrating data stored on the source storage system to the particular target storage system using the optimal path.

16. The computer program product of claim 15 wherein migrating data stored on the source storage system to the particular target storage system further comprises transmitting data from the source storage system to the particular target storage system and also transmitting data from the source storage system through a second target storage system to the particular target storage system.

17. The computer program product of claim 15 wherein migrating data stored on the source storage system to the particular target storage system further comprises transmitting data from the source storage system through two or more target storage systems to the particular target storage system.

18. The computer program product of claim 15 wherein selecting the optimal path between the source storage system and the particular target storage system further comprises selecting the optimal path using data locality information.

19. The computer program product of claim 15 wherein selecting the optimal path between the source storage system and the particular target storage system further comprises selecting the optimal path using resource utilization information for each of the storage systems.

20. The computer program product of claim 15 wherein selecting the optimal path between the source storage system and the particular target storage system further comprises, for the particular target storage system, selecting the optimal path from amongst a plurality of distinct paths between the source storage system and the particular target storage system.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2020
From: SILLIFANT, ANDREW
To: PURE STORAGE, INC.
Reel/Frame 052316/0510 →
Cited By (4)
US 12,380,127 US 12,608,304 US 12,681,840 US 12,688,172