org.inria.myriads.snoozenode.database.api.impl
Class GroupManagerMemoryRepository

java.lang.Object
  extended by org.inria.myriads.snoozenode.database.api.impl.GroupManagerMemoryRepository
All Implemented Interfaces:
GroupManagerRepository

public final class GroupManagerMemoryRepository
extends Object
implements GroupManagerRepository

Group manager in-memory repository.

Author:
Eugen Feller

Constructor Summary
GroupManagerMemoryRepository(String groupManagerId, int maxCapacity)
          Constructor.
 
Method Summary
 void addAggregatedMonitoringData(String localControllerId, List<AggregatedVirtualMachineData> aggregatedData)
          Add monitoring data for a virtual machine.
 boolean addLocalControllerDescription(org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription localController)
          Add local controller description.
 boolean addVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.VirtualMachineMetaData virtualMachine)
          Adds virtual machine meta data.
 boolean changeLocalControllerStatus(String localControllerId, org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerStatus status)
          Changes the local controller status.
 boolean changeVirtualMachineStatus(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location, org.inria.myriads.snoozecommon.communication.virtualcluster.status.VirtualMachineStatus status)
          Changes the virtual machine state.
 boolean checkVirtualMachineStatus(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location, org.inria.myriads.snoozecommon.communication.virtualcluster.status.VirtualMachineStatus status)
          Checks virtual machine status.
 void clean()
          Cleans the repository.
 boolean dropLocalController(String localControllerId, boolean forceDelete)
          Removes the local controller data.
 boolean dropVirtualMachineData(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
          Drops virtual machine data.
 void fillGroupManagerDescription(org.inria.myriads.snoozecommon.communication.groupmanager.GroupManagerDescription groupManager)
          Fills the group manager description.
 String getGroupManagerId()
          Returns the group manager id.
 ArrayList<String> getLegacyIpAddresses()
          Returns a list of legacy IP addresses.
 org.inria.myriads.snoozecommon.communication.NetworkAddress getLocalControllerControlDataAddress(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
          Returns the local controller description associated with a virtual machine.
 org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription getLocalControllerDescription(String localControllerId, int numberOfMonitoringEntries)
          Returns the local controller description.
 ArrayList<org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription> getLocalControllerDescriptions(int numberOfMonitoringEntries, boolean isActiveOnly)
          Returns the algorithm input data.
 int getNumberOfLocalControllers()
          Returns the number of local controllers.
 org.inria.myriads.snoozecommon.communication.virtualcluster.VirtualMachineMetaData getVirtualMachineMetaData(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location, int numberOfMonitoringEntries)
          Returns the virtual machine meta data.
 String hasLocalController(org.inria.myriads.snoozecommon.communication.NetworkAddress localControllerAddress)
          Checks if local controller exists.
 boolean hasVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
          Checls if a particular virtual machine is active on a particular local controller.
 String searchVirtualMachine(String virtualMachineId)
          Returns the local controller identifier for a virtual machine.
 boolean updateVirtualMachineLocation(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation oldLocation, org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation newLocation)
          Updates virtual machine location.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GroupManagerMemoryRepository

public GroupManagerMemoryRepository(String groupManagerId,
                                    int maxCapacity)
Constructor.

Parameters:
groupManagerId - The group manager identifier
maxCapacity - The maximum capacity
Method Detail

getLocalControllerDescriptions

public ArrayList<org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription> getLocalControllerDescriptions(int numberOfMonitoringEntries,
                                                                                                                                         boolean isActiveOnly)
Returns the algorithm input data.

Specified by:
getLocalControllerDescriptions in interface GroupManagerRepository
Parameters:
numberOfMonitoringEntries - The number of monitoring entries
isActiveOnly - true if active only controllers are required
Returns:
The local controller descriptions

clean

public void clean()
Cleans the repository.

Specified by:
clean in interface GroupManagerRepository

fillGroupManagerDescription

public void fillGroupManagerDescription(org.inria.myriads.snoozecommon.communication.groupmanager.GroupManagerDescription groupManager)
Fills the group manager description.

Specified by:
fillGroupManagerDescription in interface GroupManagerRepository
Parameters:
groupManager - The group manager description

addLocalControllerDescription

public boolean addLocalControllerDescription(org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription localController)
Add local controller description.

Specified by:
addLocalControllerDescription in interface GroupManagerRepository
Parameters:
localController - The local controller description
Returns:
true if everything ok, false otherwise

getLocalControllerControlDataAddress

public org.inria.myriads.snoozecommon.communication.NetworkAddress getLocalControllerControlDataAddress(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
Returns the local controller description associated with a virtual machine.

Specified by:
getLocalControllerControlDataAddress in interface GroupManagerRepository
Parameters:
location - The virtual machine location
Returns:
The local controller control data address

getLocalControllerDescription

public org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription getLocalControllerDescription(String localControllerId,
                                                                                                                             int numberOfMonitoringEntries)
Returns the local controller description.

Specified by:
getLocalControllerDescription in interface GroupManagerRepository
Parameters:
localControllerId - The local controller identifier
numberOfMonitoringEntries - The number of monitoring entries
Returns:
The local controller description

dropVirtualMachineData

public boolean dropVirtualMachineData(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
Drops virtual machine data.

Specified by:
dropVirtualMachineData in interface GroupManagerRepository
Parameters:
location - The virtual machine location
Returns:
true if everything ok, false otherwise

addVirtualMachine

public boolean addVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.VirtualMachineMetaData virtualMachine)
Adds virtual machine meta data.

Specified by:
addVirtualMachine in interface GroupManagerRepository
Parameters:
virtualMachine - The virtual machine meta data
Returns:
true if everything ok, false otherwise

addAggregatedMonitoringData

public void addAggregatedMonitoringData(String localControllerId,
                                        List<AggregatedVirtualMachineData> aggregatedData)
Add monitoring data for a virtual machine.

Specified by:
addAggregatedMonitoringData in interface GroupManagerRepository
Parameters:
localControllerId - The local controller identifier
aggregatedData - The aggregated virtual machine data

getLegacyIpAddresses

public ArrayList<String> getLegacyIpAddresses()
Returns a list of legacy IP addresses.

Specified by:
getLegacyIpAddresses in interface GroupManagerRepository
Returns:
The list of legacy IP addresses

getVirtualMachineMetaData

public org.inria.myriads.snoozecommon.communication.virtualcluster.VirtualMachineMetaData getVirtualMachineMetaData(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location,
                                                                                                                    int numberOfMonitoringEntries)
Returns the virtual machine meta data.

Specified by:
getVirtualMachineMetaData in interface GroupManagerRepository
Parameters:
location - The virtual machine location
numberOfMonitoringEntries - The number of monitoring entries
Returns:
The virtual machine meta data

hasVirtualMachine

public boolean hasVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
Checls if a particular virtual machine is active on a particular local controller.

Specified by:
hasVirtualMachine in interface GroupManagerRepository
Parameters:
location - The virtual machine location
Returns:
true if exists, false otherwise

checkVirtualMachineStatus

public boolean checkVirtualMachineStatus(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location,
                                         org.inria.myriads.snoozecommon.communication.virtualcluster.status.VirtualMachineStatus status)
Checks virtual machine status.

Specified by:
checkVirtualMachineStatus in interface GroupManagerRepository
Parameters:
location - The virtual machine location
status - The virtual machine status
Returns:
true if match, false otherwise

changeVirtualMachineStatus

public boolean changeVirtualMachineStatus(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location,
                                          org.inria.myriads.snoozecommon.communication.virtualcluster.status.VirtualMachineStatus status)
Changes the virtual machine state.

Specified by:
changeVirtualMachineStatus in interface GroupManagerRepository
Parameters:
location - The virtual machine location
status - The virtual machine status
Returns:
true if everything ok, false otherwise

getGroupManagerId

public String getGroupManagerId()
Returns the group manager id.

Specified by:
getGroupManagerId in interface GroupManagerRepository
Returns:
The group manager identifier

changeLocalControllerStatus

public boolean changeLocalControllerStatus(String localControllerId,
                                           org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerStatus status)
Changes the local controller status.

Specified by:
changeLocalControllerStatus in interface GroupManagerRepository
Parameters:
localControllerId - The local controller identifier
status - The local controller status
Returns:
true if everything ok, false otherwise

dropLocalController

public boolean dropLocalController(String localControllerId,
                                   boolean forceDelete)
Removes the local controller data. (description and history data)

Specified by:
dropLocalController in interface GroupManagerRepository
Parameters:
localControllerId - The local controller identifier
forceDelete - Forces status independent deletion
Returns:
true if everything ok, false otherwise

searchVirtualMachine

public String searchVirtualMachine(String virtualMachineId)
Returns the local controller identifier for a virtual machine.

Specified by:
searchVirtualMachine in interface GroupManagerRepository
Parameters:
virtualMachineId - The virtual machine identifier
Returns:
The local controller identifier

updateVirtualMachineLocation

public boolean updateVirtualMachineLocation(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation oldLocation,
                                            org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation newLocation)
Updates virtual machine location.

Specified by:
updateVirtualMachineLocation in interface GroupManagerRepository
Parameters:
oldLocation - The old virtual machine location
newLocation - The new virtual machine location
Returns:
true if everything ok, false otherwise

getNumberOfLocalControllers

public int getNumberOfLocalControllers()
Returns the number of local controllers.

Specified by:
getNumberOfLocalControllers in interface GroupManagerRepository
Returns:
The number of local controllers

hasLocalController

public String hasLocalController(org.inria.myriads.snoozecommon.communication.NetworkAddress localControllerAddress)
Checks if local controller exists.

Specified by:
hasLocalController in interface GroupManagerRepository
Parameters:
localControllerAddress - The lcoal controller address
Returns:
The previous identifier, null otherwise


Copyright © 2012. All Rights Reserved.