USPatentGranted
E1

System and method for providing object triggers

Granted 30 Jun 2015 · 4 office actions

Application
14/162,456
filed 11 Mar 2005
Publication
Not published
not published
Patent· this page
US RE45593
granted 30 Jun 2015

Life of the patent

19 dated events
⤢ drag to zoom200420062008201020122014201620182020202220242026ProsecutionOwnershipDisputesTerm & fees
ProsecutionOwnershipDisputesTerm & feeshover for detail · click to open

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.

Description

8 parts
›PRIORITY CLAIM

The present application claims priority to U.S. Provisional Application No. 60/552,653 filed Mar. 13, 2004, the contents of which are incorporated herein by reference.

›RELATED APPLICATIONS

The present application is related to U.S. patent application Ser. No. 10/530,583; U.S. patent application Ser. No. 10/530,582; U.S. patent application Ser. No. 10/530,581; U.S. patent application Ser. No. 10/530,577; U.S. patent application Ser. No. 10/530,576; U.S. patent application Ser. No. 10/589,339; U.S. patent application Ser. No. 10/530,580, and U.S. patent application Ser. No. 10/530,575, filed on the same day as the present application. The content of each of these cases is incorporated herein by reference.

›BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to triggers in the context of compute resource management and more specifically to a system and method of generating triggers which could be attached to any other scheduling object.

2. Introduction

The present invention applies to computer clusters and computer grids. A computer cluster may be defined as a parallel computer that is constructed of commodity components and runs commodity software. FIG. 1 illustrates in a general way an example relationship between clusters and grids. A cluster 110 is made up of a plurality of nodes 108 A, 108 B, 108 C, each containing computer processors, memory that is shared by processors in the node and other peripheral devices such as storage discs connected by a network. A resource manager 106 A for the node 110 manages jobs submitted by users to be processed by the cluster. Other resource managers 106 B, 106 C are also illustrated that may manage other clusters (not shown). An example job would be a weather forecast analysis that is compute intensive that needs to have scheduled a cluster of computers to process the job in time for the evening news report.

A cluster scheduler 104 A may receive job submissions and identify using information from the resource managers 106 A, 106 B, 106 C which cluster has available resources. The job would then be submitted to that resource manager for processing. Other cluster schedulers 104 B and 104 C are shown by way of illustration. A grid scheduler 102 may also receive job submissions and identify based on information from a plurality of cluster schedulers 104 A, 104 B, 104 C which clusters may have available resources and then submit the job accordingly.

Grid/cluster resource management generally describes the process of identifying requirements, matching resources to applications, allocating those resources, and scheduling and monitoring grid resources over time in order to run grid applications as efficiently as possible. Each project will utilize a different set of resources and thus is typically unique. In addition to the challenge of allocating resources for a particular job, grid administrators also have difficulty obtaining a clear understanding of the resources available, the current status of the grid and available resources, and real-time competing needs of various users.

Several books provide background information on how to organize and create a cluster or a grid and related technologies. See, e.g., Grid Resource Management, State of the Art and Future Trends, Jarek Nabrzyski, Jennifer M. Schopf, and Jan Weglarz, Kluwer Academic Publishers, 2004; and Beowulf Cluster Computing with Linux, edited by William Gropp, Ewing Lusk, and Thomas Sterling, Mass. Institute of Technology, 2003.

Virtually all clusters have been static which means that an administrator establishes the policies for the cluster, sets up the configuration, determines which nodes have which applications, how much memory should be associated with each node, which operating system will run on a node, etc. The cluster will stay in the state determined by the administrator for a period of months until the administrator takes the entire machine off-line to make changes or modifications. Then the machine is brought back on-line where another 10,000-100,000 jobs may be run on it.

Within this static cluster environment, there is the ability to have something called a job step, a job step allows an application to prepare or modify its environment within the constraints of the compute resources provided by the cluster. For example a job may consist of three steps, the first step is puffing data off of a storage system and transferring the data onto a local file system. The second step may actually process the data and a third step may take the data and go through a second processing step and push it back out to a storage system. These job steps enable some additional functionality for the job in that it allows a job to work within the environment they have.

However, there are some deficiencies in this process. Using job steps does nothing for allowing the jobs to actually change the compute environment provided by the cluster in any way. Job steps operate within the cluster environment but have no control or ability to maximize efficiencies within the environment or adjust the environment. They are static in the sense that they are limited to manipulation of tasks within the given cluster environment. What is needed in the art is a method of improving the efficiency of the compute environment via a device associated with a job or other object.

›SUMMARY OF THE INVENTION

Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth herein.

The present invention addresses the deficiencies in the art discussed above. The cluster that receives a job submission according to the present invention is dynamic in that the cluster and the resources associated with the cluster may dynamically modify themselves to meet the needs of the current workload. To accomplish this dynamic component of the cluster, the present invention further involves introducing triggers.

A trigger is an object which can be attached or associated with any other scheduling object. A scheduling object can be, for example, one of: a compute node, compute resources, a reservation, a cluster, user credentials, groups or accounts, a job, a resource manager, other peer services and the like. Any scheduling object can have any number of triggers associated with it.

The invention comprises various embodiments associated with dynamic clusters and triggers. These embodiments include systems, methods and computer-readable media that provide the features of the invention. The method embodiment of the invention comprises a method for dynamically modifying a cluster, the method comprising attaching a trigger to a scheduling object and firing the trigger based on a trigger attribute, wherein the cluster environment is modified by an action take by the trigger.

›BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:

FIG. 1 illustrates generally a prior art arrangement of clusters in a grid;

FIG. 2 illustrates a trigger attached to an object;

FIG. 3 illustrates an example of the user of triggers according to an aspect of the invention;

FIG. 4 illustrates a method according to an embodiment of the invention; and

FIG. 5 illustrates a graphical user interface used to create triggers.

›DETAILED DESCRIPTION OF THE INVENTION · 1 of 3

Various embodiments of the invention are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the invention.

The “system” embodiment of the invention may comprise a computing device that includes the necessary hardware and software components to enable a workload manager or a software module performing the steps of the invention. A workload manager manages the compute environment by reserving, at a first time, resources in the compute environment to yield a reservation. The resources associated with the reservation are then consumed by jobs at a second time which is later than the first time. Such a computing device may include such known hardware elements as one or more central processors, random access memory (RAM), read-only memory (ROM), storage devices such as hard disks, communication means such as a modem or a card to enable networking with other computing devices, a bus that provides data transmission between various hardware components, a keyboard, a display, an operating system and so forth. There is no restriction that the particular system embodiment of the invention has any specific hardware components and any known or future developed hardware configurations are contemplated as within the scope of the invention when the computing device operates as is claimed.

The present invention enables the dynamic modification of compute resources within a compute environment such as a cluster or a grid by the use of triggers. FIG. 2 illustrates a trigger 204 being attached to an object 202 . The object 202 is preferable a scheduling object and each trigger 204 is configured with a plurality of attributes. Example objects include a compute node, a reservation within a cluster, a cluster itself, a user, a job submitted by a user to a cluster manager, a resource manager, etc. As can be appreciated, an “object” in the context of cluster management may be any number of concepts to which a trigger may be attached.

An example attribute associated with a trigger includes an event type, which means that one would like this trigger to fire or execute based on a particular event occurring such as the creation of the object, the starting, execution, cancellation or termination of an object, or an object state.

Other attributes associated with a trigger include a time-out, an offset feature, a particular action (such as send an e-mail to the administrator), dependencies, an argument list, a state and a threshold value. This is not meant to be an exhaustive complete list. Other attributes may also be attached to the trigger. For example, meaning dependencies can be based on attributes within the object, wherein if a job is now running, a dependency may be that it fires if a parameter is set to “true”. In that case, the trigger also has a variable it sets to cascade other triggers by setting variables that cause other triggers to fire. Such parameters may relate to things like a threshold, a re-arm time, time-out values and durations. In this manner, a cascade of triggers may fire based on various modified and set parameter from one trigger to the next. Other values that may be used to fire triggers include such parameters as: user credentials, jobs, groups, jobs per user and other types of thresholds. For example, whenever a user exceeds X number of jobs, launch a trigger to take an action. A group-based parameter example is: (1) if user John has more than 18 idle jobs, then send a note to an administrator; and (2) if a group “staff” resource availability query receives a reply with resources more than two hours out, then launch a trigger to modify reservation Y to provide more resources.

The offset feature involves establishing that the trigger will fire either before or after an event has occurred. The example trigger in FIG. 3 illustrates their use in a hosting environment in which a customer wants to reserve a block of resources for a particular time frame and the administrator wants to dynamically provision those resources. FIG. 3 illustrates a reservation 302 that is processing in time. A trigger 304 is attached to the object with attributes including an offset to begin a certain period of time (say two minutes) 312 after the reservation 302 begins its process. The trigger 304 has as an attribute an action to take which is to set up a network and generate an ARGLIST variable called $IPlist and return that value to the reservation environment. The trigger 304 also transmits the $IPList to another trigger 306 . The trigger 306 has a start time offset but also a dependency that it does not fire until the $IPList variable is set. Once the variable is set, the trigger 306 sets up a storage area network, brings in the resources and makes the resources available to the reservation. When trigger 306 completes, a third trigger 308 performs an operating system setup, which also has a dependency on the $IPList variable being set to a value as well as a variable being set to “true”. When both of those parameters are satisfied, trigger 308 fires and sets up the operating system and application environment and completes. The output of trigger 308 is a parameter stating whether the operating system setup was successful (“true”) or not.

Independent of these triggers is an additional trigger 310 that is set to fire at a fixed offset from the start of the reservation, and it performs a health check to verify that the OS setup variable which is setup by the trigger 308 is true. If it is not set to true, then trigger 310 is designed to do two things: (1) cancel the reservation itself and send an e-mail to the administrator and end user notifying them that there has been a failure and the reservation will not be available; and (2) retry the initial setup triggers or look for additional local in time at which these blocked resources could be made available and send an e-mail to the user saying we'll retry at this particular time. All of this is performed automatically through the use of triggers.

›DETAILED DESCRIPTION OF THE INVENTION · 2 of 3

The above example provides an illustration of the various features of triggers, including the ability to start at an offset value, perform certain actions, having certain dependencies based on data being processed and received or other kinds of dependencies and produce and receive argument lists.

In addition, triggers can specify arbitrary actions allowing it to modify the scheduling state, to execute some process, to pull something in from off the Internet or to update a database. Any arbitrary action that can modify the environment, including destroying the object or reconfiguring the object. Furthermore, triggers have the ability to specify dependencies, saying the trigger can only fire when an event has occurred, the offset has been satisfied and certain other conditions such as variables have been set or other triggers completed with certain states. Each trigger can begin with a variable called in from an ARGLIST which allows you to pass in either static or dynamic variables to modify its behavior.

Also associated with triggers is the concept of a trigger timeout. This feature allows one to determine if a trigger has not fired yet or if it has completed successfully, unsuccessfully or if it's still in process of completing. With all these capabilities, an administrator can have essentially arbitrary control over decision making and process flow to modify the dynamic cluster environment in any way desired.

There are a number of ways to create a trigger. FIG. 5 illustrates a graphical tool 500 to simply point and click to associate the trigger and attach it to an object. The tool allows the user to select: the creation of a trigger when a reservation starts (or other selectable time via a drop down menu) 502 , the trigger start time for a certain number of minutes before or after a reservation starts 504 , an action launched by a trigger such as to cancel the reservation 506 , an executable file to execute 508 or to receive an argument list 510 and a reservation utilization threshold 512 .

Any action may launch a trigger. For example, if a resource manager goes down, or is a software license is about to expire, or a software application that is going to have a job executed with use of the software and it is out-of-date. Any event may launch a trigger.

The second method is to set it up in a configuration file a Moab™ configuration file is simply a flat text file which specifies associations and definitions of triggers. A third way is to simply use command line arguments to generate a trigger. These triggers can be created remotely over the network interface or locally. The following is an example of a command line method of creating triggers by user “Smith”:

mrsvctl -c -h smith -T \

'Sets=$Var1.$Var2.$Var3.!Net,EType=start,AType=exec,Action=/tmp/

Net.sh,Timeout=10'\

-T \

Requires=$Var1.$Var2.$Var3,Sets=$Var4.$Var5,EType=start,AType=exec,

Action=/tmp/FS.sh'\

-T \

Requires=$Var1.$Var2.$Var3.$Var4.$Var5,Sets=!NOOSinit.OSinit,

Etype=start,AType=exec,Action=

/tmp/OS.sh+$Var1:$Var2:$Var3:$Var4:$Var5' \

-T \

Requires=failed,AType=cancel,EType=start \

-T \

Eype=start,Requires=OSinit,AType=exec,Action=/tmp/success.sh \

-T \

Requires=Net,EType=start,Sets=failed,AType=exec,Action=/tmp/fail.sh

This demonstrates a string of triggers, the first two set variables, the third one requires each of those variables to be set and there are also triggers that activate in case of failure.

An important feature that differentiates triggers from the job step is that there are other systems that allows one to have some sense of dependencies and modification but that is only within a single, given application or job. Job steps can modify their own data and the like but there's nothing that can modify either scheduling policy or scheduling objects, or scheduling environment, like triggers can. Triggers allow one to take any arbitrary action based on any arbitrary set of sensors. Triggers enable puffing in a wide ranging scope of information and having a wide scope of control. They are preferable written in the “c” programming language but there are no constraints on the type of programming language.

One of the attributes introduced above that is associated with a trigger is the threshold attribute. In addition to being able to say that a trigger will fire, when its dependencies are satisfied and its event has occurred and its offset has been satisfied, one may also specify whether a particular threshold and its threshold criteria has been satisfied. This feature allows one to have triggers that fire when particular qualities of service are not satisfied, when queue times have been exceeded, when anything that correlates to basically system performance has or has not been satisfied. When these metrics have not been satisfied or have been satisfied this provides some way one can have arbitrary actions occur.

Other examples of trigger usage are that an administrator can attach a trigger to a node and allow a node monitor such as Ganglia to perform monitoring activities such as detecting keyboard touches. So if a local user has begun to type or if the system detects a high level of data transmission or swapping, a trigger action may adjust the priority of that node so that it is no longer as likely to be selected for batch work load. The priority adjustment may reduce the probability that the node would be selected for a large job like a batch work load.

Performance triggers illustrate another type of trigger that is associated with a particular group or a particular user and a threshold parameter. The parameter may be a performance threshold parameter that is related to, for example, an average response time that is below a particular threshold. If that particular threshold is not satisfied, then the trigger fires and sends an e-mail off to an administrator and adjusts the priority of that user's jobs. The trigger may also dynamically modify the cluster resources to accommodate the at least one user's activities so that the user experiences a performance level at least at the threshold parameter.

›DETAILED DESCRIPTION OF THE INVENTION · 3 of 3

Embodiments within the scope of the present invention may also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or combination thereof) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media.

Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.

Those of skill in the art will appreciate that other embodiments of the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

Although the above description may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments of the invention are part of the scope of this invention. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.

Claims

37 · 12 independent · depth 4
12345678910111213141516171819202122232425262728293031323334353637
37 granted claims

Classifications

4 codes
IPC · International Patent Classification
Section G — Physics
  • G06F15/16
  • G06F9/46
  • G06F9/50
USPC · US Patent Classification
1/1.

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this patent are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoom20052006200720082009201020112012201320142015USPTOApplicantNon-final rejectionResponse after non-final
USPTOApplicanthover for detail · click to open
Pendency
10.3 y
3,763 days filing → grant
Office actions
2
non-final + final
Responses
3
no RCE
Interviews
1
examiner interview summaries
Examiner
Stefan Stoynov
art unit 2116 · TC 2100
Citations: 32 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Chain of title

⤢ drag to zoom20152016201720182019202020212022202320242025Owner 2Owner 6liens, releases & corrections
TitleLienReleasehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock

Term & fees

See the term timeline — pendency span, in-force span, the maintenance fees paid and both computed expiry dates.

Log in to unlock

Priority chain

1 priority documents
Priority
13 Mar 2004
earliest claimed
›Priority documents — 1
TypeDocumentDate
provisionalUS 6055265313 Mar 2004

Worldwide family

52 members · 4 offices
US29EP8WO12CA3
this patentIP5 & PCTother officessolid = grantedhover for detail · click to open
Members
52
DOCDB simple family 34993885
Offices
4
US · EP · WO
Granted
12 of 52
grant date present
Non-English titles
14
shown as filed, never translated
›IP5 & PCT — 49 members
OfficePublicationKindPublishedFiledStatusTitle
USUS-2007294197-A1A120 Dec 200711 Mar 2005publishedSystem for Method for Providing Intelligent Pre-Staging of Data in a Compute Environment
USUS-2009012930-A1A18 Jan 200911 Mar 2005publishedSystem and method for a self-optimizing reservation in time of compute resources
USUS-7490325-B2B210 Feb 200911 Mar 2005grantedSystem and method for providing intelligent pre-staging of data in a compute environment
USUS-2009144215-A1A14 Jun 200929 Dec 2008publishedSystem and method for providing intelligent pre-staging of data in a compute environment
USUS-2009187536-A1A123 Jul 200911 Mar 2005publishedSystem and Method Providing Object Messages in a Compute Environment
USUS-2011119478-A1A119 May 201111 Mar 2005publishedSystem and method for providing object triggers
USUS-8151103-B2B23 Apr 201211 Mar 2005grantedSystem and method for providing object triggers
USUS-2012226788-A1A16 Sep 201211 Mar 2005publishedSystem and method for providing multi-resource management support in a compute environment
USUS-8413155-B2B22 Apr 201311 Mar 2005grantedSystem and method for a self-optimizing reservation in time of compute resources
USUS-2013298134-A1A17 Nov 20132 Apr 2013publishedSystem and Method for a Self-Optimizing Reservation in Time of Compute Resources
USUS-8763000-B2B224 Jun 201429 Dec 2008grantedSystem and method for providing intelligent pre-staging of data in a compute environment
USthis patentUS-RE45593-EE130 Jun 201511 Mar 2005grantedSystem and method for providing object triggers
USUS-2015220364-A1A16 Aug 201511 Mar 2005publishedSystem and method of providing a self-optimizing reservation in space of compute resources
USUS-2015293789-A1A115 Oct 201526 Jun 2015publishedSystem and method for providing object triggers
USUS-9176785-B2B23 Nov 201511 Mar 2005grantedSystem and method for providing multi-resource management support in a compute environment
USUS-9268607-B2B223 Feb 201611 Mar 2005grantedSystem and method of providing a self-optimizing reservation in space of compute resources
USUS-2016170806-A1A116 Jun 201622 Feb 2016publishedSystem and method of providing a self-optimizing reservation in space of compute resources
USUS-9558042-B2B231 Jan 201711 Mar 2005grantedSystem and method providing object messages in a compute environment
USUS-9959141-B2B21 May 201822 Feb 2016grantedSystem and method of providing a self-optimizing reservation in space of compute resources
USUS-10871999-B2B222 Dec 20202 Apr 2013grantedSystem and method for a self-optimizing reservation in time of compute resources
USUS-2021141671-A1A113 May 20214 Nov 2020publishedSystem and Method for a Self-Optimizing Reservation in Time of Compute Resources
USUS-2022206859-A1A130 Jun 202217 Mar 2022publishedSystem and Method for a Self-Optimizing Reservation in Time of Compute Resources
USUS-2022206860-A1A130 Jun 202217 Mar 2022publishedSystem and Method for a Self-Optimizing Reservation in Time of Compute Resources
USUS-2022206861-A1A130 Jun 202217 Mar 2022publishedSystem and Method for a Self-Optimizing Reservation in Time of Compute Resources
USUS-2022222119-A1A114 Jul 20221 Apr 2022publishedSystem and Method for a Self-Optimizing Reservation in Time of Compute Resources
USUS-2022222120-A1A114 Jul 20221 Apr 2022publishedSystem and Method for a Self-Optimizing Reservation in Time of Compute Resources
USUS-2022300334-A1A122 Sep 20228 Jun 2022publishedSystem and Method for a Self-Optimizing Reservation in Time of Compute Resources
USUS-11960937-B2B216 Apr 202417 Mar 2022grantedSystem and method for an optimizing reservation in time of compute resources based on prioritization function and reservation policy parameter
USUS-12124878-B2B222 Oct 202417 Mar 2022grantedSystem and method for scheduling resources within a compute environment using a scheduler process with reservation mask function
EPEP-1725934-A1A129 Nov 200611 Mar 2005publishedSystem und verfahren für eine selbstoptimierende rechtzeitige reservierung von datenverarbeitungsbetriebsmittelnde
EPEP-1738258-A2A23 Jan 200711 Mar 2005publishedSystem und verfahren zur bereitstellung von objekttriggernde
EPEP-1754147-A2A221 Feb 200711 Mar 2005publishedSystem und verfahren zur bereitstellung einer selbstoptimierenden platzreservierung von rechenressourcende
EPEP-1725934-A4A413 Aug 200811 Mar 2005publishedSystem and method for a self-optimizing reservation in time of compute resources
EPEP-1754147-A4A413 Aug 200811 Mar 2005publishedSystem and method of providing a self-optimizing reservation in space of compute resources
EPEP-1738258-A4A428 Oct 200911 Mar 2005publishedSystem and method for providing object triggers
EPEP-2339469-A1A129 Jun 201111 Mar 2005publishedSystem und Verfahren zur selbstoptimierenden Zeitreservierung von Berechnungsressourcende
EPEP-2341431-A1A16 Jul 201111 Mar 2005publishedSystem und Verfahren zur selbstoptimierenden Zeitreservierung von Berechnungsressourcende
WOWO-2005089235-A2A229 Sep 200511 Mar 2005publishedSystem and method providing object messages in a compute environment
WOWO-2005089236-A2A229 Sep 200511 Mar 2005publishedSystem and method for providing intelligent pre-staging of data in a compute environment
WOWO-2005089239-A2A229 Sep 200511 Mar 2005publishedSysteme et procede de reservation a optimisation automatique dans une espace de ressources informatiquesfr
WOWO-2005089240-A2A229 Sep 200511 Mar 2005publishedSystem and method for providing multi-resource management support in a compute environment
WOWO-2005089241-A2A229 Sep 200511 Mar 2005publishedSysteme et procede mettant en application des declencheurs d'objetsfr
WOWO-2005091136-A1A129 Sep 200511 Mar 2005publishedSysteme et procede de reservation auto-optimisee de ressources en temps de calculfr
WOWO-2005089235-A3A321 Dec 200711 Mar 2005publishedSysteme et procede pour fournir des messages d'objets dans un environnement informatiquefr
WOWO-2005089236-A3A324 Jan 200811 Mar 2005publishedSysteme et procede permettant d'effectuer une pre-activation intelligente des donnees dans un environnement de calculfr
WOWO-2005089239-A3A314 Feb 200811 Mar 2005publishedSysteme et procede de reservation a optimisation automatique dans une espace de ressources informatiquesfr
WOWO-2005089241-A3A316 Oct 200811 Mar 2005publishedSysteme et procede mettant en application des declencheurs d'objetsfr
WOWO-2005089240-A3A330 Oct 200811 Mar 2005publishedSysteme et procede de support de gestion multi-ressources dans un environnement de grappefr
WOWO-2005089241-B1B14 Dec 200811 Mar 2005publishedSysteme et procede mettant en application des declencheurs d'objetsfr
›Other offices — 3 members
OfficePublicationKindPublishedFiledStatusTitle
CACA-2558892-A1A129 Sep 200511 Mar 2005publishedSystem and method for a self-optimizing reservation in time of compute resources
CACA-2559584-A1A129 Sep 200511 Mar 2005publishedSystem and method of providing a self-optimizing reservation in space of compute resources
CACA-2559588-A1A129 Sep 200511 Mar 2005publishedSystem and method for providing object triggers for dynamic control of compute environment

Litigation

See every case on record — court, docket number, and outcome for each one.

Log in to unlock

Validity challenges

See the validity challenges on record — reexaminations, IPRs and PGRs, with their institution decisions and outcomes.

Log in to unlock

Citations

See every patent this one cites and every patent that cites it back — publication, assignee, and how each one was found.

Log in to unlock