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

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

public class RDMModel
extends java.lang.Object
implements DiffServModel

Implements the Russian Dolls Bandwidth Constraints Model (See RFC 4127)

Creation date: 8/01/2008

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

Method Summary
 boolean checkConstraints(Domain domain, float[] bc, float mrbw)
          Check that classtypes are all present from 0 to nbCT. BC(x) <= BC(x-1), for all x: 1 <= x <= maxCT BC0 = mrbw
static RDMModel 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)
          Computes the reservable bandwidth in the following way:
 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 RDMModel getInstance()

checkConstraints

public boolean checkConstraints(Domain domain,
                                float[] bc,
                                float mrbw)
Check that

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(CTb,q) ) ] for q <= p and c <= b <= 7,
     [ BC(c-1) - SUM ( Reserved(CTb,q) ) ] for q <= p and (c-1)<= b <= 7,
      . . .
     [ BC0 - 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)
Computes the reservable bandwidth in the following way:
 "Unreserved TE-Class [i]" =
   MIN  [
     [ BCc - SUM ( Reserved(CTb,q) ) ] for q <= p and c <= b <= 7,
     [ BC(c-1) - SUM ( Reserved(CTb,q) ) ] for q <= p and (c-1)<= b <= 7,
      . . .
     [ BC0 - 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 -
reservedBwArray -
mrbw -
Returns:

toString

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


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