IP Library Granted Patent US 11,599,374
Granted Patent B2
US 11,599,374 · App. 16/458,836 · Granted Mar 7, 2023

System and method for providing preferential I/O treatment to devices that host a critical virtual machine

Inventors: Hari Krishna Vemuri (Pune, IN); Shweta Goyal (Pune, IN); Nirendra Awasthi (Pune, IN)
Assignee: Veritas Technologies LLC
G06F9/45558G06F9/5044H04L41/5022H04L67/1097H04L67/61G06F2009/45579
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,599,374
App. No.
16/458,836
Granted
Mar 7, 2023
Kind
B2
Abstract

Quality of service is provided to prioritized VMs and applications, based on the varied quality of different shared computing resources. Each VM or application has an associated priority. A quality rating is dynamically assigned to each shared computing resource. Requests for shared computing resources made by specific VMs or applications are received. For each specific received request, the current priority of the requesting VM or application is identified. In response to each received request, a specific shared computing resource is assigned to the specific requesting VM or application. This assignment is made based on the current priority of the requesting VM or application and the current quality rating of the shared computing resource, thereby providing quality of service to the requesting VM or application corresponding to its current priority.

Claims (68)

1. A computer-implemented method comprising:

periodically calculating and assigning a current quality rating to a shared computing resource, wherein the current quality rating relates to a quality of service the shared computing resource can provide at the time the current quality rating is assigned, and wherein the current quality rating is calculated based on values that represent a plurality of factors, respectively, at the time the current quality rating is assigned, wherein the plurality of factors includes at least one of memory, storage capacity, latency, and input/output (I/O) bandwidth, and wherein the shared computing resource is accessible by a plurality of virtual machines;

receiving first and second requests for the shared computing resource from a first virtual machine (VM) and a second VM, respectively, from among the plurality of virtual machines, wherein the first VM is associated with a first priority rating, and wherein the second VM is associated with a second priority rating;

assigning first and second quality ratings to the first and second requests, respectively, based on the first and second priority ratings, respectively;

comparing the first and second quality ratings to the current quality rating for the shared resource;

assigning the shared computing resource to the first VM based on the comparison, of the first and second quality ratings to the current quality rating for the shared resource, producing a closer correspondence between the first VM and the current quality rating.

2. The computer-implemented method of claim 1 , wherein

the first priority rating of the first VM is based, at least in part, on a service level agreement (SLA), and

the SLA specifies a minimum level of service associated with the first VM.

3. The computer-implemented method of claim 1 , wherein

the plurality of factors related to the shared computing resource comprises a static factor.

4. The computer-implemented method of claim 1 , wherein

the plurality of factors related to the shared computing resource comprises a dynamic factor.

5. The computer-implemented method of claim 4 , further comprising:

periodically evaluating the shared computing resource, wherein

each evaluation of the shared computing resource comprises determining whether the dynamic factor has changed since a previous evaluation of the dynamic factor;

in response to determining that the dynamic factor has changed since the previous evaluation, updating the current quality rating for the shared computing resource; and

subsequent to updating the current quality rating for the shared computing resource, assigning a different shared computing resource to the first VM, wherein

the different shared computing resource is assigned to the first VM in order to maintain a minimum level of service associated with the first VM.

6. The computer-implemented method of claim 5 , wherein

the specific level of service associated with the first VM is based on a service level agreement (SLA).

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

the shared computing resource is one of a plurality of shared computing resources that are accessible by the first VM.

8. A non-transitory computer-readable storage medium comprising program instructions executable to perform a method comprising:

periodically calculating and assigning a current quality rating to a shared computing resource, wherein the current quality rating of the shared computing resource relates to a quality of service the shared computing resource can provide at the time the current quality rating is assigned, and wherein the current quality rating is calculated based on values that represent a plurality of factors, respectively, at the time the current quality rating is assigned, wherein the plurality of factors includes at least one of memory, storage capacity, latency, and input/output (I/O) bandwidth, and wherein the shared computing resource is accessible by a plurality of virtual machines;

receiving first and second requests for the shared computing resource

from a first virtual machine (VM) and a second VM, respectively, from among the plurality of virtual machines, wherein the first VM is associated with a first priority rating, and wherein the second VM is associated with a second priority rating;

assigning first and second quality ratings to the first and second requests, respectively, based on the first and second priority ratings, respectively;

comparing the first and second quality ratings to the current quality rating for the shared resource;

assigning the shared computing resource to the first VM based on the comparison, of the first and second quality ratings to the current quality rating for the shared resource, producing a closer correspondence between the first VM and the current quality rating.

9. The non-transitory computer-readable storage medium of claim 8 , wherein

the priority rating of the first VM is based, at least in part, on a service level agreement (SLA), and

the SLA specifies a minimum level of service associated with the first VM.

10. The non-transitory computer-readable storage medium of claim 8 , wherein

the plurality of factors related to the shared computing resource comprises at least one of:

a static factor, and

a dynamic factor.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the method further comprises:

periodically evaluating the shared computing resource, wherein

each evaluation of the shared computing resource comprises determining whether the dynamic factor has changed since a previous evaluation of the dynamic factor;

in response to determining that the dynamic factor has changed since the previous evaluation, updating the current quality rating for the shared computing resource; and

subsequent to updating the current quality rating for the shared computing resource, assigning a different shared computing resource to the first VM, wherein

the different shared computing resource is assigned to the first VM in order to maintain a minimum level of service associated with the first VM.

12. The non-transitory computer-readable storage medium of claim 11 , wherein

the specific level of service associated with the requesting VM is based on a service level agreement (SLA).

13. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable to perform a method comprising:

periodically calculating and assigning a current quality rating to a shared computing resource, wherein the current quality rating of the shared computing resource relates to the quality of service the shared computing resource can provide at the time the current quality rating is assigned, and wherein the current quality rating is calculated based on values that represent a plurality of factors, respectively, at the time the current quality rating is assigned, wherein the plurality of factors includes at least one of memory, storage capacity, latency, and input/output (I/O) bandwidth, and wherein the shared computing resource is accessible by a plurality of virtual machines;

receiving first and second requests for the shared computing resource

from a first virtual machine (VM) and a second VM, respectively, from among the plurality of virtual machines, wherein the first VM is associated with a first priority rating, and wherein the second VM is associated with a second priority rating;

assigning first and second quality ratings to the first and second requests, respectively, based on the first and second priority ratings, respectively;

comparing the first and second quality ratings to the current quality rating for the shared resource;

assigning the shared computing resource to the first VM based on the comparison, of the first and second quality ratings to the current quality rating for the shared resource, producing a closer correspondence between the first VM and the current quality rating.

14. The system of claim 13 , wherein

the priority rating of the first VM is based, at least in part, on a service level agreement (SLA), and

the SLA specifies a minimum level of service associated with the requesting VM.

15. The system of claim 13 , wherein

the plurality of factors related to the shared computing resource comprises at least one of:

a static factor, and

a dynamic factor.

16. The system of claim 15 , wherein the method further comprises:

periodically evaluating the shared computing resource, wherein

each evaluation of the shared computing resource comprises determining whether the dynamic factor has changed since a previous evaluation of the dynamic factor;

in response to determining that the dynamic factor has changed since the previous evaluation, updating the current quality rating for the shared computing resource; and

subsequent to updating the current quality rating for the shared computing resource, assigning a different shared computing resource to the first VM, wherein

the different shared computing resource is assigned to the first VM in order to maintain a minimum level of service associated with the first VM, and

the specific level of service associated with the requesting VM is based on a service level agreement (SLA).

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 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
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 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069697/0238 →
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 →
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 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
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 Mar 18, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 052189/0311 →
Continuity (3)
Continuation 15364667 · Nov 30, 2016
Continuation 13720566 · Dec 19, 2012
Related Publication 20190347122A1 · Nov 14, 2019