|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object be.ac.ulg.montefiore.run.totem.domain.model.impl.DiffServBandwidthManagement
public class DiffServBandwidthManagement
This class manages link bandwidth. Lsps can be added or remove temporarily to see the effect on reservable bandwidth.
Lsp can also be added or removed permanently, changing the reservation in the links.
This implementation uses preemption. it also uses Diffserv model to update link reservable bandwidth.
Creation date: 3/11/2006
Constructor Summary | |
---|---|
DiffServBandwidthManagement(Domain domain)
Create a new DiffServBandwidthManagement object to use with the given domain. |
Method Summary | |
---|---|
void |
addLsp(Lsp lsp)
Add lsp reservation. |
void |
addLspTemp(Lsp lsp)
Removes a lsp temporarily. |
void |
cancelChanges()
Cancel changes made by adding and removing lsp temporarily. |
java.util.List<Lsp> |
getPreemptList(Lsp lsp)
Returns the list of lsps to be preempted when a lsp is to be added to the domain. |
float |
getReservableBandwidth(int priority,
Link link,
java.util.Set<Link> protectedLinks)
Returns the maximum reservable bandwidth at priority level priority for a
lsp traversing the link link . |
void |
init()
Initialise the Bandwidth Management object with the lsps already present in the domain. |
void |
recomputeRbw(Link link)
Recompute the reservable bandwidth (rbw array) of the link link |
void |
removeLsp(Lsp lsp)
Removes lsp reservation. |
void |
removeLspTemp(Lsp lsp)
!!! if the exception is thrown, tempData will be left in an inconsistent state |
boolean |
usePreemption()
returns true. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DiffServBandwidthManagement(Domain domain)
domain
- Method Detail |
---|
public void init() throws LinkCapacityExceededException
init
in interface BandwidthManagement
LinkCapacityExceededException
- if the calculated bandwidth exceed link capacitypublic java.util.List<Lsp> getPreemptList(Lsp lsp) throws LinkCapacityExceededException
removeLspTemp(Lsp)
).
getPreemptList
in interface BandwidthManagement
lsp
- the Lsp to be added to the domain
LinkCapacityExceededException
public void addLsp(Lsp lsp) throws LinkCapacityExceededException
addLsp
in interface BandwidthManagement
lsp
-
LinkCapacityExceededException
- If not enough bandwidth is availablepublic void removeLsp(Lsp lsp) throws LinkCapacityExceededException
removeLsp
in interface BandwidthManagement
lsp
-
LinkCapacityExceededException
public void removeLspTemp(Lsp lsp) throws LinkCapacityExceededException, DiffServConfigurationException, LspNotFoundException
removeLspTemp
in interface BandwidthManagement
lsp
-
LinkCapacityExceededException
DiffServConfigurationException
LspNotFoundException
public void addLspTemp(Lsp lsp) throws LinkCapacityExceededException, LspNotFoundException
#getReservableBandwidth(int, Link, java.util.Set)
method is called.
This can be undone by a call to cancelChanges()
.
addLspTemp
in interface BandwidthManagement
lsp
-
LinkCapacityExceededException
LspNotFoundException
public void cancelChanges()
cancelChanges
in interface BandwidthManagement
public boolean usePreemption()
usePreemption
in interface BandwidthManagement
public float getReservableBandwidth(int priority, Link link, java.util.Set<Link> protectedLinks)
priority
for a
lsp traversing the link link
. If protectedLinks
is given, the reservable bandwidth for
a backup lsp protecting those links is returned, otherwise, a primary lsp is assumed.
getReservableBandwidth
in interface BandwidthManagement
priority
- link
- protectedLinks
-
public void recomputeRbw(Link link) throws LinkCapacityExceededException
link by using the lsps established in
the domain.
Warning: all rbw values should be set to 0 before calling this method.
- Specified by:
recomputeRbw
in interface BandwidthManagement
- Parameters:
link
-
- Throws:
LinkCapacityExceededException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |