it.unina.repository.MIRA
Class MIRA

java.lang.Object
  extended by it.unina.repository.MIRA.MIRA
All Implemented Interfaces:
DomainSyncAlgorithm, LSPPrimaryRouting, TotemAlgorithm

public class MIRA
extends java.lang.Object
implements LSPPrimaryRouting, DomainSyncAlgorithm

This class implements the integration of MIRA (Unina). This is the algorithms described in : NewMira (Wang, B., Su, X., Chen, C.: A New Bandwidth Guaranteed Routing Algorithm for MPLS Traffic Engineering. In Proceedings of IEEE International Conference on Communications, ICC 2002) Simple MIRA (Iliadis, I., Bauer, D.: A New Class of Online Minimum-Interference Routing Algorithms. NETWORKING 2002, LNCS 2345 (2002) 959-971)

Creation date : 6 juin 2005 14:55:06

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

Constructor Summary
MIRA()
           
 
Method Summary
 void addLSP(Lsp lsp)
          Adds an LSP to MIRA database
 java.util.List<ParameterDescriptor> getPrimaryRoutingParameters()
           
 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
 void removeLSP(java.lang.String lspid)
          Remove an LSP from MIRA database
 void restart()
          restarts the algorithm with the same parameters
 TotemActionList routeLSP(Domain dom, LSPPrimaryRoutingParameter param)
          Computes a path with MIRA for one demand from a source node to a destination node with a bandwidth requirement
 TotemActionList routeNLSP(Domain dom, java.util.List<LSPPrimaryRoutingParameter> param)
          Computes paths with MIRA for a list of demands.
 void start(java.util.HashMap params)
          Used to start and initialize the algorithm
 void stop()
          Cleans all Mira data structures
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MIRA

public MIRA()
Method Detail

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

stop

public void stop()
Cleans all Mira data structures

Specified by:
stop in interface TotemAlgorithm

routeNLSP

public TotemActionList routeNLSP(Domain dom,
                                 java.util.List<LSPPrimaryRoutingParameter> param)
                          throws RoutingException,
                                 NoRouteToHostException,
                                 LocalDatabaseException
Computes paths with MIRA for a list of demands. This method just calls the routeLSP method for each demand.

Specified by:
routeNLSP in interface LSPPrimaryRouting
Parameters:
param - the list of the demand specified as a list of LSPPrimaryRoutingParameter
Returns:
a list of AddLspAction
Throws:
RoutingException
NoRouteToHostException
LocalDatabaseException

routeLSP

public TotemActionList routeLSP(Domain dom,
                                LSPPrimaryRoutingParameter param)
                         throws RoutingException,
                                NoRouteToHostException,
                                LocalDatabaseException
Computes a path with MIRA for one demand from a source node to a destination node with a bandwidth requirement

Specified by:
routeLSP in interface LSPPrimaryRouting
Parameters:
param - contains the source, destination, bandwidth, PL, OA, ...
Returns:
a list of actions
Throws:
RoutingException
NoRouteToHostException
LocalDatabaseException

addLSP

public void addLSP(Lsp lsp)
            throws RoutingException
Adds an LSP to MIRA database

Parameters:
lsp - the LSP to be added
Throws:
RoutingException

removeLSP

public void removeLSP(java.lang.String lspid)
               throws RoutingException
Remove an LSP from MIRA database

Parameters:
lspid -
Throws:
RoutingException

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:

getPrimaryRoutingParameters

public java.util.List<ParameterDescriptor> getPrimaryRoutingParameters()
Specified by:
getPrimaryRoutingParameters in interface LSPPrimaryRouting

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.