be.ac.ulg.montefiore.run.totem.repository.optDivideTM
Class OptDivideTMLoadComputer

java.lang.Object
  extended by be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.AbstractLinkLoadComputer
      extended by be.ac.ulg.montefiore.run.totem.repository.optDivideTM.OptDivideTMLoadComputer
All Implemented Interfaces:
LinkLoadComputer

public class OptDivideTMLoadComputer
extends AbstractLinkLoadComputer

This class implements a Traffic Engineering method which consist to divide the traffic matrix into N sub-matrices (called strata). Each stratum is routed independently of each other. Concerning the implementation of such solution, it is possible to establish multiple MPLS full-mesh (N) or to use the Multi-Topology functionality (N multiple topologies).

Creation date: 18/01/2007

Author:
Gaƫl Monfort (monfort@run.montefiore.ulg.ac.be)

Field Summary
 
Fields inherited from class be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.AbstractLinkLoadComputer
changeListener, domain
 
Constructor Summary
OptDivideTMLoadComputer(Domain domain, TrafficMatrix tm)
           
 
Method Summary
 double computeOptimumApproximation()
           
 LoadData detachData()
          Returns the data used by the link load computer and do not use it internally any more.
 boolean equals(java.lang.Object o)
          returns true if the LinkLoadComputer uses the same parameters as the object o.
 void establishFullmeshes()
           
 LoadData getData()
          Returns a view of the data.
 java.lang.String getShortName()
          Return a string representing the parameters in short.
 java.util.List<TrafficMatrix> getTrafficMatrices()
          TODO: maybe change this to a set Returns the traffic matrix.
 int hashCode()
           
 boolean isECMP()
           
 void recompute()
          Recomputes the load data.
 void setECMP(boolean ECMP)
           
 void setN(int N)
           
 void setObjectiveFunction(java.lang.String objectiveFunction)
           
 void setObjectiveFunction(TEObjectiveFunction objectiveFunction)
           
 void setVerbose(boolean verbose)
           
 java.lang.String toString()
           
 
Methods inherited from class be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.AbstractLinkLoadComputer
addListener, dataChanged, destroy, getDomain, invalidate, isUpToDate, removeListener, setUptoDate, startListening, stopListening, update
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OptDivideTMLoadComputer

public OptDivideTMLoadComputer(Domain domain,
                               TrafficMatrix tm)
Method Detail

isECMP

public boolean isECMP()

setECMP

public void setECMP(boolean ECMP)

recompute

public void recompute()
Description copied from interface: LinkLoadComputer
Recomputes the load data.


establishFullmeshes

public void establishFullmeshes()
                         throws NoRouteToHostException,
                                RoutingException
Throws:
NoRouteToHostException
RoutingException

computeOptimumApproximation

public double computeOptimumApproximation()

setObjectiveFunction

public void setObjectiveFunction(java.lang.String objectiveFunction)
                          throws ObjectiveFunctionException
Throws:
ObjectiveFunctionException

setObjectiveFunction

public void setObjectiveFunction(TEObjectiveFunction objectiveFunction)

setN

public void setN(int N)

setVerbose

public void setVerbose(boolean verbose)

getTrafficMatrices

public java.util.List<TrafficMatrix> getTrafficMatrices()
Description copied from interface: LinkLoadComputer
TODO: maybe change this to a set Returns the traffic matrix.

Returns:

getShortName

public java.lang.String getShortName()
Description copied from interface: LinkLoadComputer
Return a string representing the parameters in short.

Returns:

equals

public boolean equals(java.lang.Object o)
Description copied from interface: LinkLoadComputer
returns true if the LinkLoadComputer uses the same parameters as the object o. (the computed data at a given moment are equivalent)

Specified by:
equals in interface LinkLoadComputer
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Specified by:
hashCode in interface LinkLoadComputer
Overrides:
hashCode in class java.lang.Object

getData

public LoadData getData()
Description copied from interface: LinkLoadComputer
Returns a view of the data. The returned data are still used internally.

Returns:

detachData

public LoadData detachData()
Description copied from interface: LinkLoadComputer
Returns the data used by the link load computer and do not use it internally any more. After the data has been detached, the load has to be computed again by a call to LinkLoadComputer.recompute().

Returns:

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2004-2007 Research Unit in Networking, All Rights Reserved.