IP Library Granted Patent US 11,314,436
Granted Patent B1
US 11,314,436 · App. 17/237,125 · Granted Apr 26, 2022

Method and apparatus for dynamically adjusting differentiated share prioritization in a storage system

Inventors: Jai Gahlot (Pune, IN); Shiv Kumar (Pune, IN); Amit Chauhan (Pune, IN)
Assignee: Dell Products, L.P.
G06F3/0644G06F3/061G06F3/067G06F3/0631G06F3/0653G06F3/0664
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,314,436
App. No.
17/237,125
Granted
Apr 26, 2022
Kind
B1
Abstract

A Software Defined Network Attached Storage (SDNAS) executes on a storage system to provide access to shared file systems, referred to as “shares”, on the storage system. Users access the shares using protocol clients. A share priority table is maintained by the SDNAS and used to specify share priorities on the storage system. A share priority adjustment process is used to dynamically adjust the share priority values based on average usage values computed using a weighted usage function, and optionally based on limited ranges. The weighted usage function considers the average number of protocol client connections on the share, the average number of read operations on the share, whether the share supports continuous availability, and other factors. The adjusted share priority values are used to specify IO priorities which used by the operating system scheduling mechanism to schedule the IO operations and to establish CPU priorities for the IO operations.

Claims (45)

1. A non-transitory tangible computer readable storage medium having stored thereon a computer program for implementing a method of dynamically adjusting differentiated share prioritization in a storage system, the computer program including a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of:

instantiating a Software Defined Network Attached Storage (SDNAS) process on a storage system;

exposing shares by the SDNAS process to protocol clients;

maintaining a share priority table, by the SDNAS process, the share priority table correlating share priority values with the exposed shares;

determining average usage values by the exposed shares;

comparing the average usage values with a minimum usage threshold;

decreasing share priority values of shares that have a respective average usage value below the minimum usage threshold;

comparing the average usage values of at least some of the shares with a maximum usage threshold; and

increasing share priority values of shares that have a respective average usage value below the maximum usage threshold.

2. The non-transitory tangible computer readable storage medium of claim 1 ,

wherein determining average usage values comprises using a weighted usage function reliant based on a set of weighted usage factors over a preceding time interval.

3. The non-transitory tangible computer readable storage medium of claim 2 , wherein the usage factors include an average number of protocol client connections on a particular share, an average number of reads operations on the particular share, an average number of write operations on the particular share, and whether the particular share supports continuous availability.

4. The non-transitory tangible computer readable storage medium of claim 1 , wherein decreasing share priority values comprises, for a particular share, decreasing a share priority value associated with the particular share by a set amount.

5. The non-transitory tangible computer readable storage medium of claim 1 , wherein decreasing share priority values comprises, for a particular share, decreasing a share priority value associated with the particular share by an amount related a difference between the usage value of the particular share and the minimum usage threshold.

6. The non-transitory tangible computer readable storage medium of claim 1 , wherein increasing share priority values comprises, for a particular share, increasing a share priority value associated with the particular share by a set amount.

7. The non-transitory tangible computer readable storage medium of claim 1 , wherein increasing share priority values comprises, for a particular share, increasing a share priority value associated with the particular share by an amount related a difference between the usage value of the particular share and the maximum usage threshold.

8. The non-transitory tangible computer readable storage medium of claim 1 , wherein the share priority table further contains upper and lower share priority value variation limits for the exposed shares.

9. The non-transitory tangible computer readable storage medium of claim 8 , if a particular share usage value is below the minimum usage threshold, the method comprising:

comparing a current share priority value for the particular share with a respective lower share priority value variation limit for the particular share; and

not decreasing the current share priority value for the particular share if decreasing the current share priority value would cause the share priority value for the particular share to exceed the respective lower share priority value variation limit for the particular share.

10. The non-transitory tangible computer readable storage medium of claim 8 , if a particular share usage value is below the minimum usage threshold, the method comprising:

comparing a current share priority value for the particular share with a respective upper share priority value variation limit for the particular share; and

not increasing the current share priority value for the particular share if increasing the current share priority value would cause the share priority value for the particular share to exceed the respective upper share priority value variation limit for the particular share.

11. A method of dynamically adjusting differentiated share prioritization in a storage system, comprising the steps of:

instantiating a Software Defined Network Attached Storage (SDNAS) process on a storage system;

exposing shares by the SDNAS process to protocol clients;

maintaining a share priority table, by the SDNAS process, the share priority table correlating share priority values with the exposed shares;

determining average usage values by the exposed shares;

comparing the average usage values with a minimum usage threshold;

decreasing share priority values of shares that have a respective average usage value below the minimum usage threshold;

comparing the average usage values of at least some of the shares with a maximum usage threshold; and

increasing share priority values of shares that have a respective average usage value below the maximum usage threshold.

12. The method of claim 11 , wherein determining average usage values comprises using a weighted usage function reliant based on a set of weighted usage factors over a preceding time interval.

13. The method of claim 12 , wherein the usage factors include an average number of protocol client connections on a particular share, an average number of reads operations on the particular share, an average number of write operations on the particular share, and whether the particular share supports continuous availability.

14. The method of claim 11 , wherein decreasing share priority values comprises, for a particular share, decreasing a share priority value associated with the particular share by a set amount.

15. The method of claim 11 , wherein decreasing share priority values comprises, for a particular share, decreasing a share priority value associated with the particular share by an amount related a difference between the usage value of the particular share and the minimum usage threshold.

16. The method of claim 11 , wherein increasing share priority values comprises, for a particular share, increasing a share priority value associated with the particular share by a set amount.

17. The method of claim 11 , wherein increasing share priority values comprises, for a particular share, increasing a share priority value associated with the particular share by an amount related a difference between the usage value of the particular share and the maximum usage threshold.

18. The method of claim 11 , wherein the share priority table further contains upper and lower share priority value variation limits for the exposed shares.

19. The method of claim 18 , if a particular share usage value is below the minimum usage threshold, the method comprising:

comparing a current share priority value for the particular share with a respective lower share priority value variation limit for the particular share; and

not decreasing the current share priority value for the particular share if decreasing the current share priority value would cause the share priority value for the particular share to exceed the respective lower share priority value variation limit for the particular share.

20. The method of claim 18 , if a particular share usage value is below the minimum usage threshold, the method comprising:

comparing a current share priority value for the particular share with a respective upper share priority value variation limit for the particular share; and

not increasing the current share priority value for the particular share if increasing the current share priority value would cause the share priority value for the particular share to exceed the respective upper share priority value variation limit for the particular share.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2021
From: GAHLOT, JAI; KUMAR, SHIV; CHAUHAN, AMIT
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055999/0250 →
Cited By (2)
US 12,340,118 US 12,693,786