IP Library Granted Patent US 11,082,494
Granted Patent B2
US 11,082,494 · App. 16/704,824 · Granted Aug 3, 2021

Cross storage protocol access response for object data stores

Inventor: Jense Seurynck (Merelbeke, BE)
Assignee: Western Digital Technologies, Inc.
H04L67/1097G06F9/542H04L67/025H04L67/32H04L67/42
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,082,494
App. No.
16/704,824
Granted
Aug 3, 2021
Kind
B2
Abstract

Example distributed storage systems, cross-protocol engines, and methods support cross storage protocol access response for object data stores. Data storage operations targeting the same data object using distinct data storage protocols may be received and detected. A routine based on the data storage protocols being distinct from one another may be executed in response.

Claims (96)

1. A computer-implemented method, comprising:

receiving, from a first client, a first data request for a first operation associated with a data object, wherein the first data request is formatted according to a first data storage protocol;

receiving, from a second client, a second data request for a second operation associated with the data object, wherein the second data request is formatted according to a second data storage protocol;

detecting that the second data storage protocol is distinct from the first data storage protocol; and

executing a routine based on the second data storage protocol being distinct from the first data storage protocol, wherein executing the routine includes:

generating a notification indicating the second operation and the second data storage protocol; and

sending the notification to the first client.

2. The computer-implemented method of claim 1 , wherein:

the first data request is received via a network from the first client;

the second data request is received via the network from the second client;

the first client is configured to use the first data storage protocol to access the data object in an object data store; and

the second client is configured to use the second data storage protocol to access the data object in the object data store.

3. The computer-implemented method of claim 2 , further comprising:

determining, at the first client, a process for processing a corresponding local instance of the data object based on the notification.

4. The computer-implemented method of claim 3 , wherein the process includes deleting, responsive to receiving the notification, the corresponding local instance of the data object from a non-transitory data store associated with the first client.

5. The computer-implemented method of claim 1 , wherein:

the first data request is a write request to write the data object to a non-transitory data store; and

the second data request is a read request to read the data object from the non-transitory data store.

6. The computer-implemented method of claim 1 , further comprising:

determining the first operation associated with the first data request; and

determining the second operation associated with the second data request, wherein:

detecting that the second data storage protocol is distinct from the first data storage protocol includes comparing a first protocol indicator associated with the first operation and a second protocol indicator associated with the second operation.

7. The computer-implemented method of claim 1 , further comprising:

determining, based on a first protocol handler for the first data request, the first data storage protocol; and

determining, based on a second protocol handler for the second data request, the second data storage protocol.

8. The computer-implemented method of claim 1 , further comprising:

logging the first operation in a first operation entry in an operations log, wherein the first operation entry includes a first protocol indicator associated with the first operation and the data object;

logging the second operation in a second operation entry in the operations log, wherein the second operation entry includes a second protocol indicator associated with the second operation and the data object; and

querying the operations log for operation entries associated with the data object, wherein detecting that the second data storage protocol is distinct from the first data storage protocol includes:

retrieving the first protocol indicator from the first operation entry;

retrieving the second protocol indicator from the second operation entry; and

comparing the first protocol indicator to the second protocol indicator.

9. The computer-implemented method of claim 8 , wherein executing the routine based on the second data storage protocol being distinct from the first data storage protocol includes:

generating, based on the first protocol indicator being different from the second protocol indicator, a cross-protocol access event; and

initiating, responsive to the cross-protocol access event, a user notification process for a user of the data object.

10. The computer-implemented method of claim 9 , wherein executing the routine based on the second data storage protocol being distinct from the first data storage protocol further includes:

adding the cross-protocol access event to an external notification event queue; and

processing the external notification event queue to generate a notification message to the first client.

11. A system comprising:

a processor;

a memory;

a client request handler, stored in the memory for execution by the processor, configured to:

receive, from a first client, a first data request for a first operation associated with a data object, wherein the first data request is formatted according to a first data storage protocol; and

receive, from a second client, a second data request for a second operation associated with the data object, wherein the second data request is formatted according to a second data storage protocol;

a cross-protocol engine, stored in the memory for execution by the processor, configured to:

detect that the second data storage protocol is distinct from the first data storage protocol; and

execute a routine based on the second data storage protocol being distinct from the first data storage protocol; and

a notification engine, stored in the memory for execution by the processor, configured to:

generate a notification indicating the second operation and the second data storage protocol; and

send the notification to the first client.

12. The system of claim 11 , further comprising:

a network interface configured to:

receive the first data request via a network from the first client; and

receive the second data request via the network from the second client, wherein:

the first client is configured to use the first data storage protocol to access the data object in an object data store associated with the client request handler; and

the second client is configured to use the second data storage protocol to access the data object in the object data store associated with the client request handler.

13. The system of claim 12 , further comprising:

the first client, wherein the first client includes a non-transitory data store and is configured to:

receive the notification; and

determine, based on the notification, a process for processing a corresponding local instance of the data object stored in the non-transitory data store.

14. The system of claim 13 , wherein the process includes deleting, responsive to receiving the notification, the corresponding local instance of the data object from the non-transitory data store associated with the first client.

15. The system of claim 11 , further comprising:

a non-transitory data store, wherein:

the first data request is a write request to write the data object to the non-transitory data store; and

the second data request is a read request to read the data object from the non-transitory data store.

16. The system of claim 11 , wherein:

the cross-protocol engine is further configured to:

determine the first operation associated with the first data request; and

determine the second operation associated with the second data request; and

detecting that the second data storage protocol is distinct from the first data storage protocol includes comparing a first protocol indicator associated with the first operation and a second protocol indicator associated with the second operation.

17. The system of claim 11 , further comprising:

a first protocol handler, stored in the memory for execution by the processor, configured to parse the first data request in accordance with the first data storage protocol; and

a second protocol handler, stored in the memory for execution by the processor, configured to parse the second data request in accordance with the second data storage protocol;

wherein detecting that the second data storage protocol is distinct from the first data storage protocol includes:

determining that the first data request was parsed by the first protocol handler; and

determining that the second data request was parsed by the second protocol handler.

18. The system of claim 11 , further comprising:

an operations log, stored in the memory, configured to:

log the first operation in a first operation entry in an operations log, wherein the first operation entry includes a first protocol indicator associated with the first operation and the data object; and

log the second operation in a second operation entry in the operations log, wherein the second operation entry includes a second protocol indicator associated with the second operation and the data object;

wherein the cross-protocol engine is further configured to:

query the operations log for operation entries associated with the data object;

retrieve the first protocol indicator from the first operation entry;

retrieve the second protocol indicator from the second operation entry; and

compare the first protocol indicator to the second protocol indicator to detect that the second data storage protocol is distinct from the first data storage protocol.

19. The system of claim 18 , wherein the cross-protocol engine is further configured to:

generate, based on the first protocol indicator being different from the second protocol indicator, a cross-protocol access event; and

initiate, responsive to the cross-protocol access event, a user notification process for a user of the data object.

20. A system comprising:

a non-transitory data store;

means for receiving, from a first client, a first data request for a first operation associated with a data object to be written to the non-transitory data store, wherein the first data request is formatted according to a first data storage protocol;

means for receiving, from a second client, a second data request for a second operation associated with the data object stored in the non-transitory data store, wherein the second data request is formatted according to a second data storage protocol;

means for detecting that the second data storage protocol is distinct from the first data storage protocol; and

means for executing a routine based on the second data storage protocol being distinct from the first data storage protocol, wherein executing the routine includes:

generating a notification indicating the second operation and the second data storage protocol; and

sending the notification to the first client.

Assignments (5)
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052025 FRAME 0088 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0699 →
SECURITY INTEREST Recorded Feb 26, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052025/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2019
From: SEURYNCK, JENSE
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 051388/0904 →
Continuity (1)
Related Publication 20210176315A1 · Jun 10, 2021
Cited By (1)
US 12,489,820