hu.mta.sztaki.lpds.cloud.simulator.iaas.pmscheduling
Class PhysicalMachineController

java.lang.Object
  extended by hu.mta.sztaki.lpds.cloud.simulator.iaas.pmscheduling.PhysicalMachineController
Direct Known Subclasses:
AlwaysOnMachines, SchedulingDependentMachines

public abstract class PhysicalMachineController
extends Object

This class contains the main interface for the schedulers of Physical machine states. Although the interface is rather simplistic, its powers lie in the possible events that could come because the returned objects of the interfaces will be used for subscribing to various events.

Author:
"Gabor Kecskemeti, Laboratory of Parallel and Distributed Systems, MTA SZTAKI (c) 2012"

Field Summary
protected  IaaSService parent
          The Infrastructure service that will have the physical machines to be controlled and overseen by the particular implementations of this class
protected  Scheduler.QueueingEvent queueingEvent
          The event consumer object that will get notifications if the VM scheduler of the IaaS is under stress.
 
Constructor Summary
PhysicalMachineController(IaaSService parent)
          The main constructor which initiates the class and manages the subscriptions to the necessary basic events
 
Method Summary
protected abstract  VMManager.CapacityChangeEvent<PhysicalMachine> getHostRegEvent()
          Calling this function should return an object which knows what to do in case a new host registration/deregistration happens on the parent IaaS service.
protected abstract  Scheduler.QueueingEvent getQueueingEvent()
          Calling this function should return an object that knows the necessary actions to take when the IaaS's VM scheduler alarms us for overutilized infrastructure.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parent

protected final IaaSService parent
The Infrastructure service that will have the physical machines to be controlled and overseen by the particular implementations of this class


queueingEvent

protected final Scheduler.QueueingEvent queueingEvent
The event consumer object that will get notifications if the VM scheduler of the IaaS is under stress.

Constructor Detail

PhysicalMachineController

public PhysicalMachineController(IaaSService parent)
The main constructor which initiates the class and manages the subscriptions to the necessary basic events

Parameters:
parent - the iaas service the future object will need to oversee
Method Detail

getHostRegEvent

protected abstract VMManager.CapacityChangeEvent<PhysicalMachine> getHostRegEvent()
Calling this function should return an object which knows what to do in case a new host registration/deregistration happens on the parent IaaS service.

Returns:
the object to handle the registration events

getQueueingEvent

protected abstract Scheduler.QueueingEvent getQueueingEvent()
Calling this function should return an object that knows the necessary actions to take when the IaaS's VM scheduler alarms us for overutilized infrastructure.

Returns:
the object to handle the VM scheduling related events


Copyright © 2012–2015 University of Innsbruck & MTA SZTAKI. All rights reserved.