Prioritizing tasks from virtual machines
First Claim
1. A computer-implemented method for prioritizing tasks from virtual machines, the computer-implemented method comprising:
- receiving, from a task scheduling agent within a first virtual machine, a request to perform a first task of an application, wherein;
the request comprises priority information,the request is received at a scheduling module of a hypervisor that manages the first virtual machine,the priority information comprises an identifier of a resource needed to execute the first task,and the task scheduling agent sends the request to the scheduling module before the first task is sent to the hypervisor for execution;
determining a priority of the first task based on the priority information by predicting future availability of the resource, wherein predicting the future availability of the resource comprises tracking use of the resource to identify a performance metric of the resource;
scheduling the first task based on the priority of the first task by evaluating the performance metric of the resource;
selecting, based on the scheduling, the first task for execution;
notifying the task scheduling agent within the first virtual machine that the first task has been selected for execution.
7 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method for prioritizing virtual machine tasks may include receiving a request to perform a first task from a virtual machine. The request may include information relevant to determining a priority of the task. The method may include determining the priority of the task based on the information. The method may further include scheduling the first task based on the priority of the task. The method may include selecting the first task for execution based on the scheduling. The method may include notifying the virtual machine that the first task has been selected for execution. Various related methods, computer-readable media, and systems are also disclosed.
47 Citations
20 Claims
-
1. A computer-implemented method for prioritizing tasks from virtual machines, the computer-implemented method comprising:
-
receiving, from a task scheduling agent within a first virtual machine, a request to perform a first task of an application, wherein; the request comprises priority information, the request is received at a scheduling module of a hypervisor that manages the first virtual machine, the priority information comprises an identifier of a resource needed to execute the first task, and the task scheduling agent sends the request to the scheduling module before the first task is sent to the hypervisor for execution; determining a priority of the first task based on the priority information by predicting future availability of the resource, wherein predicting the future availability of the resource comprises tracking use of the resource to identify a performance metric of the resource; scheduling the first task based on the priority of the first task by evaluating the performance metric of the resource; selecting, based on the scheduling, the first task for execution; notifying the task scheduling agent within the first virtual machine that the first task has been selected for execution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method for prioritizing virtual machine tasks, the computer-implemented method comprising:
-
identifying a first task within a virtual machine that is managed by a hypervisor, the identifying being performed by a task scheduling agent within the virtual machine; sending, from the task scheduling agent to the hypervisor, a request to perform the first task, wherein the request comprises priority information and the request is sent by the task scheduling agent before the first task is sent to the hypervisor for execution; determining, at a scheduling module in the hypervisor, that a security threat level is high, wherein the security threat level indicates a security threat relevant to a computing system that comprises the hypervisor and the virtual machine; determining, at the scheduling module and based on the priority information, that the first task is security related; scheduling, at the scheduling module, the first task comprises giving the first task priority over one or more other tasks based on the security threat level being high and the first task being security related; receiving, at the task scheduling agent, a notification that the first task has been selected for execution. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer-implemented method for prioritizing tasks from virtual machines, the computer-implemented method comprising:
-
receiving, from a task scheduling agent within a virtual machine, a request to perform a task, wherein the request comprises priority information, the request is received at a scheduling module of a hypervisor that manages the virtual machine, the priority information comprises an identifier of a resource needed to execute the task, and the task scheduling agent sends the request to the scheduling module before the task is sent to the hypervisor for execution; determining a priority of the task based on the priority information by predicting future availability of the resource, wherein predicting the future availability of the resource comprises tracking use of the resource to identify a performance metric of the resource; scheduling the task based on the priority of the task by evaluating the performance metric of the resource. - View Dependent Claims (17, 18, 19, 20)
-
Specification