IP Library Granted Patent US 11,606,429
Granted Patent B2
US 11,606,429 · App. 17/070,073 · Granted Mar 14, 2023

Direct response to IO request in storage system having an intermediary target apparatus

Inventors: Dan Aharoni (Brookline, MA); Itay Keller (Tel Aviv, IL)
Assignee: EMC IP Holding Company LLC
H04L67/1097G06F3/061G06F3/067G06F3/0659G06F13/20G06F2213/16G06F2213/3808
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 11,606,429
App. No.
17/070,073
Granted
Mar 14, 2023
Kind
B2
Abstract

An apparatus comprises at least one processing device comprising a processor coupled to memory. The at least one processing device is configured to obtain an input-output request issued by an application executing on a compute node via at least one network and to identify a storage node as corresponding to the obtained input-output request based at least in part on the obtained input-output request. The at least one processing device is configured to associate information corresponding to the compute node with the input-output request and to submit the input-output request and the associated information that corresponds to the compute node to the storage node via the at least one network. The storage node is configured to submit a response to the input-output request to the compute node via the at least one network based at least in part on the information.

Claims (68)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to memory, the at least one processing device being configured:

to obtain an input-output request issued by an application executing on a compute node via at least one network;

to identify a storage node as corresponding to the obtained input-output request based at least in part on the obtained input-output request;

to retrieve information including an indication of a separate portion of the compute node than a portion of the compute node from which the input-output request is obtained;

to associate the information with the input-output request; and

to submit the input-output request and the associated information to a target node for delivery by the target node to the storage node via the at least one network, wherein the storage node is configured to submit a response to the input-output request to the compute node via the at least one network using the separate portion of the compute node instead of the portion of the compute node from which the input-output request is obtained, based at least in part on the information, wherein the response submitted by the storage node to the compute node bypasses the target node;

wherein the information is provided separately from the input-output request; and

wherein the compute node is configured to receive the response to the input-output request on the separate portion of the compute node.

2. The apparatus of claim 1 wherein

the storage node being configured to submit the response to the input-output request to the compute node via the at least one network based at least in part on the information comprises the storage node being configured to submit the response to the input-output request to the compute node using the portion of the compute node as if the storage node was the target node based at least in part on the information.

3. The apparatus of claim 1 wherein associating the information with the input-output request comprises appending the information to the input-output request.

4. The apparatus of claim 1 wherein:

associating the information with the input-output request comprises generating a message comprising the input-output request and the associated information; and

submitting the input-output request and the associated information to the storage node comprises submitting the generated message to the storage node.

5. The apparatus of claim 1 wherein:

the at least one network comprises a first communication pathway between the compute node and the apparatus;

the at least one network comprises a second communication pathway between the apparatus and the storage node;

the at least one network comprises a third communication pathway between the storage node and the compute node;

the compute node is configured to submit the input-output request to the apparatus via the first communication pathway;

the at least one processing device is configured to submit the input-output request to the storage node via the second communication pathway; and

the storage node is configured to submit the response to the compute node via the third communication pathway.

6. The apparatus of claim 5 wherein the at least one processing device is further configured to obtain a notification from the storage node that comprises an indication that the response has been submitted to the compute node via the third communication pathway.

7. A method comprising:

obtaining an input-output request issued by an application executing on a compute node via at least one network;

identifying a storage node as corresponding to the obtained input-output request based at least in part on the obtained input-output request;

retrieving information including an indication of a separate portion of the compute node than a portion of the compute node from which the input-output request is obtained;

associating the information with the input-output request; and

submitting the input-output request and the associated information to a target node for delivery by the target node to the storage node via the at least one network, wherein the storage node is configured to submit a response to the input-output request to the compute node via the at least one network using the separate portion of the compute node instead of the portion of the compute node from which the input-output request is obtained, based at least in part on the information, wherein the response submitted by the storage node to the compute node bypasses the target node;

wherein the information is provided separately from the input-output request;

wherein the compute node is configured to receive the response to the input-output request on the separate portion of the compute node; and

wherein the method is implemented by at least one processing device of an apparatus, the at least one processing device comprising a processor coupled to memory.

8. The method of claim 7 wherein the portion of the compute node from which the target node obtains the input-output request and the associated information from the compute node comprises a first port of the compute node, and wherein the separate portion of the compute node on which the compute node receives the response to the input-output request comprises a second port of the compute node different than the first port of the compute node.

9. The method of claim 7 wherein

the storage node being configured to submit the response to the input-output request to the compute node via the at least one network based at least in part on the information comprises the storage node being configured to submit the response to the input-output request to the compute node using the portion of the compute node as if the storage node was the target node based at least in part on the information.

10. The method of claim 7 wherein:

associating the information with the input-output request comprises generating a message comprising the input-output request and the associated information; and

submitting the input-output request and the associated information to the storage node comprises submitting the generated message to the storage node.

11. The method of claim 7 wherein:

the at least one network comprises a first communication pathway between the compute node and the apparatus;

the at least one network comprises a second communication pathway between the apparatus and the storage node;

the at least one network comprises a third communication pathway between the storage node and the compute node;

the compute node is configured to submit the input-output request to the apparatus via the first communication pathway;

the at least one processing device is configured to submit the input-output request to the storage node via the second communication pathway; and

the storage node is configured to submit the response to the compute node via the third communication pathway.

12. The method of claim 11 wherein the at least one processing device is further configured to obtain a notification from the storage node that comprises an indication that the response has been submitted to the compute node via the third communication pathway.

13. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device of an apparatus, causes the at least one processing device to perform the method of claim 7 .

14. The apparatus of claim 1 wherein the portion of the compute node from which the target node obtains the input-output request and the associated information from the compute node comprises a first port of the compute node, and wherein the separate portion of the compute node on which the compute node receives the response to the input-output request comprises a second port of the compute node different than the first port of the compute node.

15. An apparatus comprising:

a storage node comprising at least one processing device comprising a processor coupled to memory and a plurality of storage devices, the storage node being configured:

to obtain, from a target node via at least one network, an input-output request associated with an application executing on a compute node and information including an indication of a separate portion of the compute node than a portion of the compute node from which the input-output request is obtained by the target node, the target node being configured to identify the storage node as corresponding to the input-output request based at least in part on the input-output request; and

to submit a response to the input-output request to the compute node via the at least one network using the separate portion of the compute node instead of the portion of the compute node from which the input-output request is obtained, based at least in part on the information that was obtained from the target node, wherein the response submitted by the storage node to the compute node bypasses the target node;

wherein the information is provided separately from the input-output request; and

wherein the compute node is configured to receive the response to the input-output request on the separate portion of the compute node.

16. The apparatus of claim 15 wherein

submitting the response to the input-output request to the compute node via the at least one network based at least in part on the information comprises submitting the response to the input-output request to the compute node using the portion of the compute node as if the storage node was the target node based at least in part on the information.

17. The apparatus of claim 15 wherein:

the information is appended to the input-output request by the target node; and

obtaining the information comprises obtaining the information from the input-output request.

18. The apparatus of claim 15 wherein:

the at least one network comprises a first communication pathway between the compute node and the target node;

the at least one network comprises a second communication pathway between the target node and the storage node;

the at least one network comprises a third communication pathway between the storage node and the compute node;

the compute node is configured to submit the input-output request to the target node via the first communication pathway;

the target node is configured to submit the input-output request to the storage node via the second communication pathway; and

the storage node is configured to submit the response to the compute node via the third communication pathway.

19. The apparatus of claim 18 wherein the at least one processing device is further configured to submit a notification to the target node that comprises an indication that the response has been submitted to the compute node via the third communication pathway.

20. The apparatus of claim 15 wherein the portion of the compute node from which the target node obtains the input-output request and the information from the compute node comprises a first port of the compute node, and wherein the separate portion of the compute node on which the compute node receives the response to the input-output request comprises a second port of the compute node different than the first port of the compute node.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2020
From: AHARONI, DAN; KELLER, ITAY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054050/0208 →