Fetching Query Results Through Cloud Object Stores
US-2024394271-A1 · Nov 28, 2024 · US
US9641616B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9641616-B2 |
| Application number | US-201414328446-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 10, 2014 |
| Priority date | Jul 10, 2014 |
| Publication date | May 2, 2017 |
| Grant date | May 2, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques are disclosed for processing a self-steering storage command via a point-to-point communication protocol. A network adapter in a storage node receives an instance of a current command frame directed to a group of storage nodes and performs a storage operation in response to a storage command associated with the current command frame. The network adapter determines whether all storage nodes have received an instance of the current command frame. If all storage nodes have received an instance of the current command frame, then the network adapter transmits a final completion status frame to a computation node that originated the current command frame. Otherwise, the network adapter generates a next instance of the command frame, and transmits the next instance of the current command frame to an additional storage node in the group of storage nodes.
Opening claim text (preview).
What is claimed is: 1. A method for processing a self-steering storage command via a point-to-point communication protocol, the method implemented in a current storage node that is one of a plurality of storage nodes, comprising: receiving, at the current storage node, a current instance of a current command frame directed to the plurality of storage nodes; performing a storage operation in response to a storage command associated with the current command frame; determining whether all storage nodes in the plurality of storage nodes have received an instance of the current command frame, based on address information in the current command frame; when it is determined that all storage nodes in the plurality of storage nodes have received an instance of the current command frame based on the address information in the current command frame, transmitting a final completion status frame directly to a computation node that originated the current command frame; and when it is determined that all storage nodes in the plurality of storage nodes have not received an instance of the current command frame based on the address information in the current command frame, generating a next instance of the current command frame, and transmitting the next instance of the current command frame directly to another storage node in the plurality of storage nodes. 2. The method of claim 1 , wherein the storage command comprises a copy on write command, and the storage operation comprises storing data of a data payload portion of the current instance of the current command frame at a location within the current storage node. 3. The method of claim 1 , wherein the storage command comprises a read and compare command, and the storage operation comprises: retrieving data from a location within the current storage node; determining whether no other storage node in the plurality of storage nodes has received an instance of the current command frame; when it is determined that no other storage node in the plurality of storage nodes has received an instance of the current command frame, transmitting the data directly to the computation node; and when it is determined that at least one other storage node in the plurality of storage nodes has received an instance of the current command frame, comparing the retrieved data with a data payload portion of the current instance of the current command frame, and upon determining that the retrieved data differs from the data payload portion, transmitting a mis-compare status frame directly to the computation node. 4. The method of claim 1 , wherein the storage command comprises a read, compare, and replace command, and the storage operation comprises: retrieving data from a location within the current storage node; determining whether no other storage node in the plurality of storage nodes has received an instance of the current command frame; when it is determined that no other storage node in the plurality of storage nodes has received an instance of the current command frame, transmitting the data directly to the computation node, and when it is determined that at least one other storage node in the plurality of storage nodes has received an instance of the current command frame, comparing the retrieved data with a data payload portion of the current instance of the current command frame, and upon determining that the retrieved data differs from the data payload portion, transmitting a mis-compare status frame directly to the computation node, and storing the data of the data payload portion at the location within the current storage node. 5. The method of claim 1 , wherein the storage command comprises a read, compare, and delete command, and the storage operation comprises: retrieving data from a location within the current storage node; determining whether no other storage node in the plurality of storage nodes has received an instance of the current command frame; when it is determined that no other storage node in the plurality of storage nodes has received an instance of the current command frame, transmitting the data directly to the computation node; and when it is determined that at least one other storage node in the plurality of storage nodes has received an instance of the current command frame, comparing the retrieved data with a data payload portion of the current instance of the current command frame, and upon determining that the retrieved data differs from the data payload portion, transmitting a mis-compare status frame directly to the computation node, and deleting the data at the location within the current storage node. 6. The method of claim 1 , wherein the storage command comprises a read and copy command, and the storage operation comprises: retrieving data from a location within the current storage node; determining whether no other storage node in the plurality of storage nodes has received an instance of the current command frame; when it is determined that no other storage node in the plurality of storage nodes has received an instance of the current command frame, transmitting the data directly to the computation node; and when it is determined that at least one other storage node in the plurality of storage nodes has received an instance of the current command frame, storing the data of the data payload portion at the location within the current storage node. 7. The method of claim 1 , wherein the storage command comprises a mass delete command, and the storage operation comprises deleting data at a location within the current storage node. 8. The method of claim 1 , further comprising: when it is determined that all storage nodes in the plurality of storage nodes have not received an instance of the current command frame, determining that the current command frame directs all storage nodes in the plurality of storage nodes to report status upon performing the storage operation, and transmitting a node completion status frame directly to the computation node. 9. The method of claim 8 , wherein the current instance of the current command frame comprises a first tag value, the next instance of the current command frame comprises a second tag value, the node completion status frame comprises a third tag value, and wherein the first tag value, the second tag value, and the third tag value are equal. 10. The method of claim 9 , further comprising, upon transmitting the node completion status frame to the computation node, then receiving, at the current storage node, an instance of a next command frame directed to the plurality of storage nodes. 11. The method of claim 9 , wherein the instance of a next command frame comprises a fourth tag value that is different from the first tag value. 12. The method of claim 1 , wherein the point-to-point communication protocol comprises Ethernet protocol. 13. A non-transitory computer-readable storage medium including instructions that, when executed by a processor of a current storage node that is one of a plurality of storage nodes, cause the processor to process a self-steering storage command via a point-to-point communication protocol, by performing the steps of: receiving, at the current storage node, a current instance of a current command frame directed to the plurality of storage nodes; performing a storage operation in response to a storage command associated with the current command frame; determining whether all storage nodes in the plurality of storage nodes have received an instance of the current command frame, based on address information in the current command frame; when it is determined that all storage nodes in the plurality of
Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title
Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] · CPC title
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
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.