IP Library Granted Patent US 7,490,325
Granted Patent B2
US 7,490,325 · App. 10/589,339 · Granted Feb 10, 2009

System and method for providing intelligent pre-staging of data in a compute environment

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 7,490,325
App. No.
10/589,339
Granted
Feb 10, 2009
Kind
B2
Abstract

A system, computer-readable medium and method for performing intelligent data pre-staging for a job submitted to a cluster environment. The method aspect comprises determining availability of compute resources including availability timeframes to process the submitted job, determining data requirements for processing the job and determining a co-allocation in time reservation.

Claims (52)

1. A computer-implemented method of performing intelligent data pre-staging for a job submitted to a compute environment, the method comprising:

determining availability of compute resources in a cluster or grid environment including availability timeframes of the compute resources to process the submitted job;

determining data requirements for processing the job;

determining a co-allocation in time reservation by:

(1) requesting resources for a first step in the job process based on the determined availability and/or the determined data requirements;

(2) calculating existing resource guarantees and reservations already in place to create an availability range list;

(3) converting the availability range list into a start range list;

(4) requesting another resource for a next step in the job process and returning to step (2) until all resources for all steps in the job process are requested;

(5) shifting start ranges in the start range list by an offset and performing an intersection operation on a combination start range;

(6) shifting the start ranges back by a negative of the offset, wherein resulting information provides when to start each reservation;

(7) presenting to a user a final list of selectable starting times for a reservation; and

(8) upon receiving a user selection of a reservation start time, establishing a co-allocation in time reservation for resources for an appropriate start time; and

performing data pre-staging based on the co-allocation in time reservation and prior to processing the job in the compute environment.

2. The computer-implemented method of claim 1 , wherein the data requirements relate to a quantity of data and a speed of migration of the data to the compute resources.

3. The computer-implemented method of claim 1 , wherein the data requirement for processing the job are at least one of: network information, network speed, faults, statistical fluctuation, delivered bandwidth by the network and size.

4. The computer-implemented method of claim 1 , wherein the compute resources must be available prior to the completion of data pre-staging.

5. The computer-implemented method of claim 1 , wherein the range list indicates all the availability time frames.

6. A system for performing intelligent data pre-staging for a job submitted to a compute environment, the system comprising:

a processor;

a module configured to control the processor to determine availability of compute resources in a cluster or grid environment including availability timeframes to process the submitted job;

a module configured to control the processor to determine data requirements for processing the job;

a module configured to determine a co-allocation in time reservation, the module determining the co-allocation in time reservation by:

(1) requesting resources for a first step in the job process based on the determined availability and/or the determined data requirements;

(2) calculating existing resource guarantees and reservations already in place to create an availability range list;

(3) converting the availability range list into a start range list;

(4) requesting another resource for a next step in the job process and returning to step (2) until all resources for all steps in the job process are requested;

(5) shifting start ranges in the start range list by an offset and performing an intersection operation on a combination start range;

(6) shifting the start ranges back by a negative of the offset, wherein resulting information provides when to start each reservation;

(7) presenting to a user a final list of selectable starting times for a reservation; and

(8) upon receiving a user selection of a reservation start time, establishing a co-allocation in time reservation for resources for an appropriate start time; and

a module configured to control the processor to perform data pre-staging based on the co-allocation in time reservation and prior to processing the job in the compute environment.

7. The system of claim 6 , wherein the data requirements relate to a quantity of data and a speed of migration of the data to the compute resources.

8. The system of claim 6 , wherein the data requirement for processing the job are at least one of: network information, network speed, faults, statistical fluctuation, delivered bandwidth by the network and size.

9. The system of claim 6 , wherein the compute resources must be available prior to the completion of data pre-staging.

10. The system of claim 6 , wherein the range list indicates all the availability time frames.

11. A computer-readable medium containing instructions for controlling a computing device to perform intelligent data pre-staging for a job submitted to a compute environment, the instructions comprising:

determining availability of compute resources in a cluster or grid environment including availability timeframes of the compute resources to process the submitted job;

determining data requirements for processing the job;

determining a co-allocation in time reservation by:

(1) requesting resources for a first step in the job process based on the determined availability and/or the determined data requirements;

(2) calculating existing resource guarantees and reservations already in place to create an availability range list;

(3) converting the availability range list into a start range list;

(4) requesting another resource for a next step in the job process and returning to step (2) until all resources for all steps in the job process are requested;

(5) shifting start ranges in the start range list by an offset and performing an intersection operation on a combination start range;

(6) shifting the start ranges back by a negative of the offset, wherein resulting information provides when to start each reservation;

(7) presenting to a user a final list of selectable starting times for a reservation; and

(8) upon receiving a user selection of a reservation start time, establishing a co-allocation in time reservation for resources for an appropriate start time; and

performing data pre-staging based on the co-allocation in time reservation and prior to processing the job in the compute environment.

12. The computer-readable medium of claim 11 , wherein the data requirements relate to a quantity of data and a speed of migration of the data to the compute resources.

13. The computer-readable medium of claim 11 , wherein the data requirement for processing the job are at least one of: network information, network speed, faults, statistical fluctuation, delivered bandwidth by the network and size.

14. The computer-readable medium of claim 11 , wherein the compute resources must be available prior to the completion of data pre-staging.

15. The computer-readable medium of claim 11 , wherein the range list indicates all the availability time frames.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2018
From: SILICON VALLEY BANK
To: ADAPTIVE COMPUTING ENTERPRISES, INC
Reel/Frame 045949/0257 →
CONFIRMATORY ASSIGNMENT Recorded Jul 25, 2017
From: JACKSON, DAVID B.
To: CLUSTER RESOURCES, INC.
Reel/Frame 043319/0923 →
CHANGE OF NAME Recorded Jul 7, 2017
From: CLUSTER RESOURCES, INC.
To: ADAPTIVE COMPUTING ENTERPRISES, INC.
Reel/Frame 043108/0176 →
MERGER Recorded Jul 7, 2017
From: ADAPTIVE COMPUTING ENTERPRISES, INC. (UT)
To: ADAPTIVE COMPUTING ENTERPRISES, INC (DE)
Reel/Frame 043108/0283 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2016
From: ADAPTIVE COMPUTING ENTERPRISES, INC.
To: III HOLDINGS 12, LLC
Reel/Frame 040671/0421 →
SECURITY INTEREST Recorded May 11, 2015
From: ADAPTIVE COMPUTING ENTERPRISES, INC.
To: SILICON VALLEY BANK
Reel/Frame 035634/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2014
From: JACKSON, DAVID B.
To: CLUSTER RESOURCES, INC.
Reel/Frame 034410/0619 →
CHANGE OF NAME Recorded Jun 15, 2010
From: CLUSTER RESOURCES, INC.
To: ADAPTIVE COMPUTING ENTERPRISES, INC.
Reel/Frame 024539/0242 →