|
||||||||||
| 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 type
protected BandwidthSharingBandwidthManagement(Domain domain,
BandwidthSharingTopologyData topoData)
throws DiffServConfigurationException
BandwidthSharingTopologyData.
domain - topoData -
DiffServConfigurationException| Method Detail |
|---|
public void init()
throws LinkCapacityExceededException
init in interface BandwidthManagementLinkCapacityExceededException - if the calculated bandwidth exceed link capacitypublic java.util.List<Lsp> getPreemptList(Lsp lsp)
getPreemptList in interface BandwidthManagementlsp -
public void addLsp(Lsp lsp)
throws DiffServConfigurationException,
LspNotFoundException,
LinkCapacityExceededException
addLsp in interface BandwidthManagementlsp -
LinkCapacityExceededException
DiffServConfigurationException
LspNotFoundException - if the argument is a backup lsp and the primary lsp cannot be found in the domain
public void removeLsp(Lsp lsp)
throws DiffServConfigurationException,
LspNotFoundException,
LinkCapacityExceededException
removeLsp in interface BandwidthManagementlsp -
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 BandwidthManagementpriority - 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 -
LinkCapacityExceededExceptionpublic 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 | |||||||||