Method, device, and computer program product for data storage

US11882181B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11882181-B2
Application numberUS-202217673459-A
CountryUS
Kind codeB2
Filing dateFeb 16, 2022
Priority dateJan 21, 2022
Publication dateJan 23, 2024
Grant dateJan 23, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments of the present disclosure relate to a method, an electronic device, and a computer program product for data storage. The method includes determining, based on attribute information of each of a set of nodes in a distributed storage system, a hash value of each of the set of nodes; determining a node identifier of each of the set of nodes based on geographic location information of each of the set of nodes and the hash value, with the node identifier being used to indicate a logical location of a node in the distributed storage system; and determining, in response to a processing request from a first node in the set of nodes for first data, a target node in the set of nodes based on the node identifier of each of the set of nodes. The target node is used to process the processing request for the first data.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for data storage, comprising: determining, based on attribute information of each of a set of nodes in a distributed storage system, a hash value of each of the set of nodes; determining a node identifier of each of the set of nodes based on geographic location information of each of the set of nodes and the hash value, the node identifier being used to indicate a logical location of a node in the distributed storage system; and determining, in response to a processing request from a first node in the set of nodes for first data, a target node in the set of nodes based on the node identifier of each of the set of nodes, the target node being used to process the processing request for the first data; wherein the node identifiers of respective ones of the nodes are each determined at least in part as a function of the hash value of that node and the geographic location information of that node; wherein the node identifiers collectively establish a hash topology for the respective nodes in which particular nodes that are geographically close to one another within a given region have respective node identifiers that are logically close to one another in the hash topology; and wherein determining the target node comprises performing at least one XOR operation to determine a logical distance between node identifiers of respective ones of the nodes. 2. The method according to claim 1 , wherein determining the node identifier of each of the set of nodes comprises: determining a location prefix of each of the set of nodes based on the geographic location information of each of the set of nodes, the location prefix having a predetermined number of bits; and adding the location prefix of each of the set of nodes as a prefix to the hash value of each of the set of nodes to obtain the node identifier of each of the set of nodes. 3. The method according to claim 2 , wherein determining a location prefix of each of the set of nodes comprises: determining a location prefix of a first node in the set of nodes that is located in a first geographic region as a first prefix; and determining a location prefix of a second node in the set of nodes that is located in a second geographic region different from the first geographic region as a second prefix different from the first prefix. 4. The method according to claim 1 , wherein the processing request for the first data comprises a read request from the first node for the first data. 5. The method according to claim 1 , wherein determining a target node in the set of nodes comprises: determining, based on the node identifier of each of the set of nodes, at least one node that is no more than a threshold distance from a logical location of the first node as a set of candidate nodes; searching for, from the set of candidate nodes, the target node that stores the first data; and providing, by the target node, the first data to the first node. 6. The method according to claim 5 , wherein determining the set of candidate nodes comprises: performing an XOR operation on a second node identifier of a second node in the set of nodes and a first node identifier of the first node to determine a logical distance between the first node and the second node; and adding the second node to the set of candidate nodes if the logical distance does not exceed the threshold distance. 7. The method according to claim 1 , wherein the processing request for the first data comprises a request, by the first node, for storage of metadata for the first data generated at the first node. 8. The method according to claim 7 , wherein determining a target node in the set of nodes comprises: determining a data identifier of the metadata based on a first node identifier of the first node and a hash value of the first data; and determining the target node in the set of nodes based on a comparison of the node identifier of each of the set of nodes with the data identifier, the target node being used to store the metadata. 9. An electronic device, comprising: at least one processor; and at least one memory storing computer program instructions, wherein the computer program instructions, when executed by the at least one processor, cause the electronic device to perform actions comprising: determining, based on attribute information of each of a set of nodes in a distributed storage system, a hash value of each of the set of nodes; determining a node identifier of each of the set of nodes based on geographic location information of each of the set of nodes and the hash value, the node identifier being used to indicate a logical location of a node in the distributed storage system; and determining, in response to a processing request from a first node in the set of nodes for first data, a target node in the set of nodes based on the node identifier of each of the set of nodes, the target node being used to process the processing request for the first data; wherein the node identifiers of respective ones of the nodes are each determined at least in part as a function of the hash value of that node and the geographic location information of that node; wherein the node identifiers collectively establish a hash topology for the respective nodes in which particular nodes that are geographically close to one another within a given region have respective node identifiers that are logically close to one another in the hash topology; and wherein determining the target node comprises performing at least one XOR operation to determine a logical distance between node identifiers of respective ones of the nodes. 10. The electronic device according to claim 9 , wherein determining the node identifier of each of the set of nodes comprises: determining a location prefix of each of the set of nodes based on the geographic location information of each of the set of nodes, the location prefix having a predetermined number of bits; and adding the location prefix of each of the set of nodes as a prefix to the hash value of each of the set of nodes to obtain the node identifier of each of the set of nodes. 11. The electronic device according to claim 10 , wherein determining a location prefix of each of the set of nodes comprises: determining a location prefix of a first node in the set of nodes that is located in a first geographic region as a first prefix; and determining a location prefix of a second node in the set of nodes that is located in a second geographic region different from the first geographic region as a second prefix different from the first prefix. 12. The electronic device according to claim 9 , wherein the processing request for the first data comprises a read request from the first node for the first data. 13. The electronic device according to claim 9 , wherein determining a target node in the set of nodes comprises: determining, based on the node identifier of each of the set of nodes, at least one node that is no more than a threshold distance from a logical location of the first node as a set of candidate nodes; searching for, from the set of candidate nodes, the target node that stores the first data; and providing, by the target node, the first data to the first node. 14. The electronic device according to claim 13 , wherein determining the set of candidate nodes comprises: performing an XOR operation on a second node identifier of a second node in the set of nodes and a first node identifier of the first node to determine a logical distance between the first node and the second node; and adding the second node to the set of candidate nodes if the logical distance doe

Assignees

Inventors

Classifications

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • specially adapted for the location of the user terminal · CPC title

  • Hash tables · CPC title

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Geographical information databases · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11882181B2 cover?
Embodiments of the present disclosure relate to a method, an electronic device, and a computer program product for data storage. The method includes determining, based on attribute information of each of a set of nodes in a distributed storage system, a hash value of each of the set of nodes; determining a node identifier of each of the set of nodes based on geographic location information of e…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 23 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).