IP Library Granted Patent US 11,106,394
Granted Patent B2
US 11,106,394 · App. 16/698,133 · Granted Aug 31, 2021

Storing an entity as an object or a file in a hybrid storage system based on an accessing protocol

Inventor: Dipankar Roy (San Jose, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F3/0659G06F3/0604G06F3/068G06F3/0652
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,106,394
App. No.
16/698,133
Granted
Aug 31, 2021
Kind
B2
Abstract

Storing an entity as an object or a file in a hybrid storage system based on an accessing protocol is presented herein. In response to determining that a request to modify a data entity is based on an object storage protocol, and in response to determining that the data entity is a first object that is represented as a first file in a file storage device, the hybrid storage system creates the first object in an object storage device and deletes the first file. Further, in response to determining that the request is based on a file storage protocol, and that the data entity is a second file that is represented as a second object in the object storage device, the hybrid storage system creates the second file in the file storage device and deletes the second object.

Claims (50)

1. A system, comprising:

a processor; and

a memory that stores executable components that, when executed by the processor, facilitate performance of operations by the system, the operations comprising:

receiving, via a file storage protocol corresponding to a file storage device or via an object storage protocol corresponding to an object storage device, a request to access a data entity; and

based on the request,

in response to the data entity being determined, via the object storage protocol, to be an object that has been represented, via a file reference, as a file in the file storage device, creating, via the object storage protocol, a new object comprising the data entity in the object storage device and deleting, via the object storage protocol, the file and the file reference in the file storage device, and

in response to the data entity being determined, via the file storage protocol, to be a file that has been represented, via an object reference, as the object in the object storage device, creating, via the file storage protocol, a new file comprising the data entity in the file storage device and deleting, via the file storage protocol, the object and the object reference in the object storage device.

2. The system of claim 1 , wherein the request comprises at least one of an update request to update the data entity or a write request to replace the data entity.

3. The system of claim 1 , wherein the operations further comprise:

in response to the object being determined, via the object storage protocol, to be represented by the object reference, updating the object in the object storage device.

4. The system of claim 3 , wherein the updating comprises:

deleting the object from a container in the object storage device; and

creating the new object in the container.

5. The system of claim 1 , wherein the operations further comprise:

in response to the object being determined, via the object storage protocol, to not be represented by any object reference, and in response to a container of the object being determined, via the object storage protocol, to not be mapped to a directory of the file storage device, creating the new object in the object storage device.

6. The system of claim 1 , wherein the operations further comprise:

in response to the object being determined, via the object storage protocol, to not be represented by any object reference, and in response to a container of the object being determined, via the object storage protocol, to be mapped to a directory in the file storage device, determining, via the object storage protocol, whether an existing file in the file storage device comprises a pathname representing a key of the object.

7. The system of claim 6 , wherein the operations further comprise:

in response to the existing file in the file storage device being determined, via the object storage protocol, to not comprise the pathname representing the key of the object, creating the new object in the object storage device.

8. The system of claim 1 , wherein the data entity is an existing file, and wherein the operations further comprise:

in response to the existing file being determined, via the file storage protocol, to be represented by the file reference, updating the existing file.

9. The system of claim 8 , wherein the updating comprises:

overwriting the existing file in the file storage device.

10. The system of claim 1 , wherein the file is a first file, wherein the data entity is a second file, and wherein the operations further comprise:

in response to a pathname of the second file being determined, via the file storage protocol, to be mapped to a container in the object storage device, and in response the container being determined, via the file storage protocol, to not include any object that has a key that matches the pathname of the second file, creating the second file in the file storage device.

11. A method, comprising:

in response to receiving a request to access a data entity, determining, by a system comprising a processor, whether the request is based on an object storage protocol or a file storage protocol; and

in response to the request being determined to be based on the object storage protocol and in response to the data entity being determined to be an object that has been represented as a first file in a file storage device, creating, by the system, a first object comprising the data entity in an object storage device and deleting, by the system, the first file in the file storage device, and

in response to the request being determined to be based on the file storage protocol and in response to the data entity being determined to be a file that has been represented as a second object in the object storage device, creating, by the system, a second file comprising the data entity in the file storage device and deleting, by the system, the second object in the object storage device.

12. The method of claim 11 , wherein the creating the first object comprises:

in response to the request being determined to be based on the object storage protocol and in response to the data entity being determined to be stored as an object in the object storage device, deleting the object from a container in the object storage device and creating the first object in the container.

13. The method of claim 11 , wherein the data entity is an object, and further comprising:

in response to the request being determined to be based on the object storage protocol, in response to the object storage device being determined to not contain a container of the object, and in response to the container of the object being determined to not be represented as a directory in the file storage device, creating, by the system, the object in the object storage device.

14. The method of claim 11 , wherein the data entity is an object, and further comprising:

in response to the request being determined to be based on the object storage protocol, in response to the object storage device being determined to not contain a container of the object, and in response to the container of the object being determined to be represented as a directory in the file storage device, determining, by the system, whether an existing file in the file storage device comprises a pathname representing a key of the object.

15. The method of claim 14 , further comprising:

in response to the existing file in the file storage device being determined to comprise the pathname representing the key of the object, deleting, by the system, the existing file and creating, by the system, the object in the object storage device.

16. The method of claim 14 , further comprising:

in response to the existing file in the file storage device being determined to not comprise the pathname representing the key of the object, creating, by the system, the object in the object storage device.

17. The method of claim 11 , further comprising:

in response to the request being determined to be based on the file storage protocol, and in response to the data entity being determined to be stored as a file in the file storage device, overwriting, by the system, the file.

18. The method of claim 11 , wherein the data entity is a file, and further comprising:

in response to the request being determined to be based on the file storage protocol, in response to the object storage device being determined to contain a container that has been mapped to a pathname of the file, and in response to the container being determined to not include an object having a key that matches the pathname of the file, creating, by the system, the file in the file storage device.

19. A non-transitory machine-readable medium comprising instructions that, in response to execution, cause a system comprising a processor to perform operations, comprising:

determining whether a request to modify a data entity is based on an object storage protocol or a file storage protocol; and

in response to the request being determined to be based on the object storage protocol and in response to the data entity being determined to be a first object that is represented as a first file in a file storage device, creating the first object in an object storage device and deleting the first file; and

in response to the request being determined to be based on the file storage protocol and in response to the data entity being determined to be a second file that is represented as a second object in the object storage device, creating the second file in the file storage device and deleting the second object.

20. The non-transitory machine-readable storage medium of claim 19 , wherein the operations further comprise:

in response to the request being determined to be based on the object storage protocol and in response to the data entity being determined to be an object that is stored in the object storage device, deleting the object in the object storage device and creating a new object comprising the data entity in the object storage device; and

in response to the request being determined to be based on the file storage protocol and in response to the data entity being determined to be a file that is stored in the file storage device, overwriting the file in the file storage device.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 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 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2019
From: ROY, DIPANKAR
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051131/0262 →