be.ac.ulg.montefiore.run.totem.repository.DAMOTE
Class JNIDAMOTE

java.lang.Object
  extended by be.ac.ulg.montefiore.run.totem.repository.DAMOTE.JNIDAMOTE

public class JNIDAMOTE
extends java.lang.Object

This class implements the JNI interface for DAMOTE (ULg). DAMOTE is a Decentralized Agent for Mpls Online Traffic Engineering.

Creation date: 02-Feb.-2005

Author:
Olivier Delcourt (delcourt@run.montefiore.ulg.ac.be)

Field Summary
 int[] lsps
           
 int sessId
           
 
Constructor Summary
JNIDAMOTE()
           
 
Method Summary
 void jniaddBackupLSP(int lspid, int primaryId, int[] path, int PL, int OA, float reservation, boolean type)
          Adds an already computed backup LSP to DAMOTE database
 void jniaddLink(int linkId, int color, int src, int dst, float[] cap, float[][] rbw, float[][] pbw, float[][] bbw, float[][] fbw)
          Adds Link in DAMOTE database
 void jniaddLSP(int lspid, int[] path, int PL, int OA, float reservation)
          Adds an already computed primary LSP to DAMOTE database Note that the least priority and the default OA will be chosen.
 void jniaddNode(int nodeId)
          Adds Node in DAMOTE database
 java.lang.Object[] jnicomputeBackupPath(int primarylspId, int[] backuplspIds, int backupType, boolean ADDLSP, boolean PREEMPT)
          Computes a global detour or local detours with DAMOTE
 int[] jnicomputePath(int lspId, int src, int dst, int rrid, int rrsrc, int rrdst, int PL, int OA, float reservation, int[] colorArray, boolean ADDLSP, boolean PREEMPT)
          Computes a primary LSP with DAMOTE
 void jniinitDamote(int nbOA, int nbPL, boolean colorClause, boolean allowReroute, boolean capacityClause, float loadbal, float load, float sqLoad, float relativeLoad, float sqRelativeLoad, float delay, float fortz, float[][] reroutingScorecoef)
          Initializes DAMOTE High Level configuration, database filling,...
 void jnikillDamote()
          Kills DAMOTE Unload DAMOTE from memory
 void jniprintDamoteDB()
           
 void jniremoveLink(int srcNodeId, int dstNodeId)
          Removes the link identified by srcNodeId and dstNodeId from DAMOTE database
 void jniremoveLSP(int lspid)
          Remove the LSP identified by lspid from DAMOTE database
 void jniremoveNode(int nodeId)
          Removes the node identified by nodeId from DAMOTE database
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lsps

public int[] lsps

sessId

public int sessId
Constructor Detail

JNIDAMOTE

public JNIDAMOTE()
Method Detail

jniprintDamoteDB

public void jniprintDamoteDB()

jniinitDamote

public void jniinitDamote(int nbOA,
                          int nbPL,
                          boolean colorClause,
                          boolean allowReroute,
                          boolean capacityClause,
                          float loadbal,
                          float load,
                          float sqLoad,
                          float relativeLoad,
                          float sqRelativeLoad,
                          float delay,
                          float fortz,
                          float[][] reroutingScorecoef)
Initializes DAMOTE High Level configuration, database filling,... DAMOTE code is more commented (see documentation of DAMOTE itself for details)

Parameters:
nbOA - the number of OAs or CTs(not taken into account in C code (FIX needed)
nbPL - the number of PLs - preemption or priority levels - (not taken into account in C code (FIX needed)
colorClause - link colors
allowReroute - allow rerouting of less prioritary LSPs when computing?
capacityClause - take into account the max capacity of the link
loadbal - loadbalancing score function contribution
load - minhop score function
sqLoad -
relativeLoad -
sqRelativeLoad - traffic minimization score function contribution
delay -
reroutingScorecoef - score function configuration

jnikillDamote

public void jnikillDamote()
Kills DAMOTE Unload DAMOTE from memory


jniaddNode

public void jniaddNode(int nodeId)
                throws AddDBException
Adds Node in DAMOTE database

Parameters:
nodeId -
Throws:
AddDBException

jniaddLink

public void jniaddLink(int linkId,
                       int color,
                       int src,
                       int dst,
                       float[] cap,
                       float[][] rbw,
                       float[][] pbw,
                       float[][] bbw,
                       float[][] fbw)
                throws AddDBException
Adds Link in DAMOTE database

Parameters:
linkId -
color -
src -
dst -
cap - capacity of the link per CT or OA
rbw - bandwidth caracteristics of the link
pbw - bandwidth caracteristics of the link
bbw - bandwidth caracteristics of the link
fbw - bandwidth caracteristics of the link
Throws:
AddDBException

jniaddLSP

public void jniaddLSP(int lspid,
                      int[] path,
                      int PL,
                      int OA,
                      float reservation)
               throws AddDBException
Adds an already computed primary LSP to DAMOTE database Note that the least priority and the default OA will be chosen. (No preemption support)

Parameters:
lspid - the LSP id of the LSP
path - the path as a list of NODE ids
PL -
OA -
reservation - requested bandwidth
Throws:
AddDBException

jniaddBackupLSP

public void jniaddBackupLSP(int lspid,
                            int primaryId,
                            int[] path,
                            int PL,
                            int OA,
                            float reservation,
                            boolean type)
                     throws AddDBException
Adds an already computed backup LSP to DAMOTE database

Parameters:
lspid - the LSP id of the LSP
primaryId - the LSP id of the protected LSP
path - the path as a list of NODE ids
PL -
OA -
reservation - requested bandwidth
type - false for global backup, true for local backup
Throws:
AddDBException

jniremoveLSP

public void jniremoveLSP(int lspid)
                  throws AddDBException
Remove the LSP identified by lspid from DAMOTE database

Parameters:
lspid -
Throws:
AddDBException

jniremoveNode

public void jniremoveNode(int nodeId)
                   throws AddDBException
Removes the node identified by nodeId from DAMOTE database

Parameters:
nodeId -
Throws:
AddDBException

jniremoveLink

public void jniremoveLink(int srcNodeId,
                          int dstNodeId)
                   throws AddDBException
Removes the link identified by srcNodeId and dstNodeId from DAMOTE database

Parameters:
srcNodeId -
dstNodeId -
Throws:
AddDBException

jnicomputePath

public int[] jnicomputePath(int lspId,
                            int src,
                            int dst,
                            int rrid,
                            int rrsrc,
                            int rrdst,
                            int PL,
                            int OA,
                            float reservation,
                            int[] colorArray,
                            boolean ADDLSP,
                            boolean PREEMPT)
                     throws AddDBException,
                            NoRouteToHostException,
                            RoutingException
Computes a primary LSP with DAMOTE

Parameters:
lspId -
src -
dst -
rrid - used when computing a rerouting of another LSP
rrsrc - used when computing a rerouting of another LSP
rrdst - used when computing a rerouting of another LSP
PL -
OA -
reservation - requested bandwidth
colorArray - lists of link colors that should not be used
ADDLSP - add the LSP to the database
PREEMPT - allow preemption
Returns:
Throws:
AddDBException
NoRouteToHostException
RoutingException

jnicomputeBackupPath

public java.lang.Object[] jnicomputeBackupPath(int primarylspId,
                                               int[] backuplspIds,
                                               int backupType,
                                               boolean ADDLSP,
                                               boolean PREEMPT)
                                        throws AddDBException,
                                               NoRouteToHostException
Computes a global detour or local detours with DAMOTE

Parameters:
primarylspId -
backupType -
ADDLSP -
PREEMPT -
Returns:
Throws:
AddDBException
NoRouteToHostException


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