be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl
Class BasicIGPShortcutStrategy

java.lang.Object
  extended by be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.LinkLoadStrategyAdapter
      extended by be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.BasicIGPShortcutStrategy
All Implemented Interfaces:
LinkLoadStrategy, TmLoadComputer

public class BasicIGPShortcutStrategy
extends LinkLoadStrategyAdapter
implements LinkLoadStrategy

Implement the basic IGP shortcut link load computation strategy. In this model, all the packets arriving at node A with destination B will be forwarded in the LSP from A to B if exists. This model is the most simple and can be easily implement in real networks. A simple lookup in the BGP table gives the next-hop for any prefix. If an LSP exists to this next-hop, it will be used to forward the traffic. The LSP appears like a virtual interface in the forwarding table. Note: this class does not use ECMP.

Creation date: 28-Jun-2005 18:04:30

Author:
Fabian Skivee (skivee@run.montefiore.ulg.ac.be)

Field Summary
 
Fields inherited from class be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.LinkLoadStrategyAdapter
ECMP, reuseComputedPath, spf, stopOnError
 
Constructor Summary
BasicIGPShortcutStrategy()
           
 
Method Summary
 double[] compute(Domain domain, TrafficMatrix tm)
          Compute the link load of the specified traffic matrix on the domain
 Path computePath(Domain domain, Node srcNode, Node dstNode)
           
 boolean equals(java.lang.Object o)
           
 int hashCode()
           
 boolean isECMP()
          Get the ECMP (Equal-Cost Multi-Path) property.
 
Methods inherited from class be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.LinkLoadStrategyAdapter
getSPFAlgo, isReuseComputedPath, isStopOnError, setECMP, setReuseComputedPath, setSPFAlgo, setStopOnError, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface be.ac.ulg.montefiore.run.totem.trafficMatrix.model.LinkLoadStrategy
getSPFAlgo, isReuseComputedPath, isStopOnError, setECMP, setReuseComputedPath, setSPFAlgo, setStopOnError, toString
 

Constructor Detail

BasicIGPShortcutStrategy

public BasicIGPShortcutStrategy()
Method Detail

compute

public double[] compute(Domain domain,
                        TrafficMatrix tm)
                 throws NoRouteToHostException,
                        RoutingException
Compute the link load of the specified traffic matrix on the domain

Specified by:
compute in interface TmLoadComputer
Parameters:
domain - the domain
tm - the traffic matrix to route
Returns:
the load of each link as an array of double
Throws:
NoRouteToHostException - occurs if there is no route from a source to a destination
RoutingException - occurs if the routing algorithms encounter a error

computePath

public Path computePath(Domain domain,
                        Node srcNode,
                        Node dstNode)
                 throws NoRouteToHostException,
                        RoutingException,
                        LspNotFoundException,
                        LinkNotFoundException,
                        NodeNotFoundException
Throws:
NoRouteToHostException
RoutingException
LspNotFoundException
LinkNotFoundException
NodeNotFoundException

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in interface LinkLoadStrategy
Overrides:
equals in class LinkLoadStrategyAdapter

hashCode

public int hashCode()
Specified by:
hashCode in interface LinkLoadStrategy
Overrides:
hashCode in class LinkLoadStrategyAdapter

isECMP

public boolean isECMP()
Description copied from class: LinkLoadStrategyAdapter
Get the ECMP (Equal-Cost Multi-Path) property.

By default : false

Specified by:
isECMP in interface LinkLoadStrategy
Overrides:
isECMP in class LinkLoadStrategyAdapter
Returns:
true if equal-cost multi-path is activated and false otherwise


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