IP Library › Granted Patent US 10,877,810
Granted Patent B2
US 10,877,810 · App. 16/147,576 · Granted Dec 29, 2020

Object storage system with metadata operation priority processing

Inventors: Ameet Pyati (Bangalore, IN); Muhammad Tanweer Alam (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F9/5038G06F3/067G06F3/0659G06F16/164G06F16/22G06F16/2358G06F16/24573H04L67/1097
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 10,877,810
App. No.
16/147,576
Granted
Dec 29, 2020
Kind
B2
Abstract

Example object storage systems and methods provide priority metadata processing. Metadata operations are received in response to change events for at least one data object. The metadata operations may include system operations configured to manage changes to data objects and user-method operations configured to execute user-defined methods using the data objects. System operations are executed with a first priority in response to system operations with the first priority being available for processing. User-method operations are executed with a second priority in response to no metadata operations with the first priority being available for processing.

Claims (86)

1. A system, comprising:

at least one processor;

at least one memory coupled to the at least one processor; and

a metadata processor configured to:

receive metadata operations related to change events for at least one data object stored in a plurality of storage nodes configured to receive and store data objects, wherein the metadata operations include:

system operations configured to manage changes to the data objects stored in the plurality of storage nodes; and

user-method operations configured to execute user-defined methods using the data objects stored in the plurality of storage nodes;

selectively forward the system operations to an execution queue;

selectively forward the user-method operations to a data log;

execute, responsive to the system operations being available for processing in the execution queue, the system operations;

selectively add, responsive to no system operations being available for processing in the execution queue, the user-method operations to the execution queue; and

execute, responsive to the user-method operations being available for processing in the execution queue, the user-method operations.

2. The system of claim 1 , further comprising:

a system operations processor configured to process the system operations from the execution queue.

3. The system of claim 1 , further comprising:

a user-method operations processor configured to process, responsive to adding the user-method operations to the execution queue, the user-method operations from the data log.

4. The system of claim 1 , further comprising:

a metadata streamer stored in the at least one memory for execution by the at least one processor and configured to:

identify the change events related to the data objects stored in the plurality of storage nodes; and

forward the metadata operations to an input queue of the metadata processor; and

an operations categorizer stored in the at least one memory for execution by the at least one processor and configured to:

identify the system operations and the user-method operations from the metadata operations in the input queue;

selectively forward, for the metadata processor, the system operations to the execution queue; and

selectively forward, for the metadata processor, the user-method operations to the data log.

5. The system of claim 1 , further comprising:

a user input module stored in the at least one memory for execution by the at least one processor and configured to:

receive a user-defined method request; and

parse the user-defined method request into at least one user-method operation; and

a job manager stored in the at least one memory for execution by the at least one processor and configured to submit the at least one user-method operation from the user input module to the metadata processor.

6. The system of claim 1 , wherein:

the system operations include operations related to user application access to the data objects stored in the plurality of storage nodes from at least one production user application; and

the user-method operations include metadata queries configured to generate reports related to aggregate features of the data objects stored in the plurality of storage nodes.

7. The system of claim 1 , wherein:

the user-method operations include at least one of metadata queries, metadata filters, metadata formatting, or system-supported metadata actions;

a user selects the user-method operations for processing outside of operations related to user application access to data objects; and

the metadata processor is further configured to store results of the user-method operations in a system metadata repository.

8. The system of claim 1 , wherein the metadata processor is further configured to execute the metadata operations in the execution queue in a sequential first-in-first-out order.

9. The system of claim 8 , wherein the metadata processor is further configured to selectively add the user-method operations to the execution queue from the data log in response to the execution queue being empty.

10. A computer-implemented method, comprising:

receiving metadata operations in response to change events for at least one data object stored in a plurality of storage nodes, wherein the metadata operations include:

system operations configured to manage changes to data objects in the plurality of storage nodes; and

user-method operations configured to execute user-defined methods using the data objects in the plurality of storage nodes;

selectively forwarding the system operations to an execution queue;

selectively forwarding the user-method operations to a data log;

executing, responsive to the system operations being available for processing in the execution queue, the system operations;

selectively adding, responsive to no system operations being available for processing in the execution queue, the user-method operations to the execution queue; and

executing, responsive to the user-method operations being available for processing in the execution queue, the user-method operations.

11. The computer-implemented method of claim 10 , further comprising:

selecting new entries for the system operations from an input queue; and

sending, from the execution queue, the selected new entries to a system operations processor configured to process the system operations.

12. The computer-implemented method of claim 10 , further comprising:

selecting log entries from the data log in response to an input queue being empty; and

sending, from the execution queue, the selected log entries to a user-method operations processor configured to process the user-method operations from the data log.

13. The computer-implemented method of claim 10 , further comprising:

identifying change events related to the data objects stored in the plurality of storage nodes;

forwarding, responsive to the identified change events, the metadata operations to an input queue of a metadata processor; and

identifying the system operations and the user-method operations from the metadata operations in the input queue.

14. The computer-implemented method of claim 10 , wherein executing the metadata operations in the execution queue is in a sequential first-in-first-out order.

15. The computer-implemented method of claim 14 , wherein selectively adding the user-method operations to the execution queue from the data log is in response to the execution queue being empty.

16. The computer-implemented method of claim 10 , further comprising:

receiving a user-defined method request;

parsing the user-defined method request into at least one user-method operation; and

submitting the at least one user-method operation to a metadata processor.

17. The computer-implemented method of claim 10 , wherein:

the system operations include operations related to user application access to the data objects in the plurality of storage nodes from at least one production user application; and

the user-method operations include metadata queries configured to generate reports related to aggregate features of the data objects in the plurality of storage nodes.

18. The computer-implemented method of claim 10 ,

wherein the user-method operations include at least one of metadata queries, metadata filters, metadata formatting, or system-supported metadata actions; and

further comprising:

selecting by a user the user-method operations for processing outside of operations related to user application access to data objects; and

storing results of the user-method operations in a system metadata repository.

19. A system, comprising:

at least one processor;

at least one memory coupled to the at least one processor;

means, stored in the at least one memory for execution by the at least one processor, for receiving metadata operations in response to change events for at least one data object stored in a plurality of storage nodes configured to receive and store data objects, wherein the metadata operations include:

system operations configured to manage changes to data objects in the plurality of storage nodes; and

user-method operations configured to execute user-defined methods using the data objects in the plurality of storage nodes;

means, stored in the at least one memory for execution by the at least one processor, for selectively forwarding the system operations to an execution queue;

means, stored in the at least one memory for execution by the at least one processor, for selectively forwarding the user-method operations to a data log;

means, stored in the at least one memory for execution by the at least one processor, for executing, responsive to the system operations being available for processing in the execution queue, the system operations;

means, stored in the at least one memory for execution by the at least one processor, for selectively adding, responsive to no system operations being available for processing in the execution queue, the user-method operations to the execution queue; and

means, stored in the at least one memory for execution by the at least one processor, for executing, responsive to the user-method operations being available for processing in the execution queue, the user-method operations.

20. The system of claim 19 , further comprising:

means, stored in the at least one memory for execution by the at least one processor, for identifying change events related to the data objects in the plurality of storage nodes;

means, stored in the at least one memory for execution by the at least one processor, for forwarding, responsive to the identified change events, the metadata operations to an input queue of a metadata processor; and

means, stored in the at least one memory for execution by the at least one processor, for identifying the system operations and the user-method operations from the metadata operations in the input queue.

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 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2018
From: PYATI, AMEET; ALAM, MUHAMMAD TANWEER
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 047061/0175 →
Continuity (1)
Related Publication 20200104181A1 · Apr 2, 2020