METHOD FOR DATA RETRIEVAL FROM A DISTRIBUTED DATA STORAGE SYSTEM
First Claim
1. A method for requesting data, the method comprising:
- sending a multicast message that requests data to a plurality of storage nodes in a data storage system, wherein the data storage system operates without the use of permanent master storage nodes, and the multicast message includes a data identifier used to uniquely identify the requested data the data storage system;
receiving a plurality of responses to the multicast message, wherein the plurality of responses comprise a first response from a first storage node and a second response from a second storage node, the first response includes a first instance of the requested data, and the second response includes a second instance of the requested data;
analyzing the first and second instances of the requested data to determine whether one or more of the first instance of the requested data or the second instance of the second data have met a desired integrity level;
determining that the first instance of the requested data meets the desired integrity level and that the second instance of the requested data does not meet the desired integrity level; and
selecting the first instance of the requested data based on the first instance of the requested data meeting the desired integrity level, and discarding the second instance of the requested data failing to meet the desired integrity level.
1 Assignment
0 Petitions
Accused Products
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.
263 Citations
15 Claims
-
1. A method for requesting data, the method comprising:
-
sending a multicast message that requests data to a plurality of storage nodes in a data storage system, wherein the data storage system operates without the use of permanent master storage nodes, and the multicast message includes a data identifier used to uniquely identify the requested data the data storage system; receiving a plurality of responses to the multicast message, wherein the plurality of responses comprise a first response from a first storage node and a second response from a second storage node, the first response includes a first instance of the requested data, and the second response includes a second instance of the requested data; analyzing the first and second instances of the requested data to determine whether one or more of the first instance of the requested data or the second instance of the second data have met a desired integrity level; determining that the first instance of the requested data meets the desired integrity level and that the second instance of the requested data does not meet the desired integrity level; and selecting the first instance of the requested data based on the first instance of the requested data meeting the desired integrity level, and discarding the second instance of the requested data failing to meet the desired integrity level. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A server for accessing a data storage system, the server comprising a processor configured, at least in part, to:
-
send a multicast message that requests data to a plurality of storage nodes in the data storage system, wherein the data storage system operates without the use of permanent master storage nodes, and the multicast message includes a data identifier used to uniquely identify the requested data the data storage system; receive a plurality of responses to the multicast message, wherein the plurality of responses comprise a first response from a first storage node and a second response from a second storage node, the first response includes a first instance of the requested data, and the second response includes a second instance of the requested data; analyze the first and second instances of the requested data to determine whether one or more of the first instance of the requested data or the second instance of the second data have met a desired integrity level; determine that the first instance of the requested data meets the desired integrity level and that the second instance of the requested data does not meet the desired integrity level; and select the first instance of the requested data based on the first instance of the requested data meeting the desired integrity level, and discarding the second instance of the requested data failing to meet the desired integrity level. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A storage node of a data storage system, the storage node comprising a processor configured, at least in part, to:
-
send a multicast message that requests data to a plurality of other storage nodes in the data storage system, wherein the data storage system operates without the use of permanent master storage nodes, and the multicast message includes a data identifier used to uniquely identify the requested data the data storage system; receive a plurality of responses to the multicast message, wherein the plurality of responses comprise a first response from a first storage node and a second response from a second storage node, the first response includes a first instance of the requested data, and the second response includes a second instance of the requested data; analyze the first and second instances of the requested data to determine whether one or more of the first instance of the requested data or the second instance of the second data have met a desired integrity level; determine that the first instance of the requested data meets the desired integrity level and that the second instance of the requested data does not meet the desired integrity level; and select the first instance of the requested data based on the first instance of the requested data meeting the desired integrity level, and discarding the second instance of the requested data failing to meet the desired integrity level. - View Dependent Claims (12, 13, 14, 15)
-
Specification