org.inria.myriads.snoozenode.groupmanager
Class GroupManagerResource

java.lang.Object
  extended by org.restlet.resource.Resource
      extended by org.restlet.resource.UniformResource
          extended by org.restlet.resource.ServerResource
              extended by org.inria.myriads.snoozenode.groupmanager.GroupManagerResource
All Implemented Interfaces:
org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI

public final class GroupManagerResource
extends org.restlet.resource.ServerResource
implements org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI

Group manager resource class.

Author:
Eugen Feller

Constructor Summary
GroupManagerResource()
          Constructor.
 
Method Summary
 org.inria.myriads.snoozecommon.communication.localcontroller.AssignedGroupManager assignLocalController(org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription localControllerDescription)
          Assign local controller to a group manager.
 boolean destroyVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
          Routine to shutdown a virtual machine.
 org.inria.myriads.snoozecommon.communication.virtualcluster.discovery.VirtualMachineDiscoveryResponse discoverVirtualMachine(String virtualMachineId)
          Routine to discover the group manager hosting a virtual machine.
 boolean dropVirtualMachineMetaData(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation virtualMachineLocation)
          Drops virtual machine meta data.
 org.inria.myriads.snoozecommon.communication.groupmanager.repository.GroupLeaderRepositoryInformation getGroupLeaderRepositoryInformation(int numberOfMonitoringEntries)
          Routine the group leader information.
 org.inria.myriads.snoozecommon.communication.groupmanager.repository.GroupManagerRepositoryInformation getGroupManagerRepositoryInformation(int numberOfMonitoringEntries)
          Return the group leader information.
 org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualClusterSubmissionResponse getVirtualClusterResponse(String taskIdentifier)
          Returns the virtual cluster response if available.
 org.inria.myriads.snoozecommon.communication.virtualcluster.VirtualMachineMetaData getVirtualMachineMetaData(org.inria.myriads.snoozecommon.communication.virtualcluster.requests.MetaDataRequest request)
          Routine to get virtual machine information.
 org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineSubmission getVirtualMachineResponse(String taskIdentifier)
          Returns the virtual machine response.
 String hasLocalController(org.inria.myriads.snoozecommon.communication.NetworkAddress localControllerAddress)
          Checks if a virtual machine is active a particular local controller.
 boolean hasVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
          Checks if a virtual machine is active a particular local controller.
 boolean joinGroupLeader(org.inria.myriads.snoozecommon.communication.groupmanager.GroupManagerDescription groupManager)
          Handles the join request of a group manager.
 boolean joinGroupManager(org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription localController)
          Routine to join the group manager.
 boolean resumeEnergySaver()
          Resumes the energy saver.
 boolean resumeVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
          Routine to resume a virtual machine.
 String searchVirtualMachine(String virtualMachineId)
          Checks if a virtual machine is active on all local controller.
 boolean shutdownVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
          Routine to shutdown a virtual machine.
 String startVirtualCluster(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualClusterSubmissionRequest virtualClusterDescription)
          Dispatches the virtual cluster submission request.
 String startVirtualMachines(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineSubmission submissionRequest)
          Starts a virtual machines on the group manager.
 boolean suspendEnergySaver()
          Suspends the energy saver.
 boolean suspendVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
          Routine to suspend a virtual machine.
 
Methods inherited from class org.restlet.resource.ServerResource
abort, commit, delete, delete, describeVariants, doCatch, doConditionalHandle, doError, doHandle, doHandle, doNegotiatedHandle, get, get, getAttribute, getInfo, getInfo, getOnSent, getPreferredVariant, getVariants, getVariants, handle, hasAnnotations, head, head, isAnnotated, isAutoCommitting, isCommitted, isConditional, isExisting, isInRole, isNegotiated, options, options, post, post, put, put, redirectPermanent, redirectPermanent, redirectSeeOther, redirectSeeOther, redirectTemporary, redirectTemporary, setAllowedMethods, setAnnotated, setAttribute, setAutoCommitting, setChallengeRequests, setCommitted, setConditional, setCookieSettings, setDimensions, setExisting, setLocationRef, setLocationRef, setNegotiated, setOnSent, setServerInfo, setStatus, setStatus, setStatus, setStatus, updateAllowedMethods, updateDimensions
 
Methods inherited from class org.restlet.resource.Resource
doError, doInit, doRelease, getAllowedMethods, getApplication, getChallengeRequests, getChallengeResponse, getClientInfo, getConditions, getConnegService, getContext, getConverterService, getCookies, getCookieSettings, getDimensions, getHostRef, getLocationRef, getLogger, getMatrix, getMaxForwards, getMetadataService, getMethod, getOriginalRef, getProtocol, getQuery, getQueryValue, getRanges, getReference, getReferrerRef, getRequest, getRequestAttributes, getRequestCacheDirectives, getRequestEntity, getResponse, getResponseAttributes, getResponseCacheDirectives, getResponseEntity, getRootRef, getServerInfo, getStatus, getStatusService, init, isConfidential, isLoggable, release, setApplication, setQueryValue, setRequest, setResponse, toObject, toRepresentation, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GroupManagerResource

public GroupManagerResource()
Constructor.

Method Detail

startVirtualCluster

public String startVirtualCluster(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualClusterSubmissionRequest virtualClusterDescription)
Dispatches the virtual cluster submission request. (called by the client)

Specified by:
startVirtualCluster in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
virtualClusterDescription - The virtual cluster description
Returns:
The assigned task identifier

joinGroupLeader

public boolean joinGroupLeader(org.inria.myriads.snoozecommon.communication.groupmanager.GroupManagerDescription groupManager)
Handles the join request of a group manager. (called by a group manager).

Specified by:
joinGroupLeader in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
groupManager - The group manager description
Returns:
true if everything ok, false otherwise

assignLocalController

public org.inria.myriads.snoozecommon.communication.localcontroller.AssignedGroupManager assignLocalController(org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription localControllerDescription)
Assign local controller to a group manager. (called by the local controller).

Specified by:
assignLocalController in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
localControllerDescription - The local controller description
Returns:
The group manager description

discoverVirtualMachine

public org.inria.myriads.snoozecommon.communication.virtualcluster.discovery.VirtualMachineDiscoveryResponse discoverVirtualMachine(String virtualMachineId)
Routine to discover the group manager hosting a virtual machine.

Specified by:
discoverVirtualMachine in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
virtualMachineId - The virtual machine identifier
Returns:
The discovery response

getGroupLeaderRepositoryInformation

public org.inria.myriads.snoozecommon.communication.groupmanager.repository.GroupLeaderRepositoryInformation getGroupLeaderRepositoryInformation(int numberOfMonitoringEntries)
Routine the group leader information.

Specified by:
getGroupLeaderRepositoryInformation in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
numberOfMonitoringEntries - The number of monitoring entries
Returns:
The group leader repository information

startVirtualMachines

public String startVirtualMachines(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineSubmission submissionRequest)
Starts a virtual machines on the group manager. (called by group leader)

Specified by:
startVirtualMachines in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
submissionRequest - The virtual machine submission
Returns:
The task identifier

joinGroupManager

public boolean joinGroupManager(org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription localController)
Routine to join the group manager. (called by a local controller).

Specified by:
joinGroupManager in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
localController - The local controller description
Returns:
true if everything ok, false otherwise

suspendVirtualMachine

public boolean suspendVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
Routine to suspend a virtual machine.

Specified by:
suspendVirtualMachine in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
location - The virtual machine location
Returns:
true if everything ok, false otherwise

resumeVirtualMachine

public boolean resumeVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
Routine to resume a virtual machine.

Specified by:
resumeVirtualMachine in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
location - The virtual machine location
Returns:
true if everything ok, false otherwise

shutdownVirtualMachine

public boolean shutdownVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
Routine to shutdown a virtual machine.

Specified by:
shutdownVirtualMachine in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
location - The virtual machine location
Returns:
true if everything ok, false otherwise

destroyVirtualMachine

public boolean destroyVirtualMachine(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation location)
Routine to shutdown a virtual machine.

Specified by:
destroyVirtualMachine in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
location - The virtual machine location
Returns:
true if everything ok, false otherwise

searchVirtualMachine

public String searchVirtualMachine(String virtualMachineId)
Checks if a virtual machine is active on all local controller.

Specified by:
searchVirtualMachine in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
virtualMachineId - The virtual machine identifier
Returns:
The local controller identifier

hasVirtualMachine

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

Specified by:
hasVirtualMachine in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
location - The virtual machine location
Returns:
true if everything ok, false otherwise

hasLocalController

public String hasLocalController(org.inria.myriads.snoozecommon.communication.NetworkAddress localControllerAddress)
Checks if a virtual machine is active a particular local controller.

Specified by:
hasLocalController in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
localControllerAddress - The virtual machine location
Returns:
true if everything ok, false otherwise

getVirtualMachineMetaData

public org.inria.myriads.snoozecommon.communication.virtualcluster.VirtualMachineMetaData getVirtualMachineMetaData(org.inria.myriads.snoozecommon.communication.virtualcluster.requests.MetaDataRequest request)
Routine to get virtual machine information.

Specified by:
getVirtualMachineMetaData in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
request - The meta data request
Returns:
The virtual machine meta data

getGroupManagerRepositoryInformation

public org.inria.myriads.snoozecommon.communication.groupmanager.repository.GroupManagerRepositoryInformation getGroupManagerRepositoryInformation(int numberOfMonitoringEntries)
Return the group leader information.

Specified by:
getGroupManagerRepositoryInformation in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
numberOfMonitoringEntries - The number of monitoring entries
Returns:
The group manager repository information

suspendEnergySaver

public boolean suspendEnergySaver()
Suspends the energy saver.

Specified by:
suspendEnergySaver in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Returns:
The group manager repository information

resumeEnergySaver

public boolean resumeEnergySaver()
Resumes the energy saver.

Specified by:
resumeEnergySaver in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Returns:
The group manager repository information

dropVirtualMachineMetaData

public boolean dropVirtualMachineMetaData(org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineLocation virtualMachineLocation)
Drops virtual machine meta data.

Specified by:
dropVirtualMachineMetaData in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
virtualMachineLocation - The virtual machine location
Returns:
true if everything ok, false otherwise

getVirtualMachineResponse

public org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualMachineSubmission getVirtualMachineResponse(String taskIdentifier)
Returns the virtual machine response.

Specified by:
getVirtualMachineResponse in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
taskIdentifier - The virtual machine task identifier
Returns:
The virtual machine response

getVirtualClusterResponse

public org.inria.myriads.snoozecommon.communication.virtualcluster.submission.VirtualClusterSubmissionResponse getVirtualClusterResponse(String taskIdentifier)
Returns the virtual cluster response if available.

Specified by:
getVirtualClusterResponse in interface org.inria.myriads.snoozecommon.communication.rest.api.GroupManagerAPI
Parameters:
taskIdentifier - The task identifier
Returns:
The virtual cluster response


Copyright © 2012. All Rights Reserved.