gov.nist.antd.optical
Class QualityOfService

java.lang.Object
  |
  +--gov.nist.antd.optical.QualityOfService

public class QualityOfService
extends java.lang.Object

This class represents the default QoS for optical connection. This class contains two different kinds of algorithm:
  I rwa (routing and wavelength combined
  II.1 routing algorithm to compute the route(s) only
  II.2 wavelength algorithm to compute the path out of given route(s)
It only can be used on setting, I or II.

 This class was developed at the National Institute of Standards and
 Technology by employees of the Federal Government in the course of
 their official duties. Pursuant to title 17 Section 105 of the United
 States Code this software is not subject to copyright protection and
 is in the public domain.
 NIST assumes no responsibility whatsoever for its use by other parties,
 and makes no guarantees, expressed or implied, about its quality,
 reliability, or any other characteristic.
 
We would appreciate acknowledgement if the software is used.
NIST ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.

Author:
borchert
, rouil

Field Summary
private  double bandwidth
          The bandwidth requested (Default = 2.5 Gig/s)
private  double delay
          The maximum delay of this connection
private  java.lang.String routing
          The routing algorithm that will be used to compute the route.
private  java.lang.String rwa
          The routing and wavelength algorithm that will be used to compute both route and path in one step.
private  java.util.Vector srlg
          This vector contains integers.
private  java.lang.String wavelength
          The wavelength algorithm that will be used to compute the wavelength.
 
Constructor Summary
QualityOfService()
          Default construtor
QualityOfService(double bandwidth, java.lang.String rwa)
          Create of an object QualityOfService
QualityOfService(double bandwidth, java.lang.String routing, java.lang.String wavelength)
          Create of an object QualityOfService
 
Method Summary
 void addSrlg(java.lang.Integer newSrlg)
          Set the Shared Risk Link Group for this connection request.
 void config(Net net, com.renesys.raceway.DML.Configuration cfg)
          Configure the QoS.
 double getBandwidth()
          Get the bandwidth.
 double getDelay()
          Get the delay.
 java.lang.String getRoutingAlgorithm()
          Get the name of the routing algorithm
 java.lang.String getRWA()
          Get the name of the rwa.
 java.util.Vector getSrlg()
          Return the Shared Risk Link Groups of this connection request.
 java.lang.String getWavelengthAlgorithm()
          Get the name of the wavelength algorithm
 boolean isRWA()
          Determines if the specified algorithm is a compioned routing and wavenlength assignment algorithm (RWA).
 void setBandwidth(double bandwidth)
          Set the bandwidth.
 void setDelay(double delay)
          Set the delay.
 void setRoutingAlgorithm(java.lang.String newRouting)
          Set the centralized routing algorithm
 void setRWA(java.lang.String newRWA)
          Set the centralized routing and wavelength assignment algorithm.
 void setWavelengthAlgorithm(java.lang.String newWavelength)
          Set the name of the wavelength assignment algorithm.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bandwidth

private double bandwidth
The bandwidth requested (Default = 2.5 Gig/s)


routing

private java.lang.String routing
The routing algorithm that will be used to compute the route.


wavelength

private java.lang.String wavelength
The wavelength algorithm that will be used to compute the wavelength.


rwa

private java.lang.String rwa
The routing and wavelength algorithm that will be used to compute both route and path in one step.


srlg

private java.util.Vector srlg
This vector contains integers. Each integer represents a shared Risk link Group that should not appear in the future route.


delay

private double delay
The maximum delay of this connection

Constructor Detail

QualityOfService

public QualityOfService()
Default construtor


QualityOfService

public QualityOfService(double bandwidth,
                        java.lang.String routing,
                        java.lang.String wavelength)
Create of an object QualityOfService

Parameters:
bandwidth - The required bandwidth
routing - The name of the routing algorithm
wavelength - The name of the wavelength assignment algorithm

QualityOfService

public QualityOfService(double bandwidth,
                        java.lang.String rwa)
Create of an object QualityOfService

Parameters:
bandwidth - The required bandwidth
rwa - The name of the routing and wavelength algorithm.
Method Detail

getBandwidth

public double getBandwidth()
Get the bandwidth.

Returns:
The bandwitdh

setBandwidth

public void setBandwidth(double bandwidth)
Set the bandwidth.

Parameters:
bandwidth - The requested bandwitdh

getDelay

public double getDelay()
Get the delay.

Returns:
The delay

setDelay

public void setDelay(double delay)
Set the delay.

Parameters:
delay - The maximum delay of the route

getRoutingAlgorithm

public java.lang.String getRoutingAlgorithm()
Get the name of the routing algorithm

Returns:
The name of the routing algorithm

setRoutingAlgorithm

public void setRoutingAlgorithm(java.lang.String newRouting)
                         throws IllegalDataException
Set the centralized routing algorithm

Parameters:
newRouting - The name of the routing algorithm
Throws:
IllegalDataException - Will be thrown if the rwa is already specified (ambiguous information).

getWavelengthAlgorithm

public java.lang.String getWavelengthAlgorithm()
Get the name of the wavelength algorithm

Returns:
The centralized wavelength algorithm

setWavelengthAlgorithm

public void setWavelengthAlgorithm(java.lang.String newWavelength)
                            throws IllegalDataException
Set the name of the wavelength assignment algorithm.

Parameters:
newWavelength - The wavelength assignment algorithm.
Throws:
IllegalDataException - Will be thrown if the rwa is already specified (ambiguous information).

getRWA

public java.lang.String getRWA()
Get the name of the rwa.

Returns:
The name of the rwa.

isRWA

public boolean isRWA()
Determines if the specified algorithm is a compioned routing and wavenlength assignment algorithm (RWA). If so this algorithm is executes both steps, the creation of a route and the assignment of wavelength.

Returns:
true if the algorithm is a rwa otherwise false.

setRWA

public void setRWA(java.lang.String newRWA)
            throws IllegalDataException
Set the centralized routing and wavelength assignment algorithm.

Parameters:
newRWA - The routing and wavelength assignment algorithm.
Throws:
IllegalDataException - Will be thrown if the routing or wavelength assignment algorithm is already specified (ambiguous information).

config

public void config(Net net,
                   com.renesys.raceway.DML.Configuration cfg)
            throws com.renesys.raceway.DML.configException
Configure the QoS.

Parameters:
net - the network this QoS belongs to.
cfg - connection's configuration
Throws:
com.renesys.raceway.DML.configException - when a configuration exception occurs.

addSrlg

public void addSrlg(java.lang.Integer newSrlg)
Set the Shared Risk Link Group for this connection request.

Parameters:
newSrlg - The number of the srlg that has to be added

getSrlg

public java.util.Vector getSrlg()
Return the Shared Risk Link Groups of this connection request.

Returns:
A clone of the internal Vector.