IP Library Granted Patent US 10,462,061
Granted Patent B1
US 10,462,061 · App. 15/472,197 · Granted Oct 29, 2019

Systems and methods for managing quality of service

Inventors: David Lin (San Jose, CA); Niranjan Pendharkar (Pune, IN); Prasanna Wakhare (Pune, IN)
Assignee: Veritas Technologies LLC
H04L47/2475H04L67/1097H04L67/42
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 10,462,061
App. No.
15/472,197
Granted
Oct 29, 2019
Kind
B1
Abstract

The disclosed computer-implemented method for managing quality of service may include (i) providing, in a network storage environment, a quality of service engine to regulate network traffic by assigning three separate factors to applications that are consuming a network resource, (ii) adding, to a configuration of the quality of service engine, a fourth priority factor that establishes two tiers of priority among applications that generate traffic that is regulated by the quality of service engine, and (6) regulating, by the quality of service engine based on the fourth priority factor, network traffic in the network storage environment by providing access to the network resource to an application assigned a higher priority over another application assigned a lower priority such that the fourth priority factor enables the quality of service engine to adhere to a service level agreement. Various other methods, systems, and computer-readable media are also disclosed.

Claims (70)

1. A computer-implemented method for managing quality of service, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

providing, in a network storage environment, a quality of service engine to regulate network traffic by assigning three separate factors to applications that are consuming a network resource:

a reservation value;

a limit value; and

a weight value;

adding, to a configuration of the quality of service engine, a fourth priority factor that establishes two tiers of priority among applications that generate traffic that is regulated by the quality of service engine; and

regulating, by the quality of service engine based on the fourth priority factor, network traffic in the network storage environment by providing access to the network resource to an application assigned a higher priority over another application assigned a lower priority such that the fourth priority factor enables the quality of service engine to adhere to a service level agreement, wherein:

the quality of service engine is situated between a hypervisor and network storage;

the lower priority designates replication traffic for replicating data; and

the replication traffic was originally generated by applications that are assigned the higher priority.

2. The computer-implemented method of claim 1 , wherein the two tiers of priority comprise:

a higher priority queue of north-south local user application traffic; and

a lower priority queue of east-west inter-server data center network traffic as distinct from the local user application traffic.

3. The computer-implemented method of claim 1 , wherein the two tiers of priority comprise

a higher priority queue for applications that are categorized as mission critical in terms of the service level agreement.

4. The computer-implemented method of claim 1 , wherein the two tiers of priority comprise a lower priority queue for applications that are categorized as mission non-critical in terms of the service level agreement.

5. The computer-implemented method of claim 1 , wherein the network resource corresponds to at least one of:

storage in the network storage environment;

central processing unit utilization; and

input/output operations per second.

6. The computer-implemented method of claim 1 , wherein the weight value is defined in terms of an integer and a relative proportion of the network resource provided to the application, after satisfying the reservation value, is defined in terms of the integer divided by a totality of weight values that include the weight value and at least one other weight value.

7. The computer-implemented method of claim 1 , wherein:

the reservation value reserves an amount of the network resource for the application;

the limit value limits usage of the network resource by the application to the limit value; and

the weight value defines a relative proportion of the network resource that will be provided to the application in comparison to a competing application after satisfying the reservation value.

8. The computer-implemented method of claim 1 , wherein:

the three separate factors of the reservation value, the limit value, and the weight value, prior to adding the fourth priority factor, ensure an equitable sharing of the network resource but create a potential failure to adhere to the service level agreement; and

the adding of the fourth priority factor to the configuration of the quality of service engine effectively prevents the potential failure and guarantees satisfaction of the service level agreement.

9. The computer-implemented method of claim 1 , further comprising providing, after satisfying a set of applications that were assigned the higher priority, access to a remainder of the network resource to applications that were assigned the lower priority according to the respective weight value.

10. The computer-implemented method of claim 9 , wherein access is provided to the remainder of the network resource to applications that were assigned the lower priority according to a round robin algorithm.

11. A system for managing quality of service, the system comprising:

a provisioning module, stored in memory, that provides, in a network storage environment, a quality of service engine to regulate network traffic by assigning three separate factors to applications that are consuming a network resource:

a reservation value;

a limit value; and

a weight value;

an adding module, stored in memory, that adds, to a configuration of the quality of service engine, a fourth priority factor that establishes two tiers of priority among applications that generate traffic that is regulated by the quality of service engine;

a regulation module, stored in memory, that regulates, as part of the quality of service engine and based on the fourth priority factor, network traffic in the network storage environment by providing access to the network resource to an application assigned a higher priority over another application assigned a lower priority such that the fourth priority factor enables the quality of service engine to adhere to a service level agreement; and

at least one physical processor configured to execute the provisioning module, the adding module, and the regulation module, wherein:

the quality of service engine is situated between a hypervisor and network storage;

the lower priority designates replication traffic for replicating data; and

the replication traffic was originally generated by applications that are assigned the higher priority.

12. The system of claim 11 , wherein the two tiers of priority comprise:

a higher priority queue of north-south local user application traffic; and

a lower priority queue of east-west inter-server data center network traffic as distinct from the local user application traffic.

13. The computer-implemented method of claim 1 , wherein the two tiers of priority

comprise a higher priority queue for applications that are categorized as mission critical in terms of the service level agreement.

14. The system of claim 11 , wherein the two tiers of priority comprise a lower priority queue for applications that are categorized as mission non-critical in terms of the service level agreement.

15. The system of claim 11 , wherein the network resource corresponds to at least one of:

storage in the network storage environment;

central processing unit utilization; and

input/output operations per second.

16. The system of claim 11 , wherein the weight value is defined in terms of an integer and a relative proportion of the network resource provided to the application, after satisfying the reservation value, is defined in terms of the integer divided by a totality of weight values that include the weight value and at least one other weight value.

17. The system of claim 11 , wherein:

the reservation value reserves an amount of the network resource for the application;

the limit value limits usage of the network resource by the application to the limit value; and

the weight value defines a relative proportion of the network resource that will be provided to the application in comparison to a competing application after satisfying the reservation value.

18. The system of claim 11 , wherein:

the three separate factors of the reservation value, the limit value, and the weight value, prior to adding the fourth priority factor, ensure an equitable sharing of the network resource but create a potential failure to adhere to the service level agreement; and

the adding module adding the fourth priority factor to the configuration of the quality of service engine effectively prevents the potential failure and guarantees satisfaction of the service level agreement.

19. The system of claim 11 , wherein the regulation module provides, after satisfying a set of applications that were assigned the higher priority, access to a remainder of the network resource to applications that were assigned the lower priority according to the respective weight value.

20. A non-transitory computer-readable medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

provide, in a network storage environment, a quality of service engine to regulate network traffic by assigning three separate factors to applications that are consuming a network resource:

a reservation value;

a limit value; and

a weight value;

add, to a configuration of the quality of service engine, a fourth priority factor that establishes two tiers of priority among applications that generate traffic that is regulated by the quality of service engine; and

regulate, by the quality of service engine based on the fourth priority factor, network traffic in the network storage environment by providing access to the network resource to an application assigned a higher priority over another application assigned a lower priority such that the fourth priority factor enables the quality of service engine to adhere to a service level agreement, wherein:

the quality of service engine is situated between a hypervisor and network storage;

the lower priority designates replication traffic for replicating data; and

the replication traffic was originally generated by applications that are assigned the higher priority.

Assignments (13)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069574/0931 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Jul 10, 2017
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 043141/0403 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2017
From: LIN, DAVID; PENDHARKAR, NIRANJAN; WAKHARE, PRASANNA
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 041771/0880 →