ABLE 2.0.0 07/02/2003 10:25:01

com.ibm.able.autotune
Class Fuzzy2WayLoadBalanceController

java.lang.Object
  |
  +--com.ibm.able.AbleObject
        |
        +--com.ibm.able.AbleDefaultAgent
              |
              +--com.ibm.able.autotune.BaseAutotuneController
                    |
                    +--com.ibm.able.autotune.Fuzzy2WayLoadBalanceController
All Implemented Interfaces:
AbleAgent, AbleBean, AbleBeanContainer, AbleDataBufferManager, AbleEventListener, AbleEventListenerManager, AbleEventQueueManager, AbleEventQueueProcessor, AblePropertyChangeManager, AbleSerializable, AbleUserDefinedFunctionManager, AutotuneController, java.util.EventListener, java.beans.PropertyChangeListener, java.io.Serializable

public class Fuzzy2WayLoadBalanceController
extends BaseAutotuneController

This autotune controller uses fuzzy rules to balance the load between two service level metrics, using a single control value

See Also:
Serialized Form

Field Summary
protected  double changeInError
           
static java.lang.String DefaultRuleSetFileName
           
protected  double error
           
protected  double force
           
protected  AbleRuleSet fuzzyController
           
protected  double lastError
           
protected  AutotuneTuningControlMetric loadBalanceTuningControlMetric
           
protected  java.lang.String ruleSetFileName
           
protected  AutotuneServiceLevelMetric serviceLevelMetricA
           
protected  AutotuneServiceLevelMetric serviceLevelMetricB
           
 
Fields inherited from class com.ibm.able.autotune.BaseAutotuneController
adaptor, selectedMetrics
 
Fields inherited from class com.ibm.able.AbleDefaultAgent
activeDataSource, defaultName, eventConnections, myBeans, numEpochs, processList, processListOK, userDefinedFunctions
 
Fields inherited from class com.ibm.able.AbleObject
changed, chgSupport, comment, dataFlowEnabled, destBufferConnections, eventQueue, fileName, inputBuffer, listeners, logger, name, outputBuffer, parent, propertyConnectionMgr, sourceBufferConnections, state, stateChgSupport, trace
 
Constructor Summary
Fuzzy2WayLoadBalanceController()
           
 
Method Summary
 void computeControlActions()
          compute the control actions for the target system or application
 void computeErrors()
          compute the differences between actual and desired service levels for one or more service level metrics
static java.lang.String Copyright()
          Determine the copyright of this class.
 double getChangeInError()
           
 double getError()
           
 double getForce()
           
 double getLastError()
           
 AutotuneTuningControlMetric getLoadBalanceTuningControlMetric()
           
 java.lang.String getRuleSetFileName()
           
 AutotuneServiceLevelMetric getServiceLevelMetricA()
           
 AutotuneServiceLevelMetric getServiceLevelMetricB()
           
 void init()
          Load the fuzzy rule set
 void process()
          compute the difference between target and actual service levels compute the control actions to take (if any) set the tuning control values and propagate them to the target system
 void processTimerEvent()
          not sure if this will be used
 void setControlActions()
          set the control actions of the target system or application
 void setLoadBalanceTuningControlMetric(AutotuneTuningControlMetric metric)
           
 void setRuleSetFileName(java.lang.String ruleSetFileName)
           
 void setServiceLevelMetricA(AutotuneServiceLevelMetric metric)
           
 void setServiceLevelMetricB(AutotuneServiceLevelMetric metric)
           
 
Methods inherited from class com.ibm.able.autotune.BaseAutotuneController
getLogData, getLogDataFileName, getSelectedMetrics, isLogData, setAdaptor, setLogData, setLogDataFileName, setSelectedMetrics
 
Methods inherited from class com.ibm.able.AbleDefaultAgent
addBean, addBeans, addEventConnection, addUserDefinedFunction, buildProcessList, clsNm, containsBean, containsBean, containsUserDefinedFunction, debugTrace, generateUniqueName, getBean, getBeans, getDataSource, getNumEpochs, getProcessList, getUserDefinedFunction, getUserDefinedFunctions, handleAbleEvent, invokeUserDefinedFunction, isActiveDataSource, propertyChange, quitAll, quitEnabledEventProcessing, removeAllBeans, removeAllConnections, removeAllEventConnections, removeBean, removeBean, removeBeans, removeEventConnection, removeUserDefinedFunction, reset, resumeAll, setActiveDataSource, setDataFlowEnabled, setProcessList, setUserDefinedFunctions, suspendAll
 
Methods inherited from class com.ibm.able.AbleObject
addAbleEventListener, addDestBufferConnection, addPropertyChangeListener, addPropertyConnection, addSourceBufferConnection, addStateChangeListener, dataChanged, firePropertyChange, flushAbleEventQueue, getAbleEventListeners, getAbleEventProcessingEnabled, getAbleEventQueueSize, getComment, getDestBufferConnections, getFileName, getInputBuffer, getInputBuffer, getInputBufferAsStringArray, getInputBufferContents, getLogger, getName, getOutputBuffer, getOutputBuffer, getOutputBufferAsStringArray, getOutputBufferContents, getParent, getPropertyConnectionManager, getSleepTime, getSourceBufferConnections, getState, getTraceLogger, hasInputBuffer, hasOutputBuffer, init, isAbleEventPostingEnabled, isAbleEventProcessingEnabled, isChanged, isConnectable, isDataFlowEnabled, isTimerEventProcessingEnabled, notifyAbleEventListeners, process, processAbleEvent, processBufferConnections, processNoEventProcessingEnabledSituation, removeAbleEventListener, removeAllAbleEventListeners, removeAllBufferConnections, removeAllPropertyConnections, removeDestBufferConnection, removePropertyChangeListener, removePropertyConnection, removeSourceBufferConnection, removeStateChangeListener, restartEnabledEventProcessing, restoreFromFile, restoreFromFile, restoreFromSerializedFile, restoreFromStream, resumeEnabledEventProcessing, saveToFile, saveToFile, setAbleEventProcessingEnabled, setChanged, setComment, setFileName, setInputBuffer, setInputBuffer, setLogger, setName, setOutputBuffer, setOutputBuffer, setParent, setSleepTime, setState, setTimerEventProcessingEnabled, setTraceLogger, sourceConnectionsOK, startEnabledEventProcessing, suspendEnabledEventProcessing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.ibm.able.AbleBean
getComment, getLogger, getName, getParent, getState, getTraceLogger, init, isChanged, process, setChanged, setComment, setLogger, setName, setParent, setState, setTraceLogger
 
Methods inherited from interface com.ibm.able.AbleDataBufferManager
addDestBufferConnection, addSourceBufferConnection, getDestBufferConnections, getInputBuffer, getInputBuffer, getInputBufferAsStringArray, getInputBufferContents, getOutputBuffer, getOutputBuffer, getOutputBufferAsStringArray, getOutputBufferContents, getSourceBufferConnections, hasInputBuffer, hasOutputBuffer, isConnectable, isDataFlowEnabled, processBufferConnections, removeAllBufferConnections, removeDestBufferConnection, removeSourceBufferConnection, setInputBuffer, setInputBuffer, setOutputBuffer, setOutputBuffer
 
Methods inherited from interface com.ibm.able.AbleEventListenerManager
addAbleEventListener, dataChanged, getAbleEventListeners, notifyAbleEventListeners, removeAbleEventListener
 
Methods inherited from interface com.ibm.able.AbleEventQueueManager
flushAbleEventQueue, getAbleEventProcessingEnabled, getAbleEventQueueSize, getSleepTime, isAbleEventPostingEnabled, isAbleEventProcessingEnabled, isTimerEventProcessingEnabled, restartEnabledEventProcessing, resumeEnabledEventProcessing, setAbleEventProcessingEnabled, setSleepTime, setTimerEventProcessingEnabled, startEnabledEventProcessing, suspendEnabledEventProcessing
 
Methods inherited from interface com.ibm.able.AbleEventQueueProcessor
processAbleEvent, processNoEventProcessingEnabledSituation
 
Methods inherited from interface com.ibm.able.AblePropertyChangeManager
addPropertyChangeListener, addPropertyConnection, getPropertyConnectionManager, removeAllPropertyConnections, removePropertyChangeListener, removePropertyConnection
 
Methods inherited from interface com.ibm.able.AbleSerializable
getFileName, restoreFromFile, restoreFromFile, saveToFile, saveToFile, setFileName
 
Methods inherited from interface com.ibm.able.AbleBeanContainer
getName
 

Field Detail

DefaultRuleSetFileName

public static final java.lang.String DefaultRuleSetFileName

ruleSetFileName

protected java.lang.String ruleSetFileName

fuzzyController

protected AbleRuleSet fuzzyController

lastError

protected double lastError

error

protected double error

changeInError

protected double changeInError

force

protected double force

serviceLevelMetricA

protected AutotuneServiceLevelMetric serviceLevelMetricA

serviceLevelMetricB

protected AutotuneServiceLevelMetric serviceLevelMetricB

loadBalanceTuningControlMetric

protected AutotuneTuningControlMetric loadBalanceTuningControlMetric
Constructor Detail

Fuzzy2WayLoadBalanceController

public Fuzzy2WayLoadBalanceController()
                               throws AbleException
Method Detail

setRuleSetFileName

public void setRuleSetFileName(java.lang.String ruleSetFileName)

getRuleSetFileName

public java.lang.String getRuleSetFileName()

setServiceLevelMetricA

public void setServiceLevelMetricA(AutotuneServiceLevelMetric metric)

getServiceLevelMetricA

public AutotuneServiceLevelMetric getServiceLevelMetricA()

setServiceLevelMetricB

public void setServiceLevelMetricB(AutotuneServiceLevelMetric metric)

getServiceLevelMetricB

public AutotuneServiceLevelMetric getServiceLevelMetricB()

setLoadBalanceTuningControlMetric

public void setLoadBalanceTuningControlMetric(AutotuneTuningControlMetric metric)

getLoadBalanceTuningControlMetric

public AutotuneTuningControlMetric getLoadBalanceTuningControlMetric()

getLastError

public double getLastError()

getError

public double getError()

getChangeInError

public double getChangeInError()

getForce

public double getForce()

init

public void init()
          throws AbleException
Load the fuzzy rule set
Overrides:
init in class AbleObject
Following copied from interface: com.ibm.able.AbleBean
Throws:
AbleException - If an error occurs.

computeErrors

public void computeErrors()
                   throws AbleException
compute the differences between actual and desired service levels for one or more service level metrics
Overrides:
computeErrors in class BaseAutotuneController

computeControlActions

public void computeControlActions()
                           throws AbleException
compute the control actions for the target system or application
Overrides:
computeControlActions in class BaseAutotuneController

setControlActions

public void setControlActions()
                       throws AbleException
Description copied from class: BaseAutotuneController
set the control actions of the target system or application
Overrides:
setControlActions in class BaseAutotuneController

process

public void process()
             throws AbleException
compute the difference between target and actual service levels compute the control actions to take (if any) set the tuning control values and propagate them to the target system
Overrides:
process in class AbleDefaultAgent
Following copied from class: com.ibm.able.AbleDefaultAgent
Throws:
AbleException - If an error occurs. Errors from each contained bean are accumulated.

processTimerEvent

public void processTimerEvent()
                       throws AbleException
not sure if this will be used
Overrides:
processTimerEvent in class AbleObject
Following copied from interface: com.ibm.able.AbleEventQueueProcessor
Throws:
AbleException - If an error occurs.

Copyright

public static java.lang.String Copyright()
Determine the copyright of this class.
Returns:
A String containing this class's copyright statement.


ABLE 2.0.0 07/02/2003 10:25:01

(C) Copyright IBM Corporation 1999, 2003