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.
int add_to_domain (const ::Deployment::Domain &domain)
 This function add new elements to the already existing domain.
int delete_from_domain (const ::Deployment::Domain &domain)
 This function deletes elements from the domain.
int intimate_planner (const ::Deployment::Domain &domain)
 This function intimates the planner about a domain change.
bool find_in_initial_domain (const char *node_name,::Deployment::Node &node)
 This function finds a new node in the initial_domain.
bool find_in_provisioned_domain (const char *node_name,::Deployment::Node &node)
 This function finds a new node in the proviosiond_domain.
bool update_node_status ()
 updates the node status by reading it from a file

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::add_to_domain ( const ::Deployment::Domain &  domain  )  [protected]

This function add new elements to the already existing domain.

add_to_domain

Parameters:
domain Deployment::Domain contians the new elements

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

int CIAO::DomainDataManager::delete_from_domain ( const ::Deployment::Domain &  domain  )  [protected]

This function deletes elements from the domain.

delete_from_domain

Parameters:
domain Deployment::Domain contains the new elements in the domain

bool CIAO::DomainDataManager::find_in_initial_domain ( const char *  node_name,
::Deployment::Node &  node 
) [protected]

This function finds a new node in the initial_domain.

find_in_initial_domain

Parameters:
node The name of the node which is to be searched

bool CIAO::DomainDataManager::find_in_provisioned_domain ( const char *  node_name,
::Deployment::Node &  node 
) [protected]

This function finds a new node in the proviosiond_domain.

find_in_provisioned_domain

Parameters:
node The name of the node which is to be searched

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

int CIAO::DomainDataManager::intimate_planner ( const ::Deployment::Domain &  domain  )  [protected]

This function intimates the planner about a domain change.

intimate_planner

Parameters:
domain Deployment::Domain contains the new elements in the domain

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

bool CIAO::DomainDataManager::update_node_status (  )  [protected]

updates the node status by reading it from a file

update_node_status


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 Tue Nov 21 10:20:35 2006 for DAnCE by  doxygen 1.4.7-1