IP Library Granted Patent US 11,474,958
Granted Patent B1
US 11,474,958 · App. 16/780,310 · Granted Oct 18, 2022

Generating and queuing system messages with priorities in a storage network

Inventor: Greg R. Dhuse (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F13/1626G06F3/065G06F3/067G06F3/0608G06F3/0611G06F3/0641G06F11/1076G06F12/0607G06F13/1663G06F16/182G06F21/6209G06F21/78H04L9/0825H04L9/3236H04L63/101G06F2211/1028H04L67/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 11,474,958
App. No.
16/780,310
Granted
Oct 18, 2022
Kind
B1
Abstract

A method for use with a storage network includes generating system messages, in accordance with the system-level message processing parameters, the system messages including status information, performance information and alarms, each having one of a plurality of priorities, wherein the generating includes: generating a first message of the system messages corresponding to a first of the storage nodes based on the system-level message processing parameters, the first message including a first alarm of the alarms having a first message priority of the plurality of priorities; and generating a second message of the system messages corresponding to a second of the storage nodes based on the system-level message processing parameters, the second message including a second alarm of the alarms having a second message priority of the plurality of priorities.

Claims (73)

1. A method comprises:

receiving security parameters, the security parameters including user authentication data, and a data encryption type;

receiving a data segment;

encoding the data segment into a set of encoded data slices using erasure coding, wherein the data segment is reconstructable from a decode threshold number of encoded data slices of the set of encoded data slices;

storing, in storage nodes of a storage network, the set of encoded data slices, in accordance with the data encryption type determined based on the security parameters;

receiving system-level message processing parameters regarding system messages corresponding to the storage nodes;

generating system messages, in accordance with the system-level message processing parameters, the system messages including status information, performance information and alarms, each having one of a plurality of priorities, wherein the generating includes:

generating a first message of the system messages corresponding to a first of the storage nodes based on the system-level message processing parameters, the first message including a first alarm of the alarms having a first message priority of the plurality of priorities; and

generating a second message of the system messages corresponding to a second of the storage nodes based on the system-level message processing parameters, the second message including a second alarm of the alarms having a second message priority of the plurality of priorities;

queuing the system messages in a system message queue;

sending the first message of the system messages in accordance with the first message priority; and

sending the second message of the system messages in accordance with the second message priority.

2. The method of claim 1 , further comprising:

updating the first message priority based on status of processing the system messages.

3. The method of claim 2 , further comprising:

updating the second message priority based on the status of processing the system messages.

4. The method of claim 1 , wherein system messages further include write messages to write the set of encoded data slices to the storage network.

5. The method of claim 4 , further comprising:

determining when a write threshold number of the write messages have been sent to the storage network; and

when the write threshold number of the write messages have been sent and the first message has not yet been sent, reducing the first message priority.

6. The method of claim 5 , further comprising:

determining when the write threshold number of the write messages have been successfully processed by the storage network; and

when the write threshold number of the write messages have been successfully processed and the first message has not yet been sent, further reducing the first message priority.

7. The method of claim 4 , further comprising:

determining that a write threshold number of the write messages have not been sent to the storage network within a given time period; and

when the write threshold number of the write messages have not been sent in the given time period and the first message has not yet been sent within the given time period, increasing the first message priority.

8. The method of claim 4 , further comprising:

determining when a write threshold number of the write messages have not been successfully processed by the storage network within a given time period; and

when the write threshold number of the write messages have not been successfully processed within the given time period and the first message has not yet been sent, increasing the first message priority.

9. The method of claim 1 , wherein the system messages further include read messages to read the set of encoded data slices from the storage network.

10. The method of claim 9 , further comprising:

determining when the decode threshold number of the read messages have been sent to the storage network; and

when the decode threshold number of the read messages have been sent and the first message has not yet been sent, reducing the first message priority.

11. The method of claim 10 , further comprising:

determining when the decode threshold number of the read messages have been successfully processed by the storage network; and

when the decode threshold number of the read messages have been successfully processed and the first message has not yet been sent, further reducing the first message priority.

12. The method of claim 9 , further comprising:

determining when the decode threshold number of the read messages have not been sent to the storage network within a given time period; and

when the decode threshold number of the read messages have not been sent within the given time period and the first message has not yet been sent in the given time period, increasing the first message priority.

13. The method of claim 9 , further comprising:

determining when the decode threshold number of the read messages have not been successfully processed by the storage network within a given time period; and

when the decode threshold number of the read messages have not been successfully processed within the given time period and the first message has not yet been sent, increasing the first message priority.

14. The method of claim 1 , wherein the system-level message processing parameters are determined by:

for a first set of messages of the system messages, determining at least one of: a current status of sending the first set of messages, and a current status of successfully processing the first set of messages; and

for a second set of messages of the system messages, determining at least one of: a current status of sending the second set of messages, and a current status of successfully processing the second set of messages.

15. The method of claim 1 , further comprising:

determining a number of sets of the system messages that involve the first of the storage nodes;

determining status of sending messages of the number of sets of the system messages to the first of the storage nodes;

determining status of successfully processed messages of the number of sets of the system messages by the first of the storage nodes; and

determining message processing status of the first of the storage nodes based on the status of sending messages and the status of successfully processed messages.

16. The method of claim 1 , wherein the first message priority is determined by:

determining a number of sets of the system messages that involves the first of the storage nodes;

interpreting the system-level message processing parameters regarding the number of sets that involve the first of the storage nodes to produce interpreted system-level message processing parameters;

interpreting the message processing status of the first of the storage nodes regarding the number of sets that involve the first of the storage nodes to produce interpreted message processing status; and

applying a load balancing function in accordance the interpreted system-level message processing parameters and the interpreted message processing status to produce the first message priority.

17. A system comprising:

a communications interface;

a memory; and

a computer processor;

wherein the memory includes instructions for causing the computer processor to perform operations that include:

receiving security parameters, the security parameters including user authentication data, and a data encryption type;

receiving a data segment;

encoding the data segment into a set of encoded data slices using erasure coding, wherein the data segment is reconstructable from a decode threshold number of encoded data slices of the set of encoded data slices;

storing, in storage nodes of a storage network, the set of encoded data slices, in accordance with the data encryption type determined based on the security parameters;

receiving system-level message processing parameters regarding system messages corresponding to the storage nodes;

generating system messages, in accordance with the system-level message processing parameters, the system messages including status information, performance information and alarms, each having one of a plurality of priorities, wherein the generating includes:

generating a first message of the system messages corresponding to a first of the storage nodes based on the system-level message processing parameters, the first message including a first alarm of the alarms having a first message priority of the plurality of priorities; and

generating a second message of the system messages corresponding to a second of the storage nodes based on the system-level message processing parameters, the second message including a second alarm of the alarms having a second message priority of the plurality of priorities;

queuing the system messages in a system message queue;

sending the first message of the system messages in accordance with the first message priority; and

sending the second message of the system messages in accordance with the second message priority.

18. The system of claim 17 , wherein system messages further include write messages to write the set of encoded data slices to the storage network.

19. The system of claim 17 , wherein system messages further include read messages to read the set of encoded data slices from the storage network.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2020
From: DHUSE, GREG R.
To: PURE STORAGE, INC.
Reel/Frame 051773/0402 →