be.ac.ulg.montefiore.run.totem.repository.bgpAwareIGPWO
Class bgpAwareIGPWO

java.lang.Object
  extended by be.ac.ulg.montefiore.run.totem.repository.bgpAwareIGPWO.bgpAwareIGPWO
All Implemented Interfaces:
IGPWeightOptimization, DomainSyncAlgorithm, TotemAlgorithm

public class bgpAwareIGPWO
extends java.lang.Object
implements IGPWeightOptimization, DomainSyncAlgorithm

This class is a BGP-aware improvement of the integration of IGPWO (ULg / RUN). IGPWO is the optimizer for IGP link weights (UCL / POMS).

Creation date: 06-Fev-2007

Author:
Simon Balon (balon@run.montefiore.ulg.ac.be)

Constructor Summary
bgpAwareIGPWO()
           
 
Method Summary
 TotemActionList calculateWeights(int ASID, int[] TMID)
           
 TotemActionList calculateWeightsParameters(int ASID, int[] TMID, int num_iters, int w_max)
           
 TotemActionList calculateWeightsParameters(int ASID, int[] TMID, int num_iters, int w_max, boolean random, int seed, double min_samp_rate, double max_samp_rate, double init_samp_rate, boolean interDomainTE)
           
 java.util.HashMap getRunningParameters()
          Returns the parameters given when the algorithm was started
 java.util.List<ParameterDescriptor> getStartAlgoParameters()
          Returns the optional parameters that can be given when starting the algorithm
 void invalidateDB()
          Tells the algo that the database is not up-to-date
 boolean isDBValid()
          return true if the local DB is up-to-date
static void jniaddArc(int index, int new_id, int new_headnode, int new_tailnode, double new_capacity, int type)
           
static void jniaddCommodity(int matrix_index, int new_dstnode, int new_srcnode, double demandValue)
           
static void jniaddNode(int index, int new_id)
           
static double[] jnicalculateWeights(int interDomainTE)
           
static double[] jnicalculateWeightsParameters(int num_iteration, int w_max, int random_initial, int seed, double min_samp_rate, double max_samp_rate, double init_samp_rate, double[] initialWeights, int interDomainTE)
           
static void jniinitDBGraph(int num_nodes, int num_arcs)
          Calculates optimal weights for IGP weights given a traffic demand matrix.
static void jniinitDBTrafficMatrix(int num_nodes, int num_tm)
           
static void jnikillIGPWO()
           
 void restart()
          restarts the algorithm with the same parameters
 void start(java.util.HashMap params)
          Used to start and initialize the algorithm
 void stop()
          Used to stop the algorithm
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

bgpAwareIGPWO

public bgpAwareIGPWO()
Method Detail

jniinitDBGraph

public static void jniinitDBGraph(int num_nodes,
                                  int num_arcs)
Calculates optimal weights for IGP weights given a traffic demand matrix.


jniinitDBTrafficMatrix

public static void jniinitDBTrafficMatrix(int num_nodes,
                                          int num_tm)

jnicalculateWeights

public static double[] jnicalculateWeights(int interDomainTE)
                                    throws java.lang.Exception
Throws:
java.lang.Exception

jnicalculateWeightsParameters

public static double[] jnicalculateWeightsParameters(int num_iteration,
                                                     int w_max,
                                                     int random_initial,
                                                     int seed,
                                                     double min_samp_rate,
                                                     double max_samp_rate,
                                                     double init_samp_rate,
                                                     double[] initialWeights,
                                                     int interDomainTE)
                                              throws java.lang.Exception
Throws:
java.lang.Exception

jniaddArc

public static void jniaddArc(int index,
                             int new_id,
                             int new_headnode,
                             int new_tailnode,
                             double new_capacity,
                             int type)
                      throws AddDBException
Throws:
AddDBException

jniaddNode

public static void jniaddNode(int index,
                              int new_id)
                       throws AddDBException
Throws:
AddDBException

jniaddCommodity

public static void jniaddCommodity(int matrix_index,
                                   int new_dstnode,
                                   int new_srcnode,
                                   double demandValue)
                            throws AddDBException
Throws:
AddDBException

jnikillIGPWO

public static void jnikillIGPWO()
                         throws java.lang.Exception
Throws:
java.lang.Exception

start

public void start(java.util.HashMap params)
           throws AlgorithmInitialisationException
Description copied from interface: TotemAlgorithm
Used to start and initialize the algorithm

Specified by:
start in interface TotemAlgorithm
Throws:
AlgorithmInitialisationException

calculateWeights

public TotemActionList calculateWeights(int ASID,
                                        int[] TMID)
                                 throws java.lang.Exception
Specified by:
calculateWeights in interface IGPWeightOptimization
Throws:
java.lang.Exception

stop

public void stop()
Description copied from interface: TotemAlgorithm
Used to stop the algorithm

Specified by:
stop in interface TotemAlgorithm

calculateWeightsParameters

public TotemActionList calculateWeightsParameters(int ASID,
                                                  int[] TMID,
                                                  int num_iters,
                                                  int w_max)
                                           throws java.lang.Exception
Throws:
java.lang.Exception

calculateWeightsParameters

public TotemActionList calculateWeightsParameters(int ASID,
                                                  int[] TMID,
                                                  int num_iters,
                                                  int w_max,
                                                  boolean random,
                                                  int seed,
                                                  double min_samp_rate,
                                                  double max_samp_rate,
                                                  double init_samp_rate,
                                                  boolean interDomainTE)
                                           throws java.lang.Exception
Throws:
java.lang.Exception

getStartAlgoParameters

public java.util.List<ParameterDescriptor> getStartAlgoParameters()
Description copied from interface: TotemAlgorithm
Returns the optional parameters that can be given when starting the algorithm

Specified by:
getStartAlgoParameters in interface TotemAlgorithm
Returns:
the list of algorithm parameters

getRunningParameters

public java.util.HashMap getRunningParameters()
Description copied from interface: TotemAlgorithm
Returns the parameters given when the algorithm was started

Specified by:
getRunningParameters in interface TotemAlgorithm
Returns:

isDBValid

public boolean isDBValid()
Description copied from interface: DomainSyncAlgorithm
return true if the local DB is up-to-date

Specified by:
isDBValid in interface DomainSyncAlgorithm
Returns:

invalidateDB

public void invalidateDB()
Description copied from interface: DomainSyncAlgorithm
Tells the algo that the database is not up-to-date

Specified by:
invalidateDB in interface DomainSyncAlgorithm

restart

public void restart()
Description copied from interface: DomainSyncAlgorithm
restarts the algorithm with the same parameters

Specified by:
restart in interface DomainSyncAlgorithm


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