|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--gov.nist.antd.diffserv.DiffServPacketScheduler
DiffServPacketScheduler is the basic framework of DiffServ Packet Scheduler
(PriorityScheduler, RoundRobinScheduler, and WFQScheduler). Each DiffServ
packet scheduler maintains relative parameters for priority scheduling,
weight-based scheduling, and hybrid scheduling of two stage scheduling.
In priority-based scheduling the higher priority packet flow exclusively use
the bandwidth regardless the of the lower-priority queue status. In weighted
scheduling, weight for each queue is allocated, and the relative portion of
the bandwidth is allocated to the queue according to its weight.
DiffServPacketScheduler also configures the DataLinkMapping of the dispatched
DiffServ packet from queue. Currently, MPLS LSP or usual IP packet forwarding
can be configured as DataLink for DiffServ packet flow.
========================= Example of DML definition ========================= # DiffServ Packet Scheduler Configuration PacketScheduler [ name Priority use gov.nist.antd.DiffServ.PriorityScheduler ClassType [ CT EF CT AF4 CT BF ] _find .dictionary.DiffServ_Parameters.TrafficShaper DataLink_Mapping[ MPLS_LSP [ pathID DiffServ-110-111-Priority SetUpTime 13 Priority 6 _find .dictionary.DiffServ_Parameters.TrafficParameters NodeList [ Node [ ID 110 ] Node [ ID 120 ] Node [ ID 220 ] Node [ ID 221 ] Node [ ID 121 ] Node [ ID 111 ] ] ] ] ]
This class was developed at the National Institute of Standards and Technology by employees of the Federal Government in the course of their official duties. Pursuant to title 17 Section 105 of the United States Code this software is not subject to copyright protection and is in the public domain. NIST assumes no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.
We would appreciate acknowledgement if the software is used.
NIST ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
| Nested Class Summary | |
class |
DiffServPacketScheduler.SchedulingQueueEntry
Inner class SchedulingQueueEntry |
| Field Summary | |
DiffServPacketScheduler |
childScheduler
Field childScheduler - XXX |
boolean |
debug
Field debug - XXX |
int |
DiffServFlowID
Field DiffServFlowID - XXX |
DiffServTrafficConditioner |
DSTConditioner
Field DSTConditioner - XXX |
DiffServFlowProfile |
FlowProfile
Field FlowProfile - XXX |
IP |
ipsess
Field ipsess - XXX |
boolean |
isActive
Field isActive - XXX |
boolean |
isMPLS
Field isMPLS - XXX |
boolean |
isPrimary
Field isPrimary - XXX |
boolean |
isWFQScheduler
|
Host |
localHost
Field localHost - XXX |
MPLSMgmt |
mplsmgmt
Field mplsmgmt - XXX |
java.util.Vector |
MPLSSignalingInfoList
Field MPLSSignalingInfoList - XXX |
java.lang.String |
name
Field name - XXX |
double |
nextSchedulingTime
Field nextSchedulingTime - XXX |
DiffServPacketScheduler |
parentScheduler
Field parentScheduler - XXX |
DiffServPacketScheduler.SchedulingQueueEntry |
parentScheulerInfo
Field parentScheulerInfo - XXX |
double |
SchedulingBurstSize
Field SchedulingBurstSize - XXX |
java.util.Vector |
SchedulingQueueTable
Field SchedulingQueueTable - XXX |
double |
SchedulingRate
Field SchedulingRate - XXX |
double |
SchedulingRateForSecondary
Field SchedulingRateForSecondary - XXX |
java.util.Vector |
SchedulingRateList
Field SchedulingRateList - XXX |
Timer |
SchedulingTimer
Field SchedulingTimer - XXX |
S_CRLDP |
sCRLDPInfo
Field sCRLDPInfo - XXX |
double |
SumWeight
Field SumWeight - XXX |
java.lang.String |
useClass
Field useClass - XXX |
| Constructor Summary | |
DiffServPacketScheduler()
|
|
| Method Summary | |
void |
ActivateQueue(DiffServPacketScheduler dsps)
Method ActivateQueue |
void |
config(com.renesys.raceway.DML.Configuration cfg)
Method config |
void |
configClassType(com.renesys.raceway.DML.Configuration cfg)
Method configClassType |
void |
configDataLinkMapping(com.renesys.raceway.DML.Configuration cfg)
Method configDataLinkMapping |
void |
configSecondaryScheduler(com.renesys.raceway.DML.Configuration cfg)
Method configSecondaryScheduler |
void |
configTrafficShpaer(com.renesys.raceway.DML.Configuration cfg)
Method configTrafficShpaer |
void |
createSchedulingTimer()
Method createSchedulingTimer |
void |
DeActivateQueue()
Method DeActivateQueue |
java.lang.String |
getClassTypeInfo()
Method getClassTypeInfo |
void |
holdingScheduler()
Method holdingScheduler |
void |
init(int flowid,
DiffServTrafficConditioner dstc)
Method init |
void |
initSecondary(DiffServPacketScheduler dsps)
Method initSecondary |
void |
LSPEstablish()
Method LSPEstablish |
boolean |
PacketForwarding(ProtocolMessage message)
Method PacketForwarding |
abstract void |
Scheduling()
Method Scheduling. |
abstract MessageWrapper |
SecondaryScheduling()
Method SecondaryScheduling |
void |
setLSPReleaseTimer(double endtime)
Method setLSPReleaseTimer |
void |
setLSPStartTimer(double starttime)
Method setLSPStartTimer |
void |
setNextSchedulingTimer(double waittime)
Method setNextSchedulingTimer |
void |
setSchedulingInfoToChildScheduler(DiffServPacketScheduler.SchedulingQueueEntry sinfo)
Method setSchedulingInfoToChildScheduler |
void |
setSchedulingRate()
Method setSchedulingRate |
void |
setSchedulingRate(double rate)
Method setSchedulingRate |
void |
setupLSPandQueue()
Method setupLSPandQueue |
void |
setWFQRx(double newRate)
Short concise description. |
void |
startSchedule()
Method startSchedule |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public DiffServTrafficConditioner DSTConditioner
public boolean debug
public Host localHost
public boolean isMPLS
public MPLSMgmt mplsmgmt
public java.util.Vector MPLSSignalingInfoList
public S_CRLDP sCRLDPInfo
public IP ipsess
public int DiffServFlowID
public DiffServFlowProfile FlowProfile
public java.lang.String name
public java.lang.String useClass
public boolean isPrimary
public java.util.Vector SchedulingRateList
public double SchedulingRate
public double SchedulingBurstSize
public Timer SchedulingTimer
public double SchedulingRateForSecondary
public boolean isActive
public java.util.Vector SchedulingQueueTable
public double SumWeight
public boolean isWFQScheduler
public double nextSchedulingTime
public DiffServPacketScheduler parentScheduler
public DiffServPacketScheduler.SchedulingQueueEntry parentScheulerInfo
public DiffServPacketScheduler childScheduler
| Constructor Detail |
public DiffServPacketScheduler()
| Method Detail |
public void init(int flowid,
DiffServTrafficConditioner dstc)
flowid - - XXXdstc - - XXXpublic void initSecondary(DiffServPacketScheduler dsps)
dsps - - XXXpublic void createSchedulingTimer()
public void setSchedulingInfoToChildScheduler(DiffServPacketScheduler.SchedulingQueueEntry sinfo)
sinfo - - XXX
public void config(com.renesys.raceway.DML.Configuration cfg)
throws com.renesys.raceway.DML.configException
cfg - - XXX
com.renesys.raceway.DML.configException
public void configClassType(com.renesys.raceway.DML.Configuration cfg)
throws com.renesys.raceway.DML.configException
cfg - - XXX
com.renesys.raceway.DML.configException
public void configSecondaryScheduler(com.renesys.raceway.DML.Configuration cfg)
throws com.renesys.raceway.DML.configException
cfg - - XXX
com.renesys.raceway.DML.configException
public void configTrafficShpaer(com.renesys.raceway.DML.Configuration cfg)
throws com.renesys.raceway.DML.configException
TrafficShaper [
MeanRate %d # This is starting value
TrafficShaperInfo [
Time %d
MeanRate %d
]
:
:
TrafficShaperInfo [
Time %d
MeanRate %d
]
]
cfg - - XXX
com.renesys.raceway.DML.configExceptionpublic void setSchedulingRate()
public void setSchedulingRate(double rate)
rate - - XXXpublic void setWFQRx(double newRate)
newRate - description.
public void configDataLinkMapping(com.renesys.raceway.DML.Configuration cfg)
throws com.renesys.raceway.DML.configException
cfg - - XXX
com.renesys.raceway.DML.configExceptionpublic void startSchedule()
public void holdingScheduler()
public boolean PacketForwarding(ProtocolMessage message)
message - - XXX
public void setNextSchedulingTimer(double waittime)
waittime - - XXXpublic void setLSPStartTimer(double starttime)
starttime - - XXXpublic void setLSPReleaseTimer(double endtime)
endtime - - XXXpublic void setupLSPandQueue()
public void LSPEstablish()
public void ActivateQueue(DiffServPacketScheduler dsps)
dsps - - XXXpublic void DeActivateQueue()
public java.lang.String getClassTypeInfo()
public abstract void Scheduling()
public abstract MessageWrapper SecondaryScheduling()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||