IP Library Granted Patent US 10,909,110
Granted Patent B1
US 10,909,110 · App. 16/723,801 · Granted Feb 2, 2021

Data retrieval from a distributed data storage system

Inventors: Stefan Bernbo (Karlskrona, SE); Christian Melander (Rodeby, SE); Roger Persson (Karlskrona, SE); Gustav Petersson (Karlskrona, SE)
Assignee: Pure Storage, Inc.
G06F16/24G06F16/1834G06F16/2365H04L67/10
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,909,110
App. No.
16/723,801
Granted
Feb 2, 2021
Kind
B1
Abstract

There is provided a method and server for retrieving data from a data storage system including a plurality of storage nodes. The method may include sending a multicast message to at least a subset of the storage nodes. The multicast message may include a request for the subset of storage nodes to send the data. The multicast message may further include a data identifier indicating the data to be retrieved. Moreover, the method may include receiving data from a first storage node of the subset of storage nodes. The data received from the first storage node may correspond to the requested data. At least the act of sending a multicast message or the act of receiving data from the first storage node may be performed on a condition that an estimated size of the data is less than a predetermined value.

Claims (24)

1. A method for retrieving data from a data storage system, the data storage system including a plurality of storage nodes, the method comprising:

sending a multicast message to the plurality of storage nodes requesting data on condition that an estimated size of the data is less than a predetermined value, the multicast message including a data identifier that identifies the requested data; and

receiving, in response to the multicast message, a reference to the requested data or the requested data from a first storage node of the plurality of storage nodes, wherein the requested data is received on condition that a size of the requested data is less than or equal to a predetermined value and the reference to the requested data is received on condition that the size of the requested data exceeds the predetermined value.

2. The method according to claim 1 , wherein the estimated size of the data is established according to previous data retrievals.

3. The method according to claim 1 , wherein the estimated size of the data is established according to a typical size of data retrievals.

4. The method according to claim 1 , wherein the estimated size of the data is established according to a method of weighing various factors that include data size, location, and file type from previous data retrievals.

5. The method according to claim 1 , wherein the sending of the multicast message is performed on the condition that the estimated size of the data is less than the predetermined value.

6. The method according to claim 1 , wherein when the reference to the requested data is received on condition that the size of the requested data exceeds the predetermined value, reference data indicating information about an actual size of the requested data is also received from the first storage node.

7. The method according to claim 1 , wherein when the reference to the requested data is received on condition that the size of the requested data exceeds the predetermined value, reference data indicating information about an unsuccessful sending of the requested data is also received from the first storage node.

8. The method according to claim 1 , wherein when the reference to the requested data is received on condition that the size of the requested data exceeds the predetermined value, the method further comprises:

retrieving the requested data from the first storage node by means of a unicast communication.

9. The method according to claim 8 , wherein fewer communications are involved to retrieve the requested data when the requested data is received in response to the multicast message on condition that the size of the requested data is less than or equal to the predetermined value as compared to when the reference to the requested data is received on condition that the size of the requested data exceeds the predetermined value.

10. The method according to claim 1 , wherein when the requested data is received in response to the multicast message on condition that the size of the requested data is less than or equal to the predetermined value, the method further comprises:

analyzing the data received from the first storage node to determine if the data fulfills a set of criteria; and

repeating the sending of the multicast message to the plurality of storage nodes based on the analysis.

11. A server for retrieving data from a data storage system, the data storage system including a plurality of storage nodes, the server comprising:

a transmitter configured to send a multicast message to the plurality of storage nodes requesting data on condition that an estimated size of the data is less than a predetermined value, the multicast message including a data identifier that identifies the requested data; and

a receiver configured to receive, in response to the multicast message, a reference to the requested data or the requested data from a first storage node of the plurality of storage nodes and to receive, in response to the multicast message, a reference to the requested data or the requested data from a second storage node of the plurality of storage nodes and, wherein the requested data is received on condition that a size of the requested data is less than or equal to a predetermined value and the reference to the requested data is received on condition that the size of the requested data exceeds the predetermined value.

12. The server according to claim 11 , wherein the estimated size of the data is established according to a typical size of previous data retrievals.

13. The server according to claim 11 , wherein the estimated size of the data is established according to a method of weighing various factors that include data size, location, and file type from previous data retrievals.

14. The server according to claim 11 , wherein the transmitter is configured to send the multicast message on the condition that the estimated size of the data is less than the predetermined value.

15. The server according to claim 11 , further comprising:

a processor configured to analyze the data received from the first storage node to determine if the data fulfills a set of criteria and analyze the data received from the second storage node to determine if the data received from the second storage node fulfills the set of criteria;

wherein the transmitter is configured to repeat the sending of the multicast message to the plurality of storage nodes based on the analyses.

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 Dec 20, 2019
From: BERNBO, STEFAN; MELANDER, CHRISTIAN; PERSSON, ROGER; PETERSSON, GUSTAV
To: PURE STORAGE, INC., A DELAWARE CORPORATION
Reel/Frame 051349/0490 →