Overview | Package | Class | Use | Tree | Serialized | Deprecated | Index | Help
| ABLE 2.3.0 07/13/2005 14:21:00
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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, properties, 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
`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, getEventConnections, getNumEpochs, getProcessList, getUserDefinedFunction, getUserDefinedFunctions, handleAbleEvent, initAllBeans, invokeUserDefinedFunction, isActiveDataSource, propertyChange, quitAll, quitEnabledEventProcessing, removeAllBeans, removeAllConnections, removeAllEventConnections, removeBean, removeBean, removeBeans, removeEventConnection, removeUserDefinedFunction, reset, resetAllBeans, 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, getInputBufferAsString, getInputBufferAsStringArray, getInputBufferContents, getLogger, getName, getOutputBuffer, getOutputBuffer, getOutputBufferAsString, getOutputBufferAsStringArray, getOutputBufferContents, getParent, getProperties, getProperty, getPropertyChangeListeners, getPropertyConnectionManager, getSleepTime, getSourceBufferConnections, getState, getTraceLogger, hasInputBuffer, hasOutputBuffer, init, isAbleEventPostingEnabled, isAbleEventProcessingEnabled, isChanged, isConnectable, isDataFlowEnabled, isTimerEventProcessingEnabled, notifyAbleEventListeners, process, processAbleEvent, processBufferConnections, processNoEventProcessingEnabledSituation, removeAbleEventListener, removeAllAbleEventListeners, removeAllBufferConnections, removeAllPropertyConnections, removeDestBufferConnection, removeProperty, removePropertyChangeListener, removePropertyConnection, removeSourceBufferConnection, removeStateChangeListener, restartEnabledEventProcessing, restoreFromFile, restoreFromFile, restoreFromSerializedFile, restoreFromStream, resumeEnabledEventProcessing, saveToFile, saveToFile, setAbleEventProcessingEnabled, setChanged, setComment, setFileName, setInputBuffer, setInputBuffer, setLogger, setName, setOutputBuffer, setOutputBuffer, setParent, setProperties, setProperty, 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, getProperties, getProperty, getState, getTraceLogger, init, isChanged, process, removeProperty, setChanged, setComment, setLogger, setName, setParent, setProperties, setProperty, setState, setTraceLogger`

Methods inherited from interface com.ibm.able.AbleDataBufferManager
`addDestBufferConnection, addSourceBufferConnection, getDestBufferConnections, getInputBuffer, getInputBuffer, getInputBufferAsString, getInputBufferAsStringArray, getInputBufferContents, getOutputBuffer, getOutputBuffer, getOutputBufferAsString, 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, getPropertyChangeListeners, 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

See Also:
  Constant Field Values

### 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

  Specified by:
    `init` in interface `AbleBean`
  Overrides:
    `init` in class `AbleDefaultAgent`
  Throws:
    `AbleException`
  See Also:
    `AbleObject.init()`

### computeErrors

    public void computeErrors()
                       throws AbleException

  compute the differences between actual and desired service levels for one or more service level metrics

  Specified by:
    `computeErrors` in interface `AutotuneController`
  Overrides:
    `computeErrors` in class `BaseAutotuneController`
  Throws:
    `AbleException`

### computeControlActions

    public void computeControlActions()
                               throws AbleException

  compute the control actions for the target system or application

  Specified by:
    `computeControlActions` in interface `AutotuneController`
  Overrides:
    `computeControlActions` in class `BaseAutotuneController`
  Throws:
    `AbleException`

### setControlActions

    public void setControlActions()
                           throws AbleException

  Description copied from class: `BaseAutotuneController`
  set the control actions of the target system or application

  Specified by:
    `setControlActions` in interface `AutotuneController`
  Overrides:
    `setControlActions` in class `BaseAutotuneController`
  Throws:
    `AbleException`

### 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

  Specified by:
    `process` in interface `AbleBean`
  Overrides:
    `process` in class `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

  Specified by:
    `processTimerEvent` in interface `AbleEventQueueProcessor`
  Overrides:
    `processTimerEvent` in class `AbleObject`
  Throws:
    `AbleException` - If an error occurs.

Overview | Package | Class | Use | Tree | Serialized | Deprecated | Index | Help
| ABLE 2.3.0 07/13/2005 14:21:00
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

(C) Copyright IBM Corporation 1999, 2005