IP Library › Granted Patent US 9,400,687
Granted Patent B2
US 9,400,687 · App. 14/567,339 · Granted Jul 26, 2016

Method and system for dynamic pool reallocation

Inventors: Arcangelo Di Balsamo (Aprilia, IT); Sandro Piccinini (Rome, IT); Luigi Presti (L'Aquila, IT); Luigi Schiuma (Rome, IT)
Assignee: International Business Machines Corporation
G06F9/4887G06F9/5005
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 9,400,687
App. No.
14/567,339
Granted
Jul 26, 2016
Kind
B2
Abstract

Dynamic pool reallocation performed by the following steps: (i) defining a plurality of resource pools including a first pool and a second pool, where each resource pool has a plurality of assigned resources; (ii) receiving a plurality of jobs to be executed; (iii) for each job of the plurality of jobs, assigning a respective resource pool, of the plurality of resource pools, to be used in completing the job; (iv) determining a preliminary schedule for executing the jobs on their respective resource pools; (v) determining whether the preliminary schedule will cause any jobs to miss service level agreement (SLA) deadlines corresponding to the job; (vi) executing the plurality of jobs on their respectively assigned resource pools; and (vii) re-assigning first resource from the second pool to the first pool during at least some of the time of the execution of the first job by the first resource pool.

Claims (29)

1. A computer program product comprising a computer readable storage medium having stored thereon:

first program instructions programmed to define a plurality of resource pools including a first pool and a second pool, where each resource pool has a plurality of assigned resources;

second program instructions programmed to receive a plurality of jobs to be executed;

third program instructions programmed to for each job of the plurality of jobs, assign a respective resource pool, of the plurality of resource pools, to be used in completing the job;

fourth program instructions programmed to determine a preliminary schedule for executing the jobs on their respective resource pools;

fifth program instructions programmed to determine whether the preliminary schedule is to cause any jobs to miss service level agreement (SLA) deadlines corresponding to the job;

sixth program instructions programmed to execute the plurality of jobs on their respectively assigned resource pools;

seventh program instructions programmed to on condition that a first job, of the plurality of jobs and assigned to the first resource pool, is to miss an associated SLA deadline under the preliminary schedule, re-assign first resource from the second pool to the first pool during at least some of the time of the execution of the first job by the first resource pool; and

eighth program instructions programmed to, after the execution of the first job by the first resource pool, re-assign the first resource back to the second resource pool;

wherein:

the re-assignment of the first resource to the first pool occurs immediately before the execution of the first job; and

the re-assignment of the first resource to the second pool occurs immediately after the execution of the first job.

2. A computer system comprising:

a processor(s) set; and

a computer readable storage medium;

wherein:

the processor set is structured, located, connected and/or programmed to run program instructions stored on the computer readable storage medium; and

the program instructions include:

first program instructions programmed to define a plurality of resource pools including a first pool and a second pool, where each resource pool has a plurality of assigned resources,

second program instructions programmed to receive a plurality of jobs to be executed,

third program instructions programmed to for each job of the plurality of jobs, assign a respective resource pool, of the plurality of resource pools, to be used in completing the job,

fourth program instructions programmed to determine a preliminary schedule for executing the jobs on their respective resource pools,

fifth program instructions programmed to determine whether the preliminary schedule is to cause any jobs to miss service level agreement (SLA) deadlines corresponding to the job,

sixth program instructions programmed to execute the plurality of jobs on their respectively assigned resource pools,

seventh program instructions programmed to on condition that a first job, of the plurality of jobs and assigned to the first resource pool, is to miss an associated SLA deadline under the preliminary schedule, re-assign first resource from the second pool to the first pool during at least some of the time of the execution of the first job by the first resource pool, and

eighth program instructions programmed to, after the execution of the first job by the first resource pool, re-assign the first resource back to the second resource pool,

wherein:

the re-assignment of the first resource to the first pool occurs immediately before the execution of the first job; and

the re-assignment of the first resource to the second pool occurs immediately after the execution of the first job.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2014
From: DI BALSAMO, ARCANGELO; PICCININI, SANDRO; PRESTI, LUIGI; SCHIUMA, LUIGI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 034480/0642 →
Continuity (1)
Related Publication 20160170800A1 · Jun 16, 2016