IP Library Granted Patent US 11,604,610
Granted Patent B2
US 11,604,610 · App. 17/244,495 · Granted Mar 14, 2023

Methods and systems for storing data in a distributed system using offload components

Inventors: Jean-Pierre Bono (Westboro, MA); JoonJack Yap (Southborough, MA); Adrian Michaud (Carlisle, MA); Marc A. De Souter (Wayne, NJ)
Assignee: EMC IP HOLDING COMPANY LLC
G06F3/0664G06F3/0605G06F3/067G06F3/0611G06F3/0644
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,604,610
App. No.
17/244,495
Filed
Apr 29, 2021
Granted
Mar 14, 2023
Kind
B2
Art Unit
2135
USPC
711/154
Abstract

A method for storing data, the method comprising receiving, by an offload component in a client application node, a request originating from an application executing in an application container on the client application node, wherein the request is associated with data and wherein the offload component is located in a hardware layer of the client application node, and processing, by the offload component, the request by a file system (FS) client and a memory hypervisor module executing in a modified client FS container on the offload component, wherein processing the request results in at least a portion of the data in a location in a storage pool.

Claims (39)

1. A method for storing data, the method comprising:

receiving, by an offload component in a client application node, a request originating from an application executing in an application container on the client application node, wherein the request is associated with data and wherein the offload component is located in a hardware layer of the client application node; and

processing, by the offload component, the request by a file system (FS) client and a memory hypervisor module executing in a modified client FS container on the offload component, wherein processing the request results in at least a portion of the data processed by the offload component being stored in a location in a storage pool,

wherein the request is received by a bi-directional bridging component in the modified client FS container,

wherein the request was issued by a second bi-directional bridging component executing in a client bridging container,

wherein the application container and the client bridging container are executing in a user space of the client application node, and

wherein the request from the application is received by an operating system executing on the client application node and redirected to the client bridging container.

2. The method of claim 1 , wherein processing the request comprises:

generating, by the memory hypervisor module, at least one input/output (I/O) request associated with the request, wherein the at least one I/O request specifies the location in the storage pool, wherein the location is determined using a data layout; and

issuing, by the memory hypervisor module, the at least one I/O request to the storage pool.

3. The method of claim 2 , wherein the data layout is obtained from a metadata node.

4. The method of claim 1 , wherein the location in the storage pool is a location in a memory device.

5. The method of claim 4 , wherein the memory device is located on a storage node.

6. The method of claim 5 , wherein the storage pool comprises the memory device, a second memory device on a metadata node, and a third memory device on the client application node.

7. The method of claim 4 , wherein the memory device is a persistent memory (PMEM) device.

8. A non-transitory computer readable medium comprising instructions which, when executed by a processor, enables the processor to perform a method for storing data, the method comprising;

receiving, by an offload component in a client application node, a request originating from an application executing in an application container on the client application node, wherein the request is associated with data and wherein the offload component is located in a hardware layer of the client application node; and

processing, by the offload component, the request by a file system (FS) client and a memory hypervisor module executing in a modified client FS container on the offload component, wherein processing the request results in at least a portion of the data processed by the offload component being stored in a location in a storage pool,

wherein the request is received by a bi-directional bridging component in the modified client FS container,

wherein the request was issued by a second bi-directional bridging component executing in a client bridging container,

wherein the application container and the client bridging container are executing in a user space of the client application node, and

wherein the request from the application is received by an operating system executing on the client application node and redirected to the client bridging container.

9. The non-transitory computer readable medium of claim 8 , wherein processing the request comprises:

generating, by the memory hypervisor module, at least one input/output (I/O) request associated with the request, wherein the at least one I/O request specifies the location in the storage pool, wherein the location is determined using a data layout; and

issuing, by the memory hypervisor module, the at least one I/O request to the storage pool.

10. The non-transitory computer readable medium of claim 9 , wherein the data layout is obtained from a metadata node.

11. The non-transitory computer readable medium of claim 8 , wherein the location in the storage pool is a location in a memory device.

12. The non-transitory computer readable medium of claim 11 , wherein the memory device is located on a storage node and wherein the memory device is a persistent memory (PMEM) device.

13. The method of claim 5 , wherein the storage pool comprises the memory device, a second memory device on a metadata node, and a third memory device on the client application node.

14. A node, comprising:

a hardware processor;

application container executing on the hardware processor;

an offload component comprising a physical processing component, wherein the offload component is configured to:

receive a request originating from an application, wherein the request is associated with data;

process, by the physical processing component, the request by a file system (FS) client and a memory hypervisor module executing in a modified client FS container on the offload component, wherein processing the request results in at least a portion of the data processed by the offload component being stored in a location in a storage pool,

wherein the request is received by a bi-directional bridging component in the modified client FS container,

wherein the request was issued by a second bi-directional bridging component executing in a client bridging container,

wherein the application container and the client bridging container are executing in a user space of the client application node, and

wherein the request from the application is received by an operating system executing on the client application node and redirected to the client bridging container.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2021
From: BONO, JEAN-PIERRE; YAP, JOONJACK; DE SOUTER, MARC A.; MICHAUD, ADRIAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056620/0487 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →