USRE45593EExpiredUtility

System and method for providing object triggers

54
Assignee: ADAPTIVE COMPUTING ENTPR INCPriority: Mar 13, 2004Filed: Mar 11, 2005Granted: Jun 30, 2015
Est. expiryMar 13, 2024(expired)· nominal 20-yr term from priority
G06F 9/505G06F 15/161G06F 2209/5014G06F 2209/503G06F 2209/5015G06F 9/5072G06F 2209/508G06F 2209/506G06F 9/5027G06F 2209/5022G06F 9/4881G06F 9/5011
54
PatentIndex Score
0
Cited by
25
References
37
Claims

Abstract

The present invention provides for systems and methods of dynamically controlling a cluster or grid environment. The method comprises attaching a trigger to an object and firing the trigger based on a trigger attribute. The cluster environment is modified by actions initiated when the trigger is fired. Each trigger has trigger attributes that govern when it is fired and actions it will take. The use of triggers enables a cluster environment to dynamically be modified with arbitrary actions to accommodate needs of arbitrary objects. Example objects include a compute node, compute resources, a cluster, groups of users, user credentials, jobs, resources managers, peer services and the like.

Claims

exact text as granted — not AI-modified
I claim: 
     
       1. A method comprising:
 attaching a trigger to a job that is associated with a reservation of compute resources; and 
 firing the trigger based on a trigger attribute, wherein the a compute environment is modified by an action that is initiated when the trigger is fired, wherein the compute environment is managed by a workload manager that reserves, at a first time, the compute resources in the compute environment to yield the reservation, and wherein the job consumes the compute resources associated with the reservation at a second time which is later than the first time. 
 
     
     
       2. The method of  claim 1 , wherein the compute environment is one of a compute farm, a cluster and a grid. 
     
     
       3. The method of  claim 1 , wherein modifying the compute environment further comprises at least one of modifying interfaces, sending a notification, destroying or modifying the an object, adjusting policies, setting variables, creating files, executing scripts, provisioning nodes and utilizing a resource management service. 
     
     
       4. The method of  claim 1 , wherein attaching the trigger further comprises attaching the trigger to at least one of the reservation, a node, a user, a group of users, an administrator, an account, a QOS, a peer service, a class, a partition and a cluster. 
     
     
       5. The method of  claim 1 , wherein the trigger attribute is one of an event type, a timeout, an offset time, an action, a dependency, an action argument, a trigger state, an arbitrary input or output variable, a re-arm time and a duration. 
     
     
       6. The method of  claim 5 , wherein if the trigger attribute is an event type, the event type is one of: the creation of the object, the starting, execution, modification, detection of failure, cancellation or termination of the object or an object state. 
     
     
       7. The method of  claim 1 , wherein modifying the compute environment when the trigger is fired further comprises utilizing data from the fired trigger to fire a second trigger. 
     
     
       8. The method of  claim 7 , wherein the data from the fired trigger relates setting variables causes the second trigger to fire. 
     
     
       9. The method of  claim 7 , wherein the data from the fired trigger can further cause a plurality of triggers to fire. 
     
     
       10. The method of  claim 7 , wherein the data relates to one of a threshold, a re-arm time, a time-out parameter and a duration. 
     
     
       11. The method of  claim 1 , wherein the action that is initiated when the trigger fires comprises obtaining data from a remote source. 
     
     
       12. The method of  claim 11 , wherein the remote source is the Internet. 
     
     
       13. The method of  claim 1 , wherein the action that is initiated when the trigger fires comprises updating a database. 
     
     
       14. The method of  claim 1 , wherein the action initiated when the trigger fires is based on a dynamic variable received via an argument list. 
     
     
       15. The method of  claim 1 , wherein the trigger attribute is a threshold value. 
     
     
       16. The method of  claim 15 , wherein the threshold value relates to one of: a quality of service, a queue time being exceeded and system performance. 
     
     
       17. The method of  claim 16 , wherein system performance is related to at least one of CPU load, disk activity, network usage and memory usage. 
     
     
       18. The method of  claim 15 , wherein the threshold value relates to one of: individual user parameters, group parameters, job parameters, administrative parameters and credentials. 
     
     
       19. A method comprising:
 attaching a trigger to a job that is associated with a reservation of compute resources within a compute environment, wherein the trigger is arbitrary and user customizable; 
 monitoring activities at a node via a node monitor; and 
 upon detection of a specific activity at the node, firing the trigger to modify an attribute of the node, wherein the compute environment is managed by a workload manager that reserves, at a first time, the compute resources in the compute environment to yield the reservation, and wherein the job consumes the compute resources associated with the reservation at a second time which is later than the first time. 
 
     
     
       20. The method of  claim 19 , wherein the attribute of the node comprises one of the node's priority and state. 
     
     
       21. The method of  claim 19 , wherein the node monitor monitors for local activity comprising at least one of mouse activity, keystrokes, and high levels of memory, network or CPU usage. 
     
     
       22. The method of  claim 19 , wherein firing the trigger to modify the node's attribute further comprises reducing a probability that the node will not be selected for a batch work load. 
     
     
       23. A method of modifying a compute environment having at least one node, the method comprising:
 associating a trigger with a job that is associated with a reservation of compute resources within the compute environment; 
 monitoring activities of the at least one a user associated with a threshold parameter to yield a monitored activity; and 
 upon detecting that the monitored activities of the at least one user fail activity fails to pass the threshold parameter, firing the trigger to modify the compute environment and yield a modified computer environment to attempt to enable the modified compute environment to accommodate the at least one user's activities monitored activity at the threshold parameter, wherein the compute environment is managed by a workload manager that reserves, at a first time, the compute resources in the compute environment to yield the reservation, and wherein the job consumes the compute resources associated with the reservation at a second time which is later than the first time. 
 
     
     
       24. The method of  claim 23 , wherein the threshold parameter relates to credentials of the at least one user. 
     
     
       25. The method of  claim 23 , wherein the threshold parameter relates to group credentials of the at least one user. 
     
     
       26. The method of  claim 23 , wherein the threshold parameter is a performance threshold parameter. 
     
     
       27. The method of  claim 23 , further comprising, when the trigger fires, sending a notification to a compute environment administrator indicating the failure of the compute environment to pass the threshold parameter. 
     
     
       28. The method of  claim 23 , further comprising, when the trigger fires, adjusting a priority of jobs submitted by the at least one user to increase a probability that the at least one user's activities monitored activity will pass the threshold parameter. 
     
     
       29. A system for controlling a compute environment, the system comprising:
 a processor; and 
 a non-transitory computer-readable storage medium that stores instructions for controlling the processor to perform steps operations comprising: 
 attaching a trigger to a job that is associated with a reservation of compute resources; and 
 firing the trigger based on a trigger attribute, wherein the compute environment is modified by an action that is initiated when the trigger is fired, wherein the compute environment is managed by a workload manager that reserves, at a first time, the compute resources in the compute environment to yield the reservation, and wherein the job consumes the compute resources associated with the reservation at a second time which is later than the first time. 
 
     
     
       30. A system of modifying a compute environment, the system comprising:
 a processor; and  
 a non-transitory computer-readable storage medium storing instructions for controlling the processor to perform steps operations comprising: 
 attaching a trigger to a job associated with a reservation of compute resources within the a compute environment; 
 monitoring activities associated with at least one of the job and the reservation; 
 firing the trigger to modify an attribute of a node upon detection of a specific activity associated with at least one of the job and the reservation, wherein the compute environment is managed by a workload manager that reserves, at a first time, the compute resources in the compute environment to yield the reservation, and wherein the job consumes the compute resources associated with the reservation at a second time which is later than the first time. 
 
     
     
       31. A non-transitory computer-readable medium storage device storing instructions for controlling a computing device to control a compute environment, the instructions comprising the steps which, when executed by a processor, cause the processor to perform operations comprising:
 attaching a trigger to a job associated with a reservation of compute resources in a compute environment; and 
 firing the trigger based on a trigger attribute, wherein the compute environment is modified by actions initiated when the trigger is fired, wherein the compute environment is managed by a workload manager that reserves, at a first time, the compute resources in the compute environment to yield the reservation, and wherein the job consumes the compute resources associated with the reservation at a second time which is later than the first time. 
 
     
     
       32. A non-transitory computer-readable medium storage device storing instructions for controlling a computing device to control a compute environment, the instructions comprising the steps which, when executed by a processor, cause the processor to perform operations comprising:
 attaching a trigger to a job that is associated with a reservation of compute resources in the a compute environment; 
 monitoring activities at a node via a node monitor; and 
 upon detection of a specific activity at the node, firing the trigger to modify an attribute of the node, wherein the compute environment is managed by a workload manager that reserves, at a first time, the compute resources in the compute environment to yield the reservation, and wherein the job consumes the compute resources associated with the reservation at a second time which is later than the first time. 
 
     
     
       33. A non-transitory computer-readable medium storing instructions for controlling a computing device to control a compute environment, the instructions comprising the steps which, when executed by a processor, cause the processor to perform operations comprising:
 associating a trigger to a job that is associated with a reservation of compute resources within the a compute environment; 
 monitoring activities of at least one of the job and the reservation and associated with a threshold parameter to yield monitored activities; and 
 upon detecting that the monitored activities fail to pass the threshold parameter, firing the trigger to modify the compute environment to attempt to enable a modified compute environment to accommodate at least one of the job and the reservation at the threshold parameter, wherein the compute environment is managed by a workload manager that reserves, at a first time, the compute resources in the compute environment to yield the reservation, and wherein the job consumes the compute resources associated with the reservation at a second time which is later than the first time. 
 
     
     
       34. A method of managing a compute environment, the method comprising:
 attaching a trigger to a reservation for an object used to allocate compute resources; and 
 firing the trigger based on an event such that the trigger performs an action associated with the compute environment, wherein the compute environment is managed by a workload manager that reserves, at a first time allocates, the compute resources in the compute environment to yield the reservation a schedule and wherein a job workload consumes the compute resources associated with the reservation at a second time which is later than the first time. 
 
     
     
       35. A system comprising:
 a processor; and   a computer-readable storage medium storing instructions which, when executed by the processor, cause the processor to perform operations comprising:
 attaching a trigger to an object associated with user activities for comsuming compute resources within a compute environment; 
 monitoring the user activities associated with a threshold parameter to yield a monitored activity; and 
 upon detecting that the monitored activity fails to pass the threshold parameter, firing the trigger to modify the compute environment to yield a modified compute environment to attempt to enable the modified compute environment to accommodate the user activities at the threshold parameter, wherein the compute environment is managed by a workload manager that allocates, at a first time, the compute resources in the compute environment, and wherein the user activities consume the compute resources at a second time which is later than the first time.  
   
     
     
       36. A system comprising:
 a processor; and   a computer-readable storage medium storing instructions which, when executed by the processor, cause the processor to perform operations comprising:
 attaching a trigger to a reservation for compute resources in a compute environment; and 
 firing the trigger based on an event such that the trigger performs an action associated with the compute environment, wherein the compute environment is managed by a workload manager that reserves, at a first time, the compute resources in the compute environment to yield the reservation and wherein a job consumes the compute resources associated with the reservation at a second time which is later than the first time.  
   
     
     
       37. A non-transitory computer-readable storage device storing instructions which, when executed by a processor, cause the processor to perform operations comprising:
 attaching a trigger to a reservation for compute resources in a compute environment; and   firing the trigger based on an event such that the trigger performs an action associated with the compute environment, wherein the compute environment is managed by a workload manager that reserves, at a first time, the compute resources in the compute environment to yield the reservation and wherein a job consumes the compute resources associated with the reservation at a second time which is later than the first time.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.