Exhibit 7

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 1 of 21
Page 1

U.S. Patent No. 7,450,507 (“’507 Patent”)

Exemplary Accused Product

NetApp products, including at least each of the following products (and their variations) infringe at least Claim 1 of the ’507

Patent: NetApp ONTAP 9.4 (and later versions) operating system and data management software. The infringement chart below is 

based on the NetApp ONTAP 9.4 operating system and data management software (“ONTAP Management Software”), which is

exemplary of the infringement of the ’507 Patent.

Claims ONTAP Management Software

[1pre]. A method for rate-limiting a 

traffic stream using a rate-limit hierarchy 

at a network node comprising:

ONTAP Management Software performs a method for rate-limiting a traffic stream 

using a rate-limit hierarchy at a network node.

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 2 of 21
Page 2

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-B144F39A-2E14-4048-91CA-D8080C50F70D.html.

Guaranteeing throughput with QoS 

You can use storage qual ity of service (QoS) to guarantee that performance of critical 

workloads is not degraded by competing workloads . You can set a throughput ceiling 

on a competing workload to limit its impact on system resources , or set a throughput 

floorfor a critical workload, ensuring that it meets minimum throughput targets , 

regardless of demand by competing workloads . You can even set a ceiling and floor for 

the same workload . 

Understanding throughput ceilings (QoS Max) 

A throughput cei ling limits throughput for a workload to a maximum number of IOPS, MB/s, or IOPS, MB/s. In the figure below, the throughput 

ceiling for workload 2 ensures that it does not "bully" workloads 1 and 3. 

A policy group defines the throughput ceiling for one or more workloads. A workload represents the 1/0 operations for a storage object: a 

volume , file, or LUN, or all the volumes , files , or LUNs in an SVM. You can spec ify the ceiling when you create the policy group , or you can wait 

until after you monitor workloads to specify it. 

Note: Throughput to workloads might excee d the spec ified ceiling by up to 10 percent , especially if a workload experiences rapid changes in 

throughput. The ceiling might be exceeded by up to 50% to handle bursts . Bursts occur on single nodes when tokens accumulate up to 150% 

BeforeOoS 

After QoS - Cemng BootSIOnn 

--------- f - - ~---···················-·-···~~ 

-------------- --------------

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 3 of 21
Page 3

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

[1a] subjecting a packet to a first ratelimit check, said first rate-limit check 

corresponding to a first-level traffic 

classification;

ONTAP Management Software subjects a packet to a first rate-limit check where the 

first rate-limit check corresponds to a first-level traffic classification. For example, by 

classifying storage object workloads under policy groups and subjecting data packets to 

a first rate-limit check of the policy group. 

Setting a throughput ceiling with QoS 

You can use the max-throughput field for a policy group to define a throughput 

ceiling for storage object workloads (QoS Max). You can apply the policy group when 

you create or modify the storage object. 

Before you begin 

• You must be a cluster administrator to create a policy group. 

• You must be a cluster administrator to apply a policy group to an SVM. 

About this task 

• Starting with ONTAP 9.4, you can use a non-shared QoS policy group to specify that the defined throughput ceiling applies to each 

member workload individually . Otherwise, the policy group is shared : the total throughput for the workloads assigned to the policy group 

cannot exceed the specified ceiling . 

Set -is-shared•false for the gos policy-group create command to specify a non-shared policy group. 

• You can specify the throughput limit for the ceiling in IOPS, MB/s, or IOPS, MB/s. If you specify both IOPS and MB/s, whichever limit is 

reached first is enforced. 

Note: If you set a ceiling and a floor for the same workload, you can specify the throughput limit for the ceiling in IOPS only. 

• A storage object that is subject to a QoS limit must be contained by the SVM to which the policy group belongs . Multiple policy groups 

can belong to the same SVM. 

• You cannot assign a storage object to a policy group if its containing object or its child objects belong to the policy group. 

• It is a QoS best practice to apply a policy group to the same type of storage objects . 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 4 of 21
Page 4

https://docs.netapp.com/ontap-9/index.jsp?topic=/com.netapp.doc.pow-perfmon/GUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

Storage QoS workf low 

If you already know the performance requirements for the workloads you want to 

manage with QoS, you can specify the throughput limit when you create the policy 

group . Otherwise , you can wait until after you monitor the workloads to specify the limit. 

Identify storage objects 

lo assign lo policy 

groups 

Do you know the 

perbrmance 

requiremen ts for the 

worl<loads? 

Adjust policy 

group settings, 

tt necessary 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 5 of 21
Page 5

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-B144F39A-2E14-4048-91CA-D8080C50F70D.html.

Guaranteeing throughput with QoS 

You can use storage quality of service (QoS) to guarantee that performance of critical 

workloads is not degraded by competing workloads. You can set a throughput ceiling 

on a competing workload to limit its impact on system resources, or set a throughput 

floor for a critical workload , ensuring that it meets minimum throughput targets , 

regardless of demand by competing workloads . You can even set a ceiling and floor for 

the same workload . 

Understanding throughput ceilings (QoS Max) 

A throughput ceiling limits throughput for a workload to a maximum number of IOPS, MB/s, or IOPS, MB/s. In the figure below, the throughput 

ceiling for workload 2 ensures that it does not "bully" workloads 1 and 3. 

A policy group defines the throughput ceiling for one or more workloads . A workload represents the 1/0 operations for a storage object: a 

volume , file, or LUN, or all the volumes , files, or LUNs in an SVM. You can specify the ceiling when you create the policy group , or you can wait 

until after you monitor workloads to specify it. 

Note: Throughput to workloads might exceed the specified ceiling by up to 10 percent, especially if a workload experiences rapid changes in 

throughput. The ceiling might be exceeded by up to 50% to handle bursts. Bursts occur on single nodes when tokens accumulate up to 150% 

Before QoS 0004 Slorm 

s 

i 

Q. 

After QoS - Ceiling Boot Stonn 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 6 of 21
Page 6

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

Setting a throughput ceiling with QoS 

You can use the max-throughput field for a policy group to define a throughput 

ceiling for storage object workloads (QoS Max). You can apply the policy group when 

you create or modify the storage object. 

Before you begin 

• You must be a cluster administrator to create a policy group. 

• You must be a cluster administrator to apply a policy group to an SVM. 

About this task 

• Starting with ONTAP 9.4, you can use a non-shared QoS policy group to specify that the defined throughput ceiling applies to each 

member workload individually. Otherwise. the policy group is shared: the total throughput for the workloads assigned to the policy group 

cannot exceed the specified ceiling. 

Set -is-s hared•false for the gos policy-group create command to specify a non-shared policy group. 

• You can specify the throughput limit for the ceiling in IOPS, MB/s, or IOPS, MB/s. If you specify both IOPS and MB/s, whichever limit is 

reached first is enforced . 

Note: If you set a ceiling and a floor for the same workload, you can specify the throughput limit for the ceiling in IOPS only. 

• A storage object that is subject to a QoS limit must be contained by the SVM to which the policy group belongs. Multiple policy groups 

can belong to the same SVM. 

• You cannot assign a storage object to a policy group if its containing object or its child objects belong to the policy group. 

• It is a QoS best practice to apply a policy group to the same type of storage objects . 

Understanding shared and non-shared QoS policy groups 

Starting with ONTAP 9.4, you can use a non-shared QoS policy group to specify that the defined throughput ceiling or floor applies to each 

member workload individually . Behavior of shared policy groups depends on the policy type: 

• For throughput ceilings , the total throughput for the workloads assigned to the shared policy group cannot exceed the specified ceiling . 

• For throughput floors, the shared policy group can be applied to a single workload only. 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 7 of 21
Page 7

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-B144F39A-2E14-4048-91CA-D8080C50F70D.html.

https://docs.netapp.com/ontap-9/index.jsp?topic=/com.netapp.doc.pow-perfmon/GUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

[1b] subjecting said packet to a second 

rate-limit check and an infinity rate-limit 

check, said second rate-limit check and 

said infinity rate-limit check 

ONTAP Management Software subjects a packet to a second rate-limit check and an 

infinity rate-limit check where the second rate-limit check and infinity rate-limit check 

corresponds to a second-level traffic classification. For example, the traffic policy 

classifies storage object workloads and subjects data packets to a second rate-limit 

Steps 

1. Create a policy group : 

qo • polic y- gr oup crea t e - po licy gr oup po lJ.c y_g ro up - v • erver SVH -max -t hr oughput awab er _o f_ i op • 1 Hh/S I i op • , Mb/ S -is-s ha r e d 

true I f alse 

For complete command syntax, see the man page. You can use the gos policy-group modify command to adjust throughput ceilin gs. 

Example 

The lolio'Mng comman d creates the shared policy group pg-v s l with a maximum throughpu t ol 5,000 IOPS: 

cluaterl : :> qoa policy - group create -policy group pg-val - vaerver val -max-throughput SOOOiope - is - shared true 

Example 

The follown g command creates the non-sha red policy grou p pg - vs J w,th a maximum throughput of 100 IOPS or 400 Kb/5 : 

I 

cluster!:: > qos policy-group create -po l icy group pg-vs3 -vserver vs3 -max-throughput 100iops,400KB/s -is-shared false I 

Example 

The following comman d creates the non•shared policy group pg -va 4 withou t a through put limit: 

cluster!::> gos policy-group create -policy group pg-ve4 - vserver vs4 - is - shared false 

2. Apply a policy group to an SVM, file, volume, or LUN: 

• tor 11ge_ obje ct cr ea t e - v•e rv e r SVII - qo •- pol i cy - group policy _ group 

For complete comma nd syntax, see the man pages. You can use the st orage _ object modify command to appl y a different policy g roup to the storage object. 

Example 

The following comma nd applies policy group pg-ve l to SVM vs 1: 

cluster!::> veerver create -vserver val -gos-policy-group pg-val 

Example 

The follown g commands apply policy group pg-ap p to the volumes appl and app2 : 

clusterl: :> volwae create -vserver vs2 -volume ap p l -aggregate aggrl -gos-policy-group pg-app 

clusterl: :> volume create -v s erver vs2 -volume ap p2 -aggregate agg r l -gos-policy-group pg-app 

I 

I 

I 

I 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 8 of 21
Page 8

corresponding to a second-level traffic 

classification;

check and an infinity rate-limit check, e.g., set by the policy group throughput ceiling 

setting for a non-shared QoS policy group.

https://docs.netapp.com/ontap-9/index.jsp?topic=/com.netapp.doc.pow-perfmon/GUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

Storage QoS workf low 

If you already know the performance requirements for the workloads you want to 

manage with QoS, you can specify the throughput limit when you create the policy 

group . Otherwise, you can wait until after you monitor the workloads to specify the limit. 

Identify storage objects 

lo assign lo policy 

groups 

Do you know the 

perbrmance 

requirements for the 

worl<loads? 

Adjust policy 

group settings, 

if necessary 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 9 of 21
Page 9

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-B144F39A-2E14-4048-91CA-D8080C50F70D.html.

Guaranteeing throughput with QoS 

You can use storage quality of service (QoS) to guarantee that performance of critical 

workloads is not degraded by competing workloads. You can set a throughput ceiling 

on a competing workload to limit its impact on system resources, or set a throughput 

floor for a critical workload , ensuring that it meets minimum throughput targets , 

regardless of demand by competing workloads . You can even set a ceiling and floor for 

the same workload . 

Understanding throughput ceilings (QoS Max) 

A throughput ceiling limits throughput for a workload to a maximum number of IOPS. MB/s. or IOPS. MB/s. In the figure below, the throughput 

ceiling for workload 2 ensures that it does not 'bully' workloads 1 and 3. 

A policy group defines the throughput ceiling for one or more work loads . A workload represents the 1/0 operat ions for a storage object: a 

volume, file, or LUN, or all the volumes , files, or LUNs in an SVM. You can spec ify the ceiling when you create the policy group , or you can wait 

until after you monitor workloads to specify it. 

Note: Through put to workloads might exceed the specified ceiling by up to 10 percent, especially if a work load experiences rapid changes in 

throughput. The cei ling might be exceeded by up to 50% to handle bursts. Bursts occur on single nodes when tokens accumulate up to 150% 

Before QoS BootSlotm 

2 

! .. 

After OoS - Celling Boot Storm 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 10 of 21
Page 10

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

Setting a throughput ceiling with QoS 

You can use the max-throughput field for a policy group to define a throughput 

ceiling for storage object workloads (QoS Max). You can apply the policy group when 

you create or modify the storage object. 

Before you begin 

• You must be a cluster administrator to create a policy group. 

• You must be a cluster administrator to apply a policy group to an SVM. 

About this task 

• Starting with ONTAP 9.4, you can use a non-shared QoS policy group to specify that the defined throughput ceiling applies to each 

member workload individually. Otherwise. the policy group is shared: the total throughput for the workloads assigned to the policy group 

cannot exceed the specified ceiling. 

Set -is-s hared•false for the gos policy-group create command to specify a non-shared policy group. 

• You can specify the throughput limit for the ceiling in IOPS, MB/s, or IOPS, MB/s. If you specify both IOPS and MB/s, whichever limit is 

reached first is enforced . 

Note: If you set a ceiling and a floor for the same workload, you can specify the throughput limit for the ceiling in IOPS only. 

• A storage object that is subject to a QoS limit must be contained by the SVM to which the policy group belongs. Multiple policy groups 

can belong to the same SVM. 

• You cannot assign a storage object to a policy group if its containing object or its child objects belong to the policy group. 

• It is a QoS best practice to apply a policy group to the same type of storage objects . 

Understanding shared and non-shared QoS policy groups 

Starting with ONTAP 9.4, you can use a non-shared QoS policy group to specify that the defined throughput ceiling or floor applies to each 

member workload individually . Behavior of shared policy groups depends on the policy type: 

• For throughput ceilings , the total throughput for the workloads assigned to the shared policy group cannot exceed the specified ceiling . 

• For throughput floors, the shared policy group can be applied to a single workload only. 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 11 of 21
Page 11

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-B144F39A-2E14-4048-91CA-D8080C50F70D.html.

https://docs.netapp.com/ontap-9/index.jsp?topic=/com.netapp.doc.pow-perfmon/GUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

[1c] granting an automatic pass to said 

packet from said infinity rate-limit check 

regardless of whether or not said packet 

passes said second rate-limit check; and 

ONTAP Management Software grants an automatic pass to the data packet from the 

infinity rate-limit check regardless of whether or not the data packet passes the second 

rate-limit check. For example, the storage object workloads can be configured where in 

the situation the remaining bandwidth for the policy group is not utilized by other

Steps 

1. Create a policy group : 

qo • polic y- gr oup crea t e - po licy gr oup po lJ.c y_g ro up - v • erver SVH -max -t hr oughput awab er _o f_ i op • 1 Hh/S I i op • , Mb/ S -is-s ha r e d 

true I f alse 

For complete command syntax, see the man page. You can use the gos policy-group modify command to adjust throughput ceilin gs. 

Example 

The lolio'Mng comman d creates the shared policy group pg-v s l with a maximum throughpu t ol 5,000 IOPS: 

cluaterl : :> qoa policy - group create -policy group pg-val - vaerver val -max-throughput SOOOiope - is - shared true 

Example 

The follown g command creates the non-sha red policy grou p pg - vs J w,th a maximum throughput of 100 IOPS or 400 Kb/5 : 

I 

cluster!:: > qos policy-group create -po l icy group pg-vs3 -vserver vs3 -max-throughput 100iops,400KB/s -is-shared false I 

Example 

The following comman d creates the non•shared policy group pg -va 4 withou t a through put limit: 

cluster!::> gos policy-group create -policy group pg-ve4 - vserver vs4 - is - shared false 

2. Apply a policy group to an SVM, file, volume, or LUN: 

• tor 11ge_ obje ct cr ea t e - v•e rv e r SVII - qo •- pol i cy - group policy _ group 

For complete comma nd syntax, see the man pages. You can use the st orage _ object modify command to appl y a different policy g roup to the storage object. 

Example 

The following comma nd applies policy group pg-ve l to SVM vs 1: 

cluster!::> veerver create -vserver val -gos-policy-group pg-val 

Example 

The follown g commands apply policy group pg-ap p to the volumes appl and app2 : 

clusterl: :> volwae create -vserver vs2 -volume ap p l -aggregate aggrl -gos-policy-group pg-app 

clusterl: :> volume create -v s erver vs2 -volume ap p2 -aggregate agg r l -gos-policy-group pg-app 

I 

I 

I 

I 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 12 of 21
Page 12

storage object workloads, the storage object workload at issue may receive an automatic 

pass from the infinity rate-limit check and use the remaining bandwidth of the policy 

group, even if it has reached its individual throughput ceiling.

https://docs.netapp.com/ontap-9/index.jsp?topic=/com.netapp.doc.pow-perfmon/GUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

Storage QoS workf low 

If you already know the performance requirements for the workloads you want to 

manage with QoS, you can specify the throughput limit when you create the policy 

group . Otherwise, you can wait until after you monitor the workloads to specify the limit. 

Identify storage objects 

10 assign 10 policy 

groups 

Do you know the 

pe rlonnance 

requiremen ls lor lhe 

workloads? 

Adjusl policy 

group settings, 

tt necessary 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 13 of 21
Page 13

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-B144F39A-2E14-4048-91CA-D8080C50F70D.html.

Guaranteeing throughput with QoS 

You can use storage quality of service (QoS) to guarantee that performance of critical 

workloads is not degraded by competing workloads. You can set a throughput ceiling 

on a competing workload to limit its impact on system resources, or set a throughput 

floor for a critical workload , ensuring that it meets minimum throughput targets , 

regardless of demand by competing workloads . You can even set a ceiling and floor for 

the same workload . 

Understanding throughput ceilings (QoS Max) 

A throughput ceiling limits throughput for a workload to a maximum number of IOPS. MB/s. or IOPS. MB/s. In the figure below, the throughput 

ceiling for workload 2 ensures that it does not 'bully' workloads 1 and 3. 

A policy group defines the throughput ceiling for one or more work loads . A workload represents the 1/0 operat ions for a storage object: a 

volume, file, or LUN, or all the volumes , files, or LUNs in an SVM. You can spec ify the ceiling when you create the policy group , or you can wait 

until after you monitor workloads to specify it. 

Note: Through put to workloads might exceed the specified ceiling by up to 10 percent, especially if a work load experiences rapid changes in 

throughput. The cei ling might be exceeded by up to 50% to handle bursts. Bursts occur on single nodes when tokens accumulate up to 150% 

Before QoS BootSlotm 

2 

! .. 

After OoS - Celling Boot Storm 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 14 of 21
Page 14

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

Setting a throughput ceiling with QoS 

You can use the max-throughput field for a policy group to define a throughput 

ceiling for storage object workloads (QoS Max). You can apply the policy group when 

you create or modify the storage object. 

Before you begin 

• You must be a cluster administrator to create a policy group. 

• You must be a cluster administrator to apply a policy group to an SVM. 

About this task 

• Starting with ONTAP 9.4, you can use a non-shared QoS policy group to specify that the defined throughput ceiling applies to each 

member workload individually. Otherwise. the policy group is shared: the total throughput for the workloads assigned to the policy group 

cannot exceed the specified ceiling. 

Set -is-s hared•false for the gos policy-group create command to specify a non-shared policy group. 

• You can specify the throughput limit for the ceiling in IOPS, MB/s, or IOPS, MB/s. If you specify both IOPS and MB/s, whichever limit is 

reached first is enforced . 

Note: If you set a ceiling and a floor for the same workload, you can specify the throughput limit for the ceiling in IOPS only. 

• A storage object that is subject to a QoS limit must be contained by the SVM to which the policy group belongs. Multiple policy groups 

can belong to the same SVM. 

• You cannot assign a storage object to a policy group if its containing object or its child objects belong to the policy group. 

• It is a QoS best practice to apply a policy group to the same type of storage objects . 

Understanding shared and non-shared QoS policy groups 

Starting with ONTAP 9.4, you can use a non-shared QoS policy group to specify that the defined throughput ceiling or floor applies to each 

member workload individually . Behavior of shared policy groups depends on the policy type: 

• For throughput ceilings , the total throughput for the workloads assigned to the shared policy group cannot exceed the specified ceiling . 

• For throughput floors, the shared policy group can be applied to a single workload only. 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 15 of 21
Page 15

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-B144F39A-2E14-4048-91CA-D8080C50F70D.html.

https://docs.netapp.com/ontap-9/index.jsp?topic=/com.netapp.doc.pow-perfmon/GUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

[1d] granting an overall pass of said ratelimit hierarchy if said packet passes said 

first rate-limit check, even if said packet 

fails said second rate-limit check.

ONTAP Management Software grants an overall pass of the rate-limit hierarchy if the 

data packet passes the first rate-limit check, even if the data packet failed the second 

rate-limit check. For example, the storage object workload can be configured where in 

the situation the remaining bandwidth for the policy group is not utilized by other

Steps 

1. Create a policy group : 

qo • polic y- gr oup crea t e - po licy gr oup po lJ.c y_g ro up - v • erver SVH -max -t hr oughput awab er _o f_ i op • 1 Hh/S I i op • , Mb/ S -is-s ha r e d 

true I f alse 

For complete command syntax, see the man page. You can use the gos policy-group modify command to adjust throughput ceilin gs. 

Example 

The lolio'Mng comman d creates the shared policy group pg-v s l with a maximum throughpu t ol 5,000 IOPS: 

cluaterl : :> qoa policy - group create -policy group pg-val - vaerver val -max-throughput SOOOiope - is - shared true 

Example 

The follown g command creates the non-sha red policy grou p pg - vs J w,th a maximum throughput of 100 IOPS or 400 Kb/5 : 

I 

cluster!:: > qos policy-group create -po l icy group pg-vs3 -vserver vs3 -max-throughput 100iops,400KB/s -is-shared false I 

Example 

The following comman d creates the non•shared policy group pg -va 4 withou t a through put limit: 

cluster!::> gos policy-group create -policy group pg-ve4 - vserver vs4 - is - shared false 

2. Apply a policy group to an SVM, file, volume, or LUN: 

• tor 11ge_ obje ct cr ea t e - v•e rv e r SVII - qo •- pol i cy - group policy _ group 

For complete comma nd syntax, see the man pages. You can use the st orage _ object modify command to appl y a different policy g roup to the storage object. 

Example 

The following comma nd applies policy group pg-ve l to SVM vs 1: 

cluster!::> veerver create -vserver val -gos-policy-group pg-val 

Example 

The follown g commands apply policy group pg-ap p to the volumes appl and app2 : 

clusterl: :> volwae create -vserver vs2 -volume ap p l -aggregate aggrl -gos-policy-group pg-app 

clusterl: :> volume create -v s erver vs2 -volume ap p2 -aggregate agg r l -gos-policy-group pg-app 

I 

I 

I 

I 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 16 of 21
Page 16

storage object workloads, the storage object workload at issue may receive an automatic 

pass from the infinity rate-limit check and use the remaining bandwidth of the policy 

group, even if it has reached its individual throughput ceiling.

https://docs.netapp.com/ontap-9/index.jsp?topic=/com.netapp.doc.pow-perfmon/GUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

Storage QoS workf low 

If you already know the performance requirements for the workloads you want to 

manage with QoS, you can specify the throughput limit when you create the policy 

group . Otherwise, you can wait until after you monitor the workloads to specify the limit. 

Identify storage objects 

10 assign 10 policy 

groups 

Do you know the 

pe rlonnance 

requiremen ls lor lhe 

workloads? 

Adjusl policy 

group settings, 

tt necessary 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 17 of 21
Page 17

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-B144F39A-2E14-4048-91CA-D8080C50F70D.html.

Guaranteeing throughput with QoS 

You can use storage quality of service (QoS) to guarantee that performance of critical 

workloads is not degraded by competing workloads. You can set a throughput ceiling 

on a competing workload to limit its impact on system resources, or set a throughput 

floor for a critical workload , ensuring that it meets minimum throughput targets , 

regardless of demand by competing workloads . You can even set a ceiling and floor for 

the same workload . 

Understanding throughput ceilings (QoS Max) 

A throughput ceiling limits throughput for a workload to a maximum number of IOPS. MB/s. or IOPS. MB/s. In the figure below, the throughput 

ceiling for workload 2 ensures that it does not 'bully' workloads 1 and 3. 

A policy group defines the throughput ceiling for one or more work loads . A workload represents the 1/0 operat ions for a storage object: a 

volume, file, or LUN, or all the volumes , files, or LUNs in an SVM. You can spec ify the ceiling when you create the policy group , or you can wait 

until after you monitor workloads to specify it. 

Note: Through put to workloads might exceed the specified ceiling by up to 10 percent, especially if a work load experiences rapid changes in 

throughput. The cei ling might be exceeded by up to 50% to handle bursts. Bursts occur on single nodes when tokens accumulate up to 150% 

Before QoS BootSlotm 

2 

! .. 

After OoS - Celling Boot Storm 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 18 of 21
Page 18

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

Setting a throughput ceiling with QoS 

You can use the max-throughput field for a policy group to define a throughput 

ceiling for storage object workloads (QoS Max). You can apply the policy group when 

you create or modify the storage object. 

Before you begin 

• You must be a cluster administrator to create a policy group. 

• You must be a cluster administrator to apply a policy group to an SVM. 

About this task 

• Starting with ONTAP 9.4, you can use a non-shared QoS policy group to specify that the defined throughput ceiling applies to each 

member workload individually. Otherwise. the policy group is shared: the total throughput for the workloads assigned to the policy group 

cannot exceed the specified ceiling. 

Set -is-s hared•false for the gos policy-group create command to specify a non-shared policy group. 

• You can specify the throughput limit for the ceiling in IOPS, MB/s, or IOPS, MB/s. If you specify both IOPS and MB/s, whichever limit is 

reached first is enforced . 

Note: If you set a ceiling and a floor for the same workload, you can specify the throughput limit for the ceiling in IOPS only. 

• A storage object that is subject to a QoS limit must be contained by the SVM to which the policy group belongs. Multiple policy groups 

can belong to the same SVM. 

• You cannot assign a storage object to a policy group if its containing object or its child objects belong to the policy group. 

• It is a QoS best practice to apply a policy group to the same type of storage objects . 

Understanding shared and non-shared QoS policy groups 

Starting with ONTAP 9.4, you can use a non-shared QoS policy group to specify that the defined throughput ceiling or floor applies to each 

member workload individually . Behavior of shared policy groups depends on the policy type: 

• For throughput ceilings , the total throughput for the workloads assigned to the shared policy group cannot exceed the specified ceiling . 

• For throughput floors, the shared policy group can be applied to a single workload only. 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 19 of 21
Page 19

https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perfmon%2FGUID-B144F39A-2E14-4048-91CA-D8080C50F70D.html.

https://docs.netapp.com/ontap-9/index.jsp?topic=/com.netapp.doc.pow-perfmon/GUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

Steps 

1. Create a policy group : 

qo • polic y- gr oup crea t e - po licy gr oup po lJ.c y_g ro up - v • erver SVH -max -t hr oughput awab er _o f_ i op • 1 Hh/S I i op • , Mb/ S -is-s ha r e d 

true I f alse 

For complete command syntax, see the man page. You can use the gos policy-group modify command to adjust throughput ceilin gs. 

Example 

The lolio'Mng comman d creates the shared policy group pg-v s l with a maximum throughpu t ol 5,000 IOPS: 

cluaterl : :> qoa policy - group create -policy group pg-val - vaerver val -max-throughput SOOOiope - is - shared true 

Example 

The follown g command creates the non-sha red policy grou p pg - vs J w,th a maximum throughput of 100 IOPS or 400 Kb/5 : 

cluster!:: > qos policy-group create -po l icy group pg-vs3 -vserver vs3 -max-throughput 100iops,400KB/s -is-shared false I 

Example 

The following comman d creates the non•shared policy group pg -va 4 withou t a through put limit: 

cluster!::> gos policy-group create -policy group pg-ve4 - vserver vs4 - is - shared false 

2. Apply a policy group to an SVM, file, volume, or LUN: 

• tor 11ge_ obje ct cr ea t e - v•e rv e r SVII - qo •- pol i cy - group policy _ group 

For complete comma nd syntax, see the man pages. You can use the st orage _ object modify command to appl y a different policy g roup to the storage object. 

Example 

The following comma nd applies policy group pg-ve l to SVM vs 1: 

clusterl: :> veerver create -vserver val -gos-policy-group pg-val 

Example 

The follown g commands apply policy group pg-ap p to the volumes appl and app2 : 

clusterl: :> volwae create -vserver vs2 -volume ap p l -aggregate aggrl -gos-policy-group pg-app 

clusterl: :> volume create -v s erver vs2 -volume ap p2 -aggregate agg r l -gos-policy-group pg-app 

I 

I 

I 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 20 of 21
Page 20

https://docs.netapp.com/ontap-9/index.jsp?topic=/com.netapp.doc.pow-perfmon/GUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html.

3. Monitor policy group performance : 

qo s a t atis t ica pe rformanc e • bow 

FOi' com plete comma nd syntax , see the man page . 

Note : Monitor performance from the cluster. Do not use a tool on the host to monitor perfor mance. 

Example 

The following com mand shows policy group perfo rmance : 

clusterl: :> gos statistics performance show 

Policy Group IOPS Throughput Latency 

-totalpg _ vsl 

_System-Best-Effort 

_System-Background 

4. Monitor workload performance : 

--------------- 12316 4 7 . 76MB/s 

5008 19. 56MB/s 

62 13. 36KB/ s 

30 OKB/s 

qo a •tat ia t ica work l oa d pe r f ormanc e • bow 

For com plete com mand syntax , see the man page . 

----------

1264 . OOus 

2. 45ms 

4 .13ms 

Oms 

Note : Monitor performa nce from the cluste r. Do not use a tool on the host to monitor performa nce . 

Example 

The following comman d shows WOfkload performance : 

clusterl: :> gos statistics workload performance show 

workload ID IOPS Throughput Latency 

-total- 12320 4 7. 84MB/s 1215.00us 

appl - wid7967 7967 7219 28.20MB/s 319 . 00us 

vsl - widl2279 12279 5026 19 . 63MB/s 2 . 52ms 

_USERSPACE_APPS 14 55 10. 92KB/s 236 . OOus 

_Scan_Backgro . . 5688 20 OKB/ s Oms 

Note: You can use the gos sta t istics workload latency show comman d to view detailed latency statistics for QoS workloads . 

Case 6:20-cv-00369-ADA Document 1-7 Filed 05/07/20 Page 21 of 21