IP Library Granted Patent US 12,086,079
Granted Patent B2
US 12,086,079 · App. 17/930,521 · Granted Sep 10, 2024

Generating messages with priorities in a storage network

Inventor: Greg R. Dhuse (Chicago, IL)
Assignee: Pure Storage, Inc.
G06F13/1626G06F3/0608G06F3/0611G06F3/0641G06F3/065G06F3/067G06F11/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 12,086,079
App. No.
17/930,521
Granted
Sep 10, 2024
Kind
B2
Abstract

A storage system operates by 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. 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. Wherein the system further operates by sending the first message of the system messages in accordance with the first message priority; and ending the second message of the system messages in accordance with the second message priority.

Claims (71)

1. A method comprises:

receiving a data segment;

encoding the data segment into a set of encoded data slices via a dispersed error encoding, 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;

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;

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 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 a data segment;

encoding the data segment into a set of encoded data slices via a dispersed error encoding, 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;

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;

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.

20. The system of claim 17 , wherein the operations further include:

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

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2022
From: DHUSE, GREG R.
To: PURE STORAGE, INC.
Reel/Frame 061039/0373 →
Continuity (6)
Continuation 16780310 · Feb 3, 2020
Continuation In Part 16288848 · Feb 28, 2019
Continuation 15255540 · Sep 2, 2016
Continuation In Part 13683951 · Nov 21, 2012
Provisional Application 61564185 · Nov 28, 2011
Related Publication 20230004505A1 · Jan 5, 2023