be.ac.ulg.montefiore.run.totem.domain.diffserv
Class MAMModel

java.lang.Object
  extended by be.ac.ulg.montefiore.run.totem.domain.diffserv.MAMModel
All Implemented Interfaces:
DiffServModel

public class MAMModel
extends java.lang.Object
implements DiffServModel

Implements the Maximum Allocation Bandwidth Constraints Model (MAM). See RFC 4125.

Creation date: 7/01/2008

Author:
Gaƫl Monfort (monfort@run.montefiore.ulg.ac.be)

Method Summary
 boolean checkConstraints(Domain domain, float[] bc, float mrbw)
          Every bandwidth constraint should be inferior or equal to the maximum reservable bandwidth
static MAMModel getInstance()
           
 float[] getReservableBandwidth(Domain domain, float[] bc, float[] reservedBwArray, float mrbw)
          Computes the reservable bandwidth array in the following way:
 float getReservableBandwidth(Domain domain, int priority, float[] bc, float[] reservedBwArray, float mrbw)
          Returns the reservable bandwidth at a given priority level given the constraints and the reserved bandwidth.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getInstance

public static MAMModel getInstance()

checkConstraints

public boolean checkConstraints(Domain domain,
                                float[] bc,
                                float mrbw)
Every bandwidth constraint should be inferior or equal to the maximum reservable bandwidth

Specified by:
checkConstraints in interface DiffServModel
Parameters:
domain -
bc -
mrbw -
Returns:

getReservableBandwidth

public float[] getReservableBandwidth(Domain domain,
                                      float[] bc,
                                      float[] reservedBwArray,
                                      float mrbw)
Computes the reservable bandwidth array in the following way:
 "Unreserved TE-Class [i]" =
    MIN  [
      [ BCc - SUM ( Reserved(CTc,q) ) ] for q <= p  ,
      [ Max-Res-Bw - SUM (Reserved(CTb,q)) ] for q <= p and 0 <= b <= 7,
    ]

 where:
     TE-Class [i] <--> < CTc , preemption p>
     in the configured TE-Class mapping.
 

Specified by:
getReservableBandwidth in interface DiffServModel
Parameters:
domain -
bc -
reservedBwArray -
mrbw -
Returns:

getReservableBandwidth

public float getReservableBandwidth(Domain domain,
                                    int priority,
                                    float[] bc,
                                    float[] reservedBwArray,
                                    float mrbw)
Returns the reservable bandwidth at a given priority level given the constraints and the reserved bandwidth. The reservable bandwidth in computed the following way:
 "Unreserved TE-Class [i]" =
    MIN  [
      [ BCc - SUM ( Reserved(CTc,q) ) ] for q <= p  ,
      [ Max-Res-Bw - SUM (Reserved(CTb,q)) ] for q <= p and 0 <= b <= 7,
    ]

 where:
     TE-Class [i] <--> < CTc , preemption p>
     in the configured TE-Class mapping.
 

Specified by:
getReservableBandwidth in interface DiffServModel
Parameters:
domain -
priority - <
bc - Array of bandwidth constraints, indexed by the constraint number
reservedBwArray - Array representing the reserved bandwidth at each of the priority level
mrbw - Maximum reservable bandwidth
Returns:

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


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