CIAO::DomainDataManager Class Reference

Responsible for maintaining the Domain Information. More...

#include <DomainDataManager.h>

Collaboration diagram for CIAO::DomainDataManager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

int update_domain (const ::CORBA::StringSeq &elements, const ::Deployment::Domain &domainSubset,::Deployment::DomainUpdateKind updateKind)
 This function is called by the other classes to update current domain data.
::Deployment::Domain * get_initial_domain ()
 This function is called the Executor code to get the Original Domain data.
::Deployment::Domain * get_current_domain ()
 This function is called the Executor code to get the Current Domain data.
CIAO::Host_NodeManager_seqget_node_managers ()
 returns the sequence of node managers object reference
CIAO::Host_Infosget_cpu_info ()
 returns the node specific cpu utilization
CORBA::Long get_pid (ACE_CString cmp)
 returns the pid of the component id submitted
void commitResources (const ::Deployment::DeploymentPlan &plan)
 commits the resources that are specified in the plan.
void releaseResources (const ::Deployment::DeploymentPlan &plan)
 The function releases the resources held by a plan.
void stop_monitors ()
 The function makes a call on the leaveDomain on the NodeManager.

Static Public Member Functions

static DomainDataManagercreate (CORBA::ORB_ptr orb,::Deployment::TargetManager_ptr target)
 This function is called to create the Datamanager.
static DomainDataManagerget_data_manager ()
 Returns the static pointer to the data manager.
static void delete_data_manger ()
 deletes the data manager

Protected Types

 commit
 release
enum  Action { commit, release }
 The different actiona that can take place. More...

Protected Member Functions

 DomainDataManager (CORBA::ORB_ptr orb,::Deployment::TargetManager_ptr target)
int readin_domain_data ()
 It will read the initial Domain data from XML files.
void match_requirement_resource (::Deployment::InstanceResourceDeploymentDescriptions deployed,::Deployment::Resources &available)
 Match the deployed resources to the available resource.
void match_properties (::Deployment::Properties deployed,::Deployment::SatisfierProperties &available)
 Match the properties of a Requirement to the properties of available resource.
void commit_release_resource (::Deployment::Property &deployed,::Deployment::SatisfierProperty &available)
 Either commits or releases the given resource based on the current Action set.
int call_all_node_managers ()
 This function calls all NM and gives them the sub-domain.

Protected Attributes

CORBA::ORB_var orb_
 The ORB pointer.
CIAO::Deployment_Configuration deployment_config_
 The Deployment Configuration.
::Deployment::Domain initial_domain_
::Deployment::Domain current_domain_
::Deployment::TargetManager_var target_mgr_
 The Target Manager Context.
::Deployment::Domain provisioned_data_
Action current_action_
 The current action.

Static Protected Attributes

static DomainDataManagerglobal_data_manager_ = 0

Detailed Description

Responsible for maintaining the Domain Information.

It maintains both the Current Domain Information as well as the Initial domain at full capacity.


Member Enumeration Documentation

enum CIAO::DomainDataManager::Action [protected]

The different actiona that can take place.

Enumerator:
commit 
release 


Constructor & Destructor Documentation

CIAO::DomainDataManager::DomainDataManager ( CORBA::ORB_ptr  orb,
::Deployment::TargetManager_ptr  target 
) [protected]

Constructor

Parameters:
orb The orb pointer
target The Target Manager Object Reference The constructor made proteccted so that no one can create it.


Member Function Documentation

int CIAO::DomainDataManager::call_all_node_managers (  )  [protected]

This function calls all NM and gives them the sub-domain.

call_all_node_managers

void CIAO::DomainDataManager::commit_release_resource ( ::Deployment::Property &  deployed,
::Deployment::SatisfierProperty &  available 
) [protected]

Either commits or releases the given resource based on the current Action set.

commit_release_resource

Parameters:
deployed Deployment::Property is the resource to be commited/released
available Deployment::SatisfierProperty is the available resource from which committed/released.
Exceptions:
Deployment::ResourceNotAvailable thrown when the deployed resources exceeds the available resource.

void CIAO::DomainDataManager::commitResources ( const ::Deployment::DeploymentPlan &  plan  ) 

commits the resources that are specified in the plan.

commitResources

Parameters:
plan Deployment::DeploymentPlan
Exceptions:
Deployment::ResourceNotAvailable thrown when the resources mentioned in the plan exceeds the current resource.
Deployment::PlanError thrown if the plan has any error

CIAO::DomainDataManager * CIAO::DomainDataManager::create ( CORBA::ORB_ptr  orb,
::Deployment::TargetManager_ptr  target 
) [static]

This function is called to create the Datamanager.

create

Parameters:
orb The orb pointer
target The Target Manager Object Reference
This function calls the constructor of the class Domain Data Manager

void CIAO::DomainDataManager::delete_data_manger (  )  [static]

deletes the data manager

delete_data_manager

CIAO::Host_Infos * CIAO::DomainDataManager::get_cpu_info (  ) 

returns the node specific cpu utilization

get_cpu_info

Returns:
CIAO::Host_Infos*

Deployment::Domain * CIAO::DomainDataManager::get_current_domain (  ) 

This function is called the Executor code to get the Current Domain data.

getCurrentDomain

Returns:
Domain* The Current Domain

CIAO::DomainDataManager * CIAO::DomainDataManager::get_data_manager (  )  [static]

Returns the static pointer to the data manager.

get_data_manager

Returns:
DomainDataManager* The staic get_data_manger function returning the data_manager pointer

Deployment::Domain * CIAO::DomainDataManager::get_initial_domain (  ) 

This function is called the Executor code to get the Original Domain data.

getInitialDomain

Returns:
Domain* The Initial Domain

CIAO::Host_NodeManager_seq * CIAO::DomainDataManager::get_node_managers (  ) 

returns the sequence of node managers object reference

get_node_managers

CORBA::Long CIAO::DomainDataManager::get_pid ( ACE_CString  cmp  ) 

returns the pid of the component id submitted

get_pid

Parameters:
cmp The component id
Returns:
process id

void CIAO::DomainDataManager::match_properties ( ::Deployment::Properties  deployed,
::Deployment::SatisfierProperties &  available 
) [protected]

Match the properties of a Requirement to the properties of available resource.

match_properties

Parameters:
deployed The deployed Properties
available The available Properties

void CIAO::DomainDataManager::match_requirement_resource ( ::Deployment::InstanceResourceDeploymentDescriptions  deployed,
::Deployment::Resources &  available 
) [protected]

Match the deployed resources to the available resource.

match_requirement_resource

int CIAO::DomainDataManager::readin_domain_data (  )  [protected]

It will read the initial Domain data from XML files.

readinDomainData

void CIAO::DomainDataManager::releaseResources ( const ::Deployment::DeploymentPlan &  plan  ) 

The function releases the resources held by a plan.

releaseResources

Parameters:
argname Deployment::DeploymentPlan the plan whose resources are to be released

void CIAO::DomainDataManager::stop_monitors (  ) 

The function makes a call on the leaveDomain on the NodeManager.

stop_monitors

The node manager in turn stops the monitor

int CIAO::DomainDataManager::update_domain ( const ::CORBA::StringSeq &  elements,
const ::Deployment::Domain &  domainSubset,
::Deployment::DomainUpdateKind  updateKind 
)

This function is called by the other classes to update current domain data.

updateDomain

Parameters:
elements The string sequence of elements being updated
domainSubset The subset of the actual Domain to be updated
updateKind Specifies the update type eg. add, delete, update


Member Data Documentation

Action CIAO::DomainDataManager::current_action_ [protected]

The current action.

::Deployment::Domain CIAO::DomainDataManager::current_domain_ [protected]

The Current Domain - contains resources at current capacity

CIAO::Deployment_Configuration CIAO::DomainDataManager::deployment_config_ [protected]

The Deployment Configuration.

CIAO::DomainDataManager * CIAO::DomainDataManager::global_data_manager_ = 0 [static, protected]

The staic data manager pointer implementing singleton pattern

::Deployment::Domain CIAO::DomainDataManager::initial_domain_ [protected]

The Initial Domain - contains resources at total capacity

CORBA::ORB_var CIAO::DomainDataManager::orb_ [protected]

The ORB pointer.

::Deployment::Domain CIAO::DomainDataManager::provisioned_data_ [protected]

The static provisioned Domain data

::Deployment::TargetManager_var CIAO::DomainDataManager::target_mgr_ [protected]

The Target Manager Context.


The documentation for this class was generated from the following files:
Generated on Fri Oct 6 16:22:26 2006 for DAnCE by  doxygen 1.4.7-1