US2017034270A1PendingUtilityA1

Methods and systems for efficiently moving data between nodes in a cluster

37
Assignee: NETAPP INCPriority: Jul 31, 2015Filed: Dec 21, 2015Published: Feb 2, 2017
Est. expiryJul 31, 2035(~9 yrs left)· nominal 20-yr term from priority
H04L 69/18H04L 69/161H04L 67/1097G06F 15/167H04L 43/16H04L 69/16
37
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Exemplary embodiments provide methods, mediums, and systems for efficiently moving data between cluster nodes. Upon receiving a request to read or write data at a first cluster node that is in communication with a client, the first node effects the transfer to or from a second cluster node. The transfer is carried out using a combination of remote data memory access (“RDMA”), or a similar technique that bypasses a part of the network stack, and transport control protocol (“TCP”), or a similar technique that does not bypass a part of the network stack. The data is transferred using RDMA, while certain control messages are sent using TCP. By combining RDMA content transfers and TCP control messages, data transfers can be carried out faster, more efficiently, and with less processing overhead. Other embodiments are described and claimed.

Claims

exact text as granted — not AI-modified
1 . A method comprising:
 receiving, via circuitry, a request from a point of contact node to write data to a remote volume associated with a remote node, wherein the remote node is capable of communicating with the point of contact node using a first protocol that traverses a network stack and a second protocol that bypasses at least a portion of the network stack;   receiving at least a portion of the data to be written via the second protocol that bypasses at least a portion of the network stack;   writing the received data to the remote volume; and   transmitting a response to the point of contact node via the first protocol that traverses the network stack.   
     
     
         2 . The method of  claim 1 , wherein the first protocol is transport control protocol (TCP) and the second protocol is the remote direct memory access (RDMA) protocol. 
     
     
         3 . The method of  claim 1 , further comprising retrieving, from the request, a location of a preallocated buffer on the point of contact node,
 wherein receiving the portion of the requested data comprises reading the portion from the preallocated buffer.   
     
     
         4 . The method of  claim 1 , wherein:
 the data comprises metadata and content,   receiving the request from the point of contact node comprises receiving the metadata via the first protocol,   receiving the portion of the requested data comprises receiving the content via the second protocol, and   writing the received data comprises combining the content with the metadata to reassemble the data.   
     
     
         5 . The method of  claim 1 , further comprising receiving the portion of the requested data via the second protocol when a size of the requested data exceeds a predetermined threshold. 
     
     
         6 . The method of  claim 5 , wherein the predetermined threshold is between about 16 kilobytes and about 32 kilobytes. 
     
     
         7 . The method of  claim 1 , further comprising:
 reverting to data transmission via the first protocol when communication via the second protocol is not possible.   
     
     
         8 . The method of  claim 1 , wherein receiving the request from the point of contact node comprises receiving the request via the first protocol. 
     
     
         9 . A non-transitory computer readable medium storing instructions that, when executed, cause circuitry of a computing device to:
 receive a request from a point of contact node to write data to a remote volume associated with a remote node;   receive at least a portion of the data to be written via a bypassing protocol that bypasses at least a portion of a network stack;   write the received data to the remote volume; and   transmit a response to the point of contact node via a traversing protocol that traverses the network stack.   
     
     
         10 . The medium of  claim 9 , wherein the traversing protocol is transport control protocol (TCP) and the bypassing protocol is the remote direct memory access (RDMA) protocol. 
     
     
         11 . The medium of  claim 9 , further storing instructions to retrieve, from the request, a location of a preallocated buffer on the point of contact node,
 wherein receiving the portion of the requested data comprises reading the portion from the preallocated buffer.   
     
     
         12 . The medium of  claim 9 , wherein:
 the data comprises metadata and content,   receiving the request from the point of contact node comprises receiving the metadata via the traversing protocol   receiving the portion of the requested data comprises receiving the content via the bypassing protocol, and   writing the received data comprises combining the content with the metadata to reassemble the requested data.   
     
     
         13 . The medium of  claim 9 , further storing instructions to receive the portion of the data via the bypassing protocol when a size of the data exceeds a predetermined threshold. 
     
     
         14 . The medium of  claim 9 , further storing instructions to:
 revert to data transmission via the traversing protocol when communication via the bypassing protocol is not possible.   
     
     
         15 . The medium of  claim 9 , wherein receiving the request at the remote node comprises receiving the request via the traversing protocol. 
     
     
         16 . An apparatus, comprising:
 a network interface capable of communicating with a point of contact node using a first protocol that traverses a network stack and a second protocol that bypasses at least a portion of the network stack; and   logic, at least a portion of which is implemented in hardware, the logic comprising:
 a request handler configured to receive a request from the point of contact node to write data to a remote volume associated with the remote node, 
 reception logic configured to receive a portion of the data via the second protocol, 
 writing logic configured to write the received data to the remote volume, and 
   transmission logic configured to transmit a response to the point of contact node via a traversing protocol that traverses the network stack.   
     
     
         17 . The apparatus of  claim 16 , wherein the first protocol is transport control protocol (TCP) and the second protocol is the remote direct memory access (RDMA) protocol. 
     
     
         18 . The apparatus of  claim 16 , the logic configured to read the portion of the data from a preallocated buffer in a memory of the point of contact node, wherein a location of the preallocated buffer is received with the request. 
     
     
         19 . The apparatus of  claim 16 , wherein the data comprises metadata and content, and the reception logic is configured to receive the content via the second protocol, receive the metadata as part of the request, and combine the content with the metadata to reassemble the requested data. 
     
     
         20 . The system of  claim 16 , the logic configured to receive the portion of the requested data via the second protocol when the requested data exceeds a predetermined threshold.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.