Main Page | Namespace List | Class Hierarchy | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages

grm::GrmImpl Class Reference

Inheritance diagram for grm::GrmImpl:

Inheritance graph
[legend]
Collaboration diagram for grm::GrmImpl:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 GrmImpl (boolean debug_)
void registerLrm (String lrmId, StaticInfo staticInfo)
void sendUpdate (String lrmId, DynamicInfo dynamicInfo)
void remoteExecutionRequest (CommonExecutionSpecs commonSpecs, DistinctExecutionSpecs[] distinctSpecs, boolean forceDifferentMachines)
void run ()

Private Member Functions

ExecutionSpecs createExecSpecs (CommonExecutionSpecs commonSpecs, DistinctExecutionSpecs distinctSpecs)
void touchLrm (String lrmIor)
void removeLrm (String lrmIor)
String generatePreferences (String preferences)
String generateConstraints (String constraints, String denyingHosts)
String generateDeniedConstraint (String denyingHosts)
void dumpLrm (String offerId)
void dumpStaticInfo (StaticInfo staticInfo)
void dumpDynamicInfo (DynamicInfo dynamicInfo)
void dumpExecutionSpecs (ExecutionSpecs execSpecs)

Private Attributes

ORB orb
Lookup lkp
HashMap regLrm
boolean debug

Static Private Attributes

final int NUM_STATIC_FEATURES = 8
final int NUM_DYNAMIC_FEATURES = 7
final int NUM_FEATURES

Detailed Description

Class GrmImpl - Servant implementation of GRM.idl

GRM acts as a resource availability descriptions repository and scheduler.

Author:
Andrei Goldchleger


Constructor & Destructor Documentation

grm::GrmImpl::GrmImpl boolean  debug_  )  [inline]
 

Creates a GrmImpl Object

Parameters:
debug_ - enables debug messages


Member Function Documentation

ExecutionSpecs grm::GrmImpl::createExecSpecs CommonExecutionSpecs  commonSpecs,
DistinctExecutionSpecs  distinctSpecs
[inline, private]
 

void grm::GrmImpl::dumpDynamicInfo DynamicInfo  dynamicInfo  )  [inline, private]
 

void grm::GrmImpl::dumpExecutionSpecs ExecutionSpecs  execSpecs  )  [inline, private]
 

void grm::GrmImpl::dumpLrm String  offerId  )  [inline, private]
 

void grm::GrmImpl::dumpStaticInfo StaticInfo  staticInfo  )  [inline, private]
 

String grm::GrmImpl::generateConstraints String  constraints,
String  denyingHosts
[inline, private]
 

String grm::GrmImpl::generateDeniedConstraint String  denyingHosts  )  [inline, private]
 

Generates a TCL constraint that describes all machines that already denied an execution request.

Parameters:
denyingHosts - space separated string containig ids of machines that denied to host a given execution request

String grm::GrmImpl::generatePreferences String  preferences  )  [inline, private]
 

void grm::GrmImpl::registerLrm String  lrmId,
StaticInfo  staticInfo
[inline]
 

Register a LRM on this GRM

Parameters:
lrmId - LRM's IOR
staticInfo - Object representing a node static info

void grm::GrmImpl::remoteExecutionRequest CommonExecutionSpecs  commonSpecs,
DistinctExecutionSpecs[]  distinctSpecs,
boolean  forceDifferentMachines
[inline]
 

Receives a remote execution request.

Receives a remote execution request from an ASCT and finds a suitable machine to service that request, if one is available. If not, notifies the requesting ASCT.

Parameters:
commonSpecs - common specs to all application copies
distinctSpecs - specific specs regarding a given application copy. In the case of sequential applications, there is only one spec
forceDifferentMachines - if true, the GRM will only service the request if EACH of the application copies can be executed on a different machine

void grm::GrmImpl::removeLrm String  lrmIor  )  [inline, private]
 

void grm::GrmImpl::run  )  [inline]
 

void grm::GrmImpl::sendUpdate String  lrmId,
DynamicInfo  dynamicInfo
[inline]
 

Receive an update from a given LRM

Parameters:
lrmId - LRM's IOR
dynamicInfo - Object representing a node dynamic info

void grm::GrmImpl::touchLrm String  lrmIor  )  [inline, private]
 


Member Data Documentation

boolean grm::GrmImpl::debug [private]
 

Lookup grm::GrmImpl::lkp [private]
 

final int grm::GrmImpl::NUM_DYNAMIC_FEATURES = 7 [static, private]
 

final int grm::GrmImpl::NUM_FEATURES [static, private]
 

Initial value:

final int grm::GrmImpl::NUM_STATIC_FEATURES = 8 [static, private]
 

ORB grm::GrmImpl::orb [private]
 

HashMap grm::GrmImpl::regLrm [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Sep 6 16:13:30 2004 by doxygen 1.3.3