IP Library Granted Patent US 9,055,086
Granted Patent B2
US 9,055,086 · App. 13/338,636 · Granted Jun 9, 2015

System and method for managing data transfer from a data center including bandwidth limits and a flex parameter indicating bandwidth variation between data transfer periods

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,055,086
App. No.
13/338,636
Granted
Jun 9, 2015
Kind
B2
Abstract

An exemplary data transfer manager includes a datacenter configured to communicate over at least one link and a scheduler that is configured to schedule a plurality of jobs for communicating data from the datacenter. The scheduler determines a minimum bandwidth requirement of each job and determines a maximum bandwidth limit of each job. The scheduler determines a flex parameter of each job. The flex parameter indicates how much a data transfer rate can vary between adjacent data transfer periods for the job.

Claims (62)

1. A data transfer manager for managing data transfer from a datacenter configured to communicate over at least one link, comprising:

a scheduler device comprising at least one processor, the scheduler device being configured to schedule a plurality of jobs for communicating data from the datacenter, the scheduler device,

determines a minimum bandwidth requirement of the plurality of jobs, respectively,

determines a maximum bandwidth limit of the plurality of jobs, respectively, and

determines a flex parameter of the plurality of jobs, respectively, the flex parameter indicates how much allocated bandwidth can vary between adjacent data transfer periods for the respective one of the plurality of jobs;

wherein

the scheduler device assigns a deadline to the plurality of jobs, respectively, the assigned deadlines respectively indicating whether there can be any delay in communicating the data of the respective one of the plurality of jobs over the at least one link;

a non-pre-emptible job is a job that has to be allocated at least some bandwidth in a next scheduled data transfer period;

a pre-emptible job is a job that can go without any allocated bandwidth in the next scheduled data transfer period; and

the scheduler schedules the plurality of jobs in the next scheduled data transfer period by

giving priority to any non-re-emptible jobs of the plurality of jobs over any pre-emptible jobs of the plurality of jobs, and

giving priority among non-pre-emptible jobs of the plurality of jobs in an increasing order of flex parameter then in an increasing order of assigned deadline for jobs having the same flex parameter and then in a decreasing order of job size for jobs having the same flex parameter and the same assigned deadline.

2. The data transfer manager of claim 1 , wherein the scheduler schedules any pre-emptible jobs of the plurality of jobs by giving priority among the pre-emptible jobs in increasing order of the deadline and in increasing order of the flex parameter for jobs having the same deadline.

3. The data transfer manager of claim 2 , wherein

the scheduler determines whether there is excess capacity available after the non-pre-emptible jobs have been scheduled; and

the scheduler schedules any pre-emptible jobs in the next scheduled data transfer period if there is excess capacity.

4. The data transfer manager of claim 1 , wherein

the scheduler determines whether an available capacity during the next data transfer period is sufficient to schedule all of the non-pre-emptible jobs; and

the scheduler increases an amount of capacity if the available capacity is insufficient to schedule all of the non-pre-emptible jobs.

5. The data transfer manager of claim 1 , wherein

the scheduler determines an estimated capacity required for non-pre-emptible jobs of the plurality of jobs for each scheduled data transfer period;

the scheduler determines an actual capacity used by non-pre-emptible jobs in each data transfer period;

the scheduler determines a prediction error based on a difference between the estimated capacity and the actual capacity for each data transfer period; and

the scheduler reserves an amount of capacity slack for a next scheduled data transfer period based on the prediction error.

6. The data transfer manager of claim 5 , wherein

the scheduler maintains a list of prediction errors over a selected time; and

the scheduler determines the amount of capacity slack for the next scheduled data transfer period based on a selected percentile of the list of prediction errors.

7. The data transfer manager of claim 5 , wherein

the scheduler determines an average of prediction errors over a selected time; and

the scheduler determines the estimated capacity based on the average.

8. The data transfer manager of claim 7 , wherein the scheduler determines the average as a weighted average wherein the most recent prediction error is more heavily weighted than older prediction errors.

9. A method of managing data transfer from a datacenter configured to communicate over at least one link, comprising

using a scheduler comprising at least one processor for:

determining a minimum bandwidth requirement of a plurality of jobs, respectively,

determining a maximum bandwidth limit of the plurality of jobs, respectively, and

determining a flex parameter of the plurality of jobs, respectively, the flex parameter indicates how much allocated bandwidth can vary between adjacent data transfer periods for the respective one of the plurality of jobs;

assigning a deadline to the plurality of jobs, respectively, the assigned deadlines respectively indicating whether there can be any delay in communicating the data of the respective one of the plurality of jobs over the at least one link;

wherein

a non-pre-emptible job is a job that has to be allocated at least some bandwidth in a next scheduled data transfer period;

a pre-emptible job is a job that can go without any allocated bandwidth in the next scheduled data transfer period; and

the method comprises scheduling the plurality of jobs in the next scheduled data transfer period by

giving priority to any non-re-emptible jobs of the plurality of jobs over any pre-emptible jobs of the plurality of jobs, and

giving priority among non-pre-emptible jobs of the plurality of jobs in an increasing order of flex parameter then in an increasing order of assigned deadline for jobs having the same flex parameter and then in a decreasing order of job size for jobs having the same flex parameter and the same assigned deadline.

10. The method of claim 9 , comprising scheduling any pre-emptible jobs of the plurality of jobs by giving priority among the pre-emptible jobs in increasing order of the deadline and in increasing order of the flex parameter for jobs having the same deadline.

11. The method of claim 10 , comprising

determining whether there is excess capacity available after the non-pre-emptible jobs have been scheduled; and

scheduling any pre-emptible jobs in the next scheduled data transfer period if there is excess capacity.

12. The method of claim 9 , comprising

determining whether an available capacity during the next data transfer period is sufficient to schedule all of the non-pre-emptible jobs; and

increasing an amount of capacity if the available capacity is insufficient to schedule all of the non-pre-emptible jobs.

13. The method of claim 9 , comprising

determining an estimated capacity required for non-pre-emptible jobs of the plurality of jobs for each scheduled data transfer period;

determining an actual capacity used by non-pre-emptible jobs in each data transfer period;

determining a prediction error based on a difference between the estimated capacity and the actual capacity for each data transfer period; and

reserving an amount of capacity slack for a next scheduled data transfer period based on the prediction error.

14. The method of claim 13 , comprising

maintaining a list of prediction errors over a selected time; and

determining the amount of capacity slack for the next scheduled data transfer period based on a selected percentile of the list of prediction errors.

15. The method of claim 13 , comprising

determining an average of prediction errors over a selected time; and

determining the estimated capacity based on the average.

16. The method of claim 15 , comprising determining the average as a weighted average wherein the most recent prediction error is more heavily weighted than older prediction errors.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Jun 3, 2021
From: TERRIER SSC, LLC
To: WSOU INVESTMENTS, LLC
Reel/Frame 056526/0093 →
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP
To: WSOU INVESTMENTS, LLC
Reel/Frame 049246/0405 →
SECURITY INTEREST Recorded May 20, 2019
From: WSOU INVESTMENTS, LLC
To: BP FUNDING TRUST, SERIES SPL-VI
Reel/Frame 049235/0068 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: ALCATEL LUCENT
To: WSOU INVESTMENTS, LLC
Reel/Frame 044000/0053 →
SECURITY INTEREST Recorded Sep 21, 2017
From: WSOU INVESTMENTS, LLC
To: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP
Reel/Frame 043966/0574 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0016 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2013
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 029739/0179 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2012
From: PUTTASWAMY NAGA, KRISHNA P.; NANDAGOPAL, THYAGARAJAN
To: ALCATEL-LUCENT USA INC.
Reel/Frame 027649/0412 →