IP Library Granted Patent US 8,185,903
Granted Patent B2
US 8,185,903 · App. 11/956,167 · Granted May 22, 2012

Managing system resources

Assignee: International Business Machines Corporation
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 8,185,903
App. No.
11/956,167
Granted
May 22, 2012
Kind
B2
Abstract

A computer implemented method, apparatus, and computer usable program product for system management. The process schedules a set of application tasks to form a schedule of tasks in response to receiving the set of application tasks from a registration module. The process then performs a feasibility analysis on the schedule of tasks to identify periods of decreased system activity. Thereafter, the process schedules a set of system management tasks during the periods of decreased system activity to form a prioritized schedule of tasks.

Claims (60)

1. A computer implemented method for system management, the computer implemented method comprising:

responsive to receiving a set of application tasks from a registration module during application run-time, registering the set of application tasks and a set of system management tasks to form a schedule of tasks based on a set of policies stored in a policy database,

wherein the set of policies comprises a type of a task, an importance of the task, and a probable time to complete the task,

wherein the set of application tasks comprises a set of one or more sub-processes of an application to perform in order to execute the application, and

wherein the set of system management tasks comprises a set of one or more tasks performed to maintain and manage system resources and facilitate operation of an operating system and the application;

performing a feasibility analysis on the schedule of tasks to evaluate the schedule of tasks to:

determine if the schedule of tasks can execute within constraints specified in the set of policies, and

determine an order to execute the schedule of tasks by, identifying periods of decreased system activity, wherein the periods of decreased activity comprises of blocks of time within the schedule of tasks where no application task is currently scheduled to execute, within which to order the schedule of tasks to execute a system management task within the set of system management tasks;

generating a prioritized schedule of tasks to execute in order based on the feasibility analysis that identifies an order for completing each task in the prioritized schedule of tasks;

wherein priorities are assigned to each task in the prioritized schedule of tasks according to a scheduling policy; and

wherein the set of system management tasks further comprises at least one of garbage collection and compiling.

2. The computer implemented method of claim 1 , further comprising:

responsive to receiving an asynchronous event task with a higher priority than a scheduled task on the prioritized schedule of tasks, preempting the scheduled task having a lower priority.

3. The computer implemented method of claim 1 wherein the set of application tasks and the set of system management tasks are scheduled during the generation of the prioritized schedule of tasks according to a set of execution details, and wherein the execution details comprise a period of a task in the schedule of tasks and a duration of the task in the schedule of tasks.

4. The computer implemented method of claim 1 , wherein the prioritized schedule of tasks further identifies a period of execution for completing each task in the prioritized schedule of tasks.

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

presenting results of the feasibility analysis to a user.

6. A computer program product comprising:

computer recordable storage media including computer usable program code for system management, the computer program product comprising:

computer usable code for registering a set of application tasks and a set of system management tasks during application run-time to form a schedule of tasks based on a set of policies stored in a policy database,

wherein the set of policies comprises a type of a task, an importance of the task, and a probable time to complete the task,

wherein the set of application tasks comprises a set of one or more sub-processes of an application to perform in order to execute the application, and

wherein the set of system management tasks comprises a set of one or more tasks performed to maintain and manage system resources and facilitate operation of an operating system and the application;

computer usable code for performing a feasibility analysis on the schedule of tasks to evaluate the schedule of tasks to:

determine if the schedule of tasks can execute within constraints specified in the set of policies, and

determine an order to execute the schedule of tasks by, identifying periods of decreased system activity, wherein the periods of decreased activity comprises of blocks of time within the schedule of tasks where no application task is currently scheduled to execute, within which to order the schedule of tasks to execute a system management task within the set of system management tasks;

generating a prioritized schedule of tasks to execute in order based on the feasibility analysis that identifies an order for completing each task in the prioritized schedule of tasks;

wherein priorities are assigned to each task in the prioritized schedule of tasks according to a scheduling policy; and

wherein the set of system management tasks further comprises at least one of garbage collection and compiling.

7. The computer program product of claim 6 , further comprising:

computer usable program code for preempting the scheduled task having a lower priority in response to receiving an asynchronous event task with a higher priority than a scheduled task on the prioritized schedule of tasks.

8. The computer program product of claim 6 , wherein the set of application tasks and the set of system management tasks are scheduled during the generation of the prioritized schedule of tasks according to a set of execution details, and wherein the execution details comprise a period of a task in the schedule of tasks and a duration of the task in the schedule of tasks.

9. The computer program product of claim 6 , wherein the prioritized schedule of tasks further identifies a period of execution for completing each task in the prioritized schedule of tasks.

10. The computer program product of claim 6 , further comprising:

presenting results of the feasibility analysis to a user.

11. An apparatus comprising:

a processor unit comprised of at least one processor connected to a memory storing program code, wherein the processor unit executes the program code comprising:

a registration module, wherein the registration module registers a set of application tasks during application run-time; and

an active scheduler, wherein the active scheduler generates a prioritized schedule of tasks from the set of application tasks and a set of system management tasks, the active scheduler,

performing a feasibility analysis on a schedule of tasks created from the set of application tasks and the set of system management tasks based on a set of policies stored in a policy database to determine if the schedule of tasks can execute within constraints specified in the set of policies stored in the database and to determine an order to execute the schedule of tasks in,

identifying periods of decreased system activity, wherein the periods of decreased activity comprise blocks of time within the schedule of tasks where no application task is scheduled to execute, within which the active scheduler orders the schedule to execute a system management task within the set of system management tasks, and

generating a prioritized schedule of tasks to execute in order based on the feasibility analysis that identifies an order for completing each task in the prioritized schedule of tasks;

wherein priorities are assigned to each task in the prioritized schedule of tasks according to a scheduling policy; and

wherein the set of system management tasks comprises at least one of garbage collection and compiling.

12. The apparatus of claim 11 , further comprising:

an asynchronous event handler, wherein the asynchronous event handler registers a set of asynchronous event tasks.

13. The apparatus of claim 11 , further comprising:

a scheduling policy database, wherein the scheduling policy database stores a set of rules for assigning priorities to tasks in the prioritized schedule of tasks.

14. An apparatus for managing system resources, the apparatus comprising:

a bus system,

memory connected to the bus system, wherein the memory includes computer usable program code; and

a processing unit connected to the bus system, wherein the processing unit executes the computer usable program code to register a set of application tasks during application run-time and a set of system management tasks to form a schedule based on a set of policies stored in a policy database,

wherein the set of policies comprises a type of a task, an importance of the task, and a probable time to complete the task,

wherein the set of application tasks comprises a set of one or more sub-processes of an application to perform in order to execute the application, and

wherein the set of system management tasks comprises a set of one or more tasks performed to maintain and manage system resources and facilitate operation of an operating system and the application; and

perform a feasibility analysis on the schedule of tasks to determine if the schedule of tasks can execute within constraints specified in the set of policies stored in the database and to:

determine an order to execute the schedule of tasks by, identifying periods of decreased system activity, wherein the periods of decreased activity comprise blocks of time within the schedule of tasks where no application task is scheduled to execute, within which the active scheduler orders the schedule to execute a system management task within the set of system management tasks; and

generate a prioritized schedule of tasks to execute in order based on the feasibility analysis that identifies an order for completing each task in the prioritized schedule of tasks;

wherein priorities are assigned to each task in the prioritized schedule of tasks according to a scheduling policy; and

wherein the set of system management tasks further comprises at least one of garbage collection and compiling.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2007
From: FULTON, MIKE STEPHEN; STOODLEY, MARK GRAHAM
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020256/0208 →
Continuity (1)
Related Publication 20090158288A1 · Jun 18, 2009