IP Library Granted Patent US 11,593,020
Granted Patent B2
US 11,593,020 · App. 17/010,353 · Granted Feb 28, 2023

Consistent entity tags with multiple protocol data access

Inventor: Takafumi Yonekura (Bellevue, WA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F3/0655G06F3/0604G06F3/0676
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,593,020
App. No.
17/010,353
Granted
Feb 28, 2023
Kind
B2
Abstract

Techniques are provided for consistent entity tags with multiple protocol data access. In an example, a file storage system is configured to process data according to file storage protocol(s) and object storage protocol(s). An object storage protocol can utilize entity tags that indicate whether an object (represented with a file in the file storage system) has changed. Where a file storage protocol is utilized to modify a file, an indication may be stored that indicates that the file lacks a valid entity tag. If an object storage operation is made to retrieve an object, and if the object corresponds to a valid entity tag, then that entity tag can be returned as part of the response. If the object does not correspond to a valid entity tag, then the file storage system can generate a new entity tag and return the newly generated entity tag as part of the response.

Claims (47)

1. A system, comprising:

a processor; and

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

receiving, from a device, a first request to perform a first object storage operation to read from an object according to an object storage protocol configured to read and modify data objects, the object corresponding to a first file of a file storage system, the first file having been created or modified via a file storage operation;

in response to the first request and to determining that the first file is not associated with a valid entity tag according to the object storage protocol and as a result of the first file having been created or modified via the file storage operation, wherein determining that the first file is not associated with the valid entity tag comprises determining that an extended attribute of the first file indicates that a corresponding entity tag is invalid, generating a first entity tag for the object; and

in response to the receiving of the first request, sending the object and the first entity tag to the device.

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

before performing the receiving of the first request, receiving a second request to perform a file system operation to modify the first file;

modifying the first file according to the second request; and

in response to the receiving of the second request, storing a first value in a first data structure, the first value indicating that the first file is not associated with another valid entity tag that comprises the valid entity tag or a second valid entity tag.

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

before performing the receiving of the first request, receiving a second request to perform a file system operation to create the first file;

creating the first file according to the second request; and

in response to the receiving of the second request, storing a first value in a first data structure, the first value indicating that the first file is not associated with another valid entity tag that comprises the valid entity tag or a second valid entity tag.

4. The system of claim 1 , wherein the first request comprises a hypertext transfer protocol (HTTP) request.

5. The system of claim 4 , wherein the first entity tag is specified as a header of the HTTP request.

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

storing the first entity tag for the object in a user space extended attribute of the first file.

7. The system of claim 1 , wherein the sending of the object comprises sending a hypertext transfer protocol communication.

8. A method, comprising:

receiving, by a system comprising a processor, and from a device, a first request to perform a first object storage operation to read from an object according to an object storage protocol configured to read and modify data objects, the object corresponding to a first file of a file storage system;

in response to the first request and to determining that the first file is not associated with a valid entity tag as a result of the first file having been created or modified via a file storage operation, generating, by the system, a first entity tag for the object, wherein determining that the first file is not associated with the valid entity tag comprises determining that an extended attribute of the first file indicates that a corresponding entity tag is invalid; and

in response to the receiving of the first request, sending, by the system, the object and the first entity tag to the device.

9. The method of claim 8 , further comprising:

before performing the receiving of the first request, receiving, by the system, a second request to perform a second object storage operation to write to the object, wherein the second request indicates a second entity tag that corresponds to the first file.

10. The method of claim 9 , further comprising:

in response to the second request indicating the second entity tag, storing a first indication that the first file has another valid entity tag that comprises the valid entity tag or a second valid entity tag.

11. The method of claim 10 , further comprising:

in response to modifying the first file according to a third request to perform a file system operation to modify the first file, storing a second indication that the first file lacks another valid entity tag that comprises the valid entity tag or the second valid entity tag.

12. The method of claim 11 , wherein the file system operation corresponds to a network file system protocol or a server message block protocol.

13. The method of claim 9 , further comprising:

determining, by the system, the first entity tag based on a logical inode number of the system that corresponds to the first file and a file modification time of the first file.

14. The method of claim 13 , wherein first identification value comprises a concatenation of a first 64-bit value for the logical inode number and a second 64-bit value for the file modification time.

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

receiving, from a device, a first request to perform a first object storage operation to read from an object according to an object storage protocol configured to read and modify data objects, the object corresponding to a first file of a file storage system;

in response to the first request and to determining that the first file is not associated with a valid entity tag as a result of the first file having been created or modified via a file storage operation, generating a first identification value for the object, wherein determining that the first file is not associated with the valid entity tag comprises determining that an extended attribute of the first file indicates that a corresponding entity tag is invalid; and

in response to the receiving of the first request, sending the object and the first identification value to the device.

16. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

after processing the first object storage operation, processing a second object storage operation to write to the object; and

associating a second identification value with the object based on the second object storage operation.

17. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

in response to processing a second object storage operation to read the object prior to processing a file storage operation on the first file, determining that the first file is associated with a valid identity value; and

determining that a stored second identity value is associated with the first file; and

responding to the second object storage operation with the stored second identity value.

18. The non-transitory computer-readable medium of claim 17 , wherein the second identity value indicates that the object is unchanged by a file system operation since it was created or last modified by a third object storage operation.

19. The non-transitory computer-readable medium of claim 15 , wherein the first identification value indicates that the object has changed by a file system operation since it was created or last modified by a second object storage operation.

20. The non-transitory computer-readable medium of claim 15 , wherein the first object storage operation is received according to a representational state transfer web service.

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 Sep 2, 2020
From: YONEKURA, TAKAFUMI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053678/0841 →