# US 12,192,281 B2 · Machine learning based assignment of service levels in a networked storage system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,192,281 B2
- Document ID: US12192281B2
- Status: Granted
- Kind: B2
- Application number: 18/367,055
- Filed: 2023-09-12
- Published: 2024-01-04
- Granted: 2025-01-07
- Earliest claimed: 2018-06-20
- Assignees: NetApp, Inc.
- Applicants: Netapp, Inc.
- Inventors: Jayanta Basak; Ameet Deulgaonkar; Siddhartha Nandi
- Web page: https://patentgrep.com/patent/US12192281B2

## CPC

- H04L 41/16: using machine learning or artificial intelligence
- G06F 3/0611: {in relation to response time}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06N 20/00: Machine learning
- H04L 41/5009: Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L 41/5025: by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Methods and systems for a networked storage system is provided. One method includes transforming by a processor, performance parameters associated with storage volumes of a storage system for representing each storage volume as a data point in a parametric space; generating by the processor, a plurality of bins in the parametric space using the transformed performance parameters; adjusting by the processor, bin boundaries for the plurality of bins for defining a plurality of service levels for the storage system based on the performance parameters; and using the defined plurality of service levels for operating the storage system.

## Claims

### Claim 1

A method, comprising:
transforming, by a processor, performance parameters associated with storage volumes of a storage system for representing each storage volume as a data point within a parametric space, the parametric space defined by the transformed performance parameters;
generating, by the processor, a plurality of bins in the parametric space, a size of each bin based on a deviation associated with the transformed performance parameters;
adjusting, by the processor, bin boundaries for the plurality of bins, such that upon bin boundary adjustment, each bin includes a certain number of storage volumes;
defining, by the processor, a plurality of custom service levels for the storage system, based on a number of storage volumes within each bin and a desired number of custom service levels; and
using the defined plurality of custom service levels for operating the storage system.

### Claim 2 (depends on 1)

The method of claim 1, wherein the transformed performance parameters include a peak latency value for each storage volume.

### Claim 3 (depends on 1)

The method of claim 1, wherein the transformed performance parameters include a peak Input/Output (I/O) density for each storage volume.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
receiving, by the processor, a specified number of service levels for defining the desired number of custom service levels.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving, by the processor, specified deviation limit for the transformed performance parameters for defining the deviation.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
receiving, by the processor, a specified deviation limit for the transformed performance parameters for defining the deviation, and a specified number of service levels for defining the plurality of custom service levels.

### Claim 7 (depends on 1)

The method of claim 1, wherein a new storage volume of the storage system is mapped to one of the defined, plurality of custom service levels.

### Claim 8

A system comprising:
a memory containing machine readable medium comprising machine executable code having stored thereon instructions; and a processor coupled to the memory configured to execute the machine executable code to:
transform performance parameters associated with storage volumes of a storage system for representing each storage volume as a data point within a parametric space, the parametric space defined by the transformed performance parameters;
generate a plurality of bins in the parametric space, a size of each bin based on a deviation associated with the transformed performance parameters;
iteratively adjust bin boundaries for the plurality of bins, such that upon bin boundary adjustment, each bin includes a threshold number of storage volumes;
define a plurality of custom service levels for the storage system, based on a number of storage volumes represented within each bin and a desired number of custom service levels;
and use the defined plurality of custom service levels for operating the storage system.

### Claim 9 (depends on 8)

The system of claim 8, wherein the transformed performance parameters include a peak latency value for each storage volume.

### Claim 10 (depends on 8)

The system of claim 8, wherein the machine executable code further causes to:
receive a specified number of service levels for defining the desired number of custom service levels.

### Claim 11 (depends on 8)

The system of claim 8, wherein the machine executable code further causes to:
receive a specified deviation limit for the transformed performance parameters for defining the deviation.

### Claim 12 (depends on 8)

The system of claim 8, wherein the machine executable code further causes to:
receive a specified deviation limit for the transformed performance parameters for defining the deviation, and a specified number of service levels for defining the plurality of custom service levels.

### Claim 13 (depends on 8)

The system of claim 8, wherein a new storage volume of the storage system is mapped to one of the defined, plurality of custom service levels.

### Claim 14

A non-transitory machine readable storage medium having stored thereon instructions for performing a method, comprising machine executable code which when executed by at least one machine, causes the machine to:
transform, by a processor, performance parameters associated with storage volumes of a storage system for representing each storage volume as a data point within a parametric space, the parametric space defined by the transformed performance parameters;
generate, by the processor, a plurality of bins in the parametric space, a size of each bin based on a deviation associated with the transformed performance parameters;
iteratively adjust by the processor, bin boundaries for the plurality of bins, such that upon bin boundary adjustment, each bin includes a threshold number of storage volumes;
define, by the processor, a plurality of custom service levels for the storage system, based on a number of storage volumes represented within each bin and a desired number of custom service levels; and
use the defined plurality of custom service levels for operating the storage system.

### Claim 15 (depends on 14)

The non-transitory machine readable storage medium of claim 14, wherein the transformed performance parameters include a peak latency value for each storage volume.

### Claim 16 (depends on 14)

The non-transitory machine readable storage medium of claim 14, wherein the transformed performance parameters include a peak Input/Output (I/O) density for each storage volume.

### Claim 17 (depends on 14)

The non-transitory machine readable storage medium of claim 14, wherein the machine executable code which when executed, further causes the machine to: receive, by the processor, a specified number of service levels for defining the desired number of custom service levels.

### Claim 18 (depends on 14)

The non-transitory machine readable storage medium of claim 14, wherein the machine executable code which when executed, further causes the machine to: receive, by the processor, a specified deviation limit for the transformed performance parameters for defining the deviation.

### Claim 19 (depends on 14)

The non-transitory machine readable storage medium of claim 14, wherein the machine executable code which when executed, further causes the machine to: receive, by the processor, a specified deviation limit for the transformed performance parameters for defining the deviation, and a specified number of service levels for defining the plurality of custom service levels.

### Claim 20 (depends on 14)

The non-transitory machine readable storage medium of claim 14, wherein a new storage volume of the storage system is mapped to one of the defined, plurality of custom service levels.
