|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbe.ac.ulg.montefiore.run.totem.domain.model.impl.BandwidthSharingBandwidthManagement
public class BandwidthSharingBandwidthManagement
This class manages link bandwidth. Adding and removing lsps will permanently change the reservation in the links.
It uses bandwidth sharing on links. Backup-to-backup and primary-to-backup bandwidth sharing.
This class can be used only on domain that uses only one class type.
Creation date: 3/11/2006
Field Summary | |
---|---|
protected Domain |
domain
|
protected BandwidthSharingTopologyData |
topoData
|
Constructor Summary | |
---|---|
|
BandwidthSharingBandwidthManagement(Domain domain)
Create a new BandwidthSharingBandwidthManagement object to use with the given domain. |
protected |
BandwidthSharingBandwidthManagement(Domain domain,
BandwidthSharingTopologyData topoData)
Creates a new BandwidthSharingBandwidthManagement object to use with the given domain. |
Method Summary | |
---|---|
void |
addLsp(Lsp lsp)
Add lsp reservation. |
protected void |
changeReservation(Link link,
float incBw,
int priority)
Really made change to the reservation on the given link. |
float |
computeOversubscription()
|
java.lang.String |
getDomainLabelUse()
|
java.util.List<Lsp> |
getPreemptList(Lsp lsp)
Returns an empty list. |
float |
getReservableBandwidth(int priority,
Link link,
java.util.Collection<Link> protectedLinks)
Returns the maximum reservable bandwidth at priority level priority for a
lsp traversing the link link . |
BandwidthManagement |
getSnapshot()
Returns a snapshot of the bandwidth sharing. |
void |
init()
Initialise the Bandwidth Management object with the lsps already present in the domain. |
void |
printDomainLabelUse()
|
void |
recomputeRbw(Link link)
Recompute the reservable bandwidth (rbw array) of the link link |
void |
removeLsp(Lsp lsp)
Removes lsp reservation. |
boolean |
usePreemption()
returns false. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Domain domain
protected BandwidthSharingTopologyData topoData
Constructor Detail |
---|
public BandwidthSharingBandwidthManagement(Domain domain) throws DiffServConfigurationException
domain
-
DiffServConfigurationException
- if the domain contains more than on class typeprotected BandwidthSharingBandwidthManagement(Domain domain, BandwidthSharingTopologyData topoData) throws DiffServConfigurationException
BandwidthSharingTopologyData
.
domain
- topoData
-
DiffServConfigurationException
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)
getPreemptList
in interface BandwidthManagement
lsp
-
public void addLsp(Lsp lsp) throws DiffServConfigurationException, LspNotFoundException, LinkCapacityExceededException
addLsp
in interface BandwidthManagement
lsp
-
LinkCapacityExceededException
DiffServConfigurationException
LspNotFoundException
- if the argument is a backup lsp and the primary lsp cannot be found in the domainpublic void removeLsp(Lsp lsp) throws DiffServConfigurationException, LspNotFoundException, LinkCapacityExceededException
removeLsp
in interface BandwidthManagement
lsp
-
DiffServConfigurationException
LspNotFoundException
LinkCapacityExceededException
public float getReservableBandwidth(int priority, Link link, java.util.Collection<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.
Cij - [Pij + Bij(Lmn) - Fij(Lmn)]
among protected links Lmn for backup lsps.
getReservableBandwidth
in interface BandwidthManagement
priority
- link
- protectedLinks
-
public boolean usePreemption()
usePreemption
in interface BandwidthManagement
public void recomputeRbw(Link link) throws LinkCapacityExceededException
link.
Warning: all rbw values should be set to 0 before calling this method.
- Specified by:
recomputeRbw
in interface BandwidthManagement
- Parameters:
link
-
- Throws:
LinkCapacityExceededException
public BandwidthManagement getSnapshot()
getSnapshot
in interface BandwidthManagement
protected void changeReservation(Link link, float incBw, int priority) throws LinkCapacityExceededException
link
- incBw
- priority
-
LinkCapacityExceededException
public java.lang.String getDomainLabelUse()
public void printDomainLabelUse()
public float computeOversubscription()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |