US2006250977A1PendingUtilityA1

Method and apparatus for determining data center resource availablilty using multiple time domain segments

Assignee: IBMPriority: May 4, 2005Filed: May 4, 2005Published: Nov 9, 2006
Est. expiryMay 4, 2025(expired)· nominal 20-yr term from priority
H04L 47/70H04L 47/822H04L 47/724H04L 47/826
45
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method, an apparatus, and computer instructions are provided for determining data center resource availability using multiple time domain segments. A reservation class is provided that includes a start time, duration and the number of units required. A scheduled resource class is provided with an availability and an available method. The availability method creates a set of segments for a list of reservations and iterates each segment to determine whether there are enough resources for the required units. The availability method then combines all adjacent reservations and removes reservations that are too short for the duration. The available method provides a way for user to determine if resources are available at and for a given time. A composite resource class is also provided for more than one scheduled resource with an availability and available method.

Claims

exact text as granted — not AI-modified
1 . A method in a data processing system for determining data center resources availability, the method comprising: 
 responsive to a query for a list of resource availabilities, creating a set of segments for a list of reservations;    determining, for each segment in the set, if resources are available based on a number of required resources of the query;    if resources are available, combining adjacent reservations and removing from the list of resource availabilities reservations having shorter durations than duration of the query to form a final list of resource availabilities; and    returning the final list of resource availabilities.    
   
   
       2 . The method of  claim 1 , wherein the list of reservations includes resources that have been made against a pool.  
   
   
       3 . The method of  claim 1 , wherein the determining step comprises: 
 determining if a number of available resources is one of greater than and equal to a sum of the number of required resources of the query and a number of allocated resources;    creating a first new reservation entry for duration of each segment if the number of available resources is one of greater than and equal to the sum of the number of required resources of the query and a number of allocated resources; and    adding the first new reservation entry to the list of resource availabilities.    
   
   
       4 . The method of  claim 3 , wherein the combining step comprises: 
 determining, for each first new reservation entry in the list of resource availabilities, if end time of the first new reservation entry is equal to start time of next reservation entry in the list;    creating a second new reservation entry for a combined duration of the new reservation entry and the next reservation entry; and    setting the second new reservation entry as the new reservation entry in the list.    
   
   
       5 . The method of  claim 1 , wherein the removing step comprises: 
 determining, for each new reservation entry in the list, if duration of the new reservation entry is shorter duration than the duration of the query; and    if duration of the new reservation entry is shorter duration than the duration of the query, removing the new reservation entry from the list.    
   
   
       6 . The method of  claim 1 , further comprising: 
 responsive to a request for resource availability of a given time, determining if sufficient resources are available for the request; and    returning a true if sufficient resources are available.    
   
   
       7 . The method of  claim 1 , further comprising: 
 responsive to a query for a list of resource availabilities for a composite resource, creating a list of resource availabilities for the list of reservations;    setting a first resource availability from the list of resource availabilities as a current intersection candidate; and    identifying, for each resource availability in the list of resource availabilities, a list of intersections of the current intersection candidate and each resource availability.    
   
   
       8 . The method of  claim 7 , wherein the identifying step comprises: 
 identifying, for each intersection of the current intersection candidate, an intersection where the current intersection candidate overlaps with each resource availability by invoking an overlaps method.    
   
   
       9 . The method of  claim 8 , wherein the identifying step for identifying an intersection comprises: 
 identifying, for each resource availability in the list of resource availabilities, an intersection of the current intersection candidate and each resource availability.    
   
   
       10 . A data processing system comprising: 
 a bus;    a memory connected to the bus, wherein a set of instructions are located in the memory; and    a processing unit connected to the bus, wherein the processing unit executes the set of instructions to create a set of segments for a list of reservations; determine, for each segment in the set, if resources are available based on a number of required resources of the query; combine adjacent reservations and remove from the list of resource availabilities reservations having shorter durations than duration of the query if resources are available to form a final list of resource availabilities; and return the final list of resource availabilities.    
   
   
       11 . The data processing system of  claim 10 , wherein the processing unit, in executing the set of instructions to determine if resources are available, determines if a number of available resources is one of greater than and equal to a sum of the number of required resources of the query and a number of allocated resources; creates a first new reservation entry for duration of each segment if the number of available resources is one of greater than and equal to the sum of the number of required resources of the query and the number of allocated resources; and adds the first new reservation entry to the list of resource availabilities.  
   
   
       12 . The data processing system of  claim 11 , wherein the processing unit, in executing the set of instructions to combine adjacent reservations, determines, for each first new reservation entry in the list of resource availabilities, if end time of the first new reservation entry is equal to start time of next reservation entry in the list; creates a second new reservation entry for a combined duration of the new reservation entry and the next reservation entry; and sets the second new reservation entry as the new reservation entry in the list.  
   
   
       13 . The data processing system of  claim 12 , wherein the processing unit, in executing the set of instructions to remove from the list of resource availabilities reservations having shorter durations than duration of the query step, determines, for each new reservation entry in the list, if duration of the new reservation entry is shorter duration than duration of the query; and removes the new reservation entry from the list if duration of the new reservation entry is shorter duration than the duration of the query.  
   
   
       14 . The data processing system of  claim 10 , wherein the processing unit further executes the set of instructions to create a list of resource availabilities for the list of reservations responsive to a query for a list of resource availabilities for a composite resource; set a first resource availability from the list of resource availabilities as a current intersection candidate; and identify, for each resource availability in the list of resource availabilities, a list of intersections of the current intersection candidate and each resource availability.  
   
   
       15 . A computer program product in a computer readable medium for determining data center resources availability, the computer program product comprising: 
 first instructions for creating a set of segments for a list of reservations responsive to a query for a list of resource availabilities;    second instructions for determining, for each segment in the set, if resources are available based on a number of required resources of the query;    third instructions for combining adjacent reservations and removing from the list of resource availabilities reservations having shorter durations than duration of the query if resources are available to form a final list of resource availabilities; and    fourth instructions for returning the final list of resource availabilities.    
   
   
       16 . The computer program product of  claim 1 , wherein the second instructions comprises: 
 first sub-instructions for determining if a number of available resources is one of greater than and equal to a sum of the number of required resources of the query and a number of allocated resources;    second sub-instructions for creating a first new reservation entry for duration of each segment if the number of available resources is one of greater than and equal to the sum of the number of required resources of the query and the number of allocated resources; and    third sub-instructions for adding the first new reservation entry to the list of resource availabilities.    
   
   
       17 . The computer program product of  claim 16 , wherein the third instructions comprises: 
 first sub-instructions for determining, for each first new reservation entry in the list of resource availabilities, if end time of the first new reservation entry is equal to start time of next reservation entry in the list;    second sub-instructions for creating a second new reservation entry for a combined duration of the new reservation entry and the next reservation entry; and    third sub-instructions for setting the second new reservation entry as the new reservation entry in the list.    
   
   
       18 . The computer program product of  claim 17 , wherein the third instructions further comprises: 
 fourth sub-instructions for determining, for each new reservation entry in the list, if duration of the new reservation entry is shorter duration than duration of the query; and    fifth sub-instructions for removing the new reservation entry from the list if duration of the new reservation entry is shorter duration than the duration of the query.    
   
   
       19 . The computer program product of  claim 15 , further comprising: 
 fifth instructions for creating a list of resource availabilities for the list of reservations, responsive to a query for a list of resource availabilities for a composite resource;    sixth instructions for setting a first resource availability from the list of resource availabilities as a current intersection candidate; and    seventh instructions for identifying, for each resource availability in the list of resource availabilities, a list of intersections of the current intersection candidate and each resource availability.

Join the waitlist — get patent alerts

Track US2006250977A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.