gov.nist.antd.diffserv
Class PriorityScheduler

java.lang.Object
  |
  +--gov.nist.antd.diffserv.DiffServPacketScheduler
        |
        +--gov.nist.antd.diffserv.PriorityScheduler

public class PriorityScheduler
extends DiffServPacketScheduler

In priority-based scheduling the higher priority packet flow exclusively use the bandwidth regardless the of the lower-priority queue status. For priority packet scheduling, each class-type is specified with scheduling priority at ActionProtile section of DML.

 
  # DiffServ ActionPrifile Configuration
  ActionProfile [
  	Prf_EF [   Priority 5    Weight 1
  		   _find .dictionary.DiffServ_Parameters.Meter
  		   _find .dictionary.DiffServ_Parameters.Queue  ]
  	Prf_AF4 [  Priority 3    Weight 1
  		   _find .dictionary.DiffServ_Parameters.Meter
  		   _find .dictionary.DiffServ_Parameters.Queue  ]
  	Prf_BF [   Priority 1    Weight 1
  		   _find .dictionary.DiffServ_Parameters.Queue  ]
  ]
  # 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.

Author:
Young-Tak Kim
, Eun-Hyuk Lim , borchert

Nested Class Summary
 
Nested classes inherited from class gov.nist.antd.diffserv.DiffServPacketScheduler
DiffServPacketScheduler.SchedulingQueueEntry
 
Field Summary
 java.util.Vector PriorityQueueTable
          Field PriorityQueueTable - XXX
 
Fields inherited from class gov.nist.antd.diffserv.DiffServPacketScheduler
childScheduler, debug, DiffServFlowID, DSTConditioner, FlowProfile, ipsess, isActive, isMPLS, isPrimary, isWFQScheduler, localHost, mplsmgmt, MPLSSignalingInfoList, name, nextSchedulingTime, parentScheduler, parentScheulerInfo, SchedulingBurstSize, SchedulingQueueTable, SchedulingRate, SchedulingRateForSecondary, SchedulingRateList, SchedulingTimer, sCRLDPInfo, SumWeight, useClass
 
Constructor Summary
PriorityScheduler()
           
 
Method Summary
 void config(com.renesys.raceway.DML.Configuration cfg)
          Method config XXX
 MessageWrapper PriorityScheduling()
          Method PriorityScheduling
 void PrioritySorting()
          Method PrioritySorting
 void Scheduling()
          Method Scheduling
 MessageWrapper SecondaryScheduling()
          Method SecondaryScheduling
 
Methods inherited from class gov.nist.antd.diffserv.DiffServPacketScheduler
ActivateQueue, configClassType, configDataLinkMapping, configSecondaryScheduler, configTrafficShpaer, createSchedulingTimer, DeActivateQueue, getClassTypeInfo, holdingScheduler, init, initSecondary, LSPEstablish, PacketForwarding, setLSPReleaseTimer, setLSPStartTimer, setNextSchedulingTimer, setSchedulingInfoToChildScheduler, setSchedulingRate, setSchedulingRate, setupLSPandQueue, setWFQRx, startSchedule
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PriorityQueueTable

public java.util.Vector PriorityQueueTable
Field PriorityQueueTable - XXX

Constructor Detail

PriorityScheduler

public PriorityScheduler()
Method Detail

config

public void config(com.renesys.raceway.DML.Configuration cfg)
            throws com.renesys.raceway.DML.configException
Method config XXX

Overrides:
config in class DiffServPacketScheduler
Parameters:
cfg - - XXX
Throws:
com.renesys.raceway.DML.configException

PrioritySorting

public void PrioritySorting()
Method PrioritySorting


Scheduling

public void Scheduling()
Method Scheduling

Specified by:
Scheduling in class DiffServPacketScheduler

SecondaryScheduling

public MessageWrapper SecondaryScheduling()
Method SecondaryScheduling

Specified by:
SecondaryScheduling in class DiffServPacketScheduler
Returns:
ProtocolMessage - XXX

PriorityScheduling

public MessageWrapper PriorityScheduling()
Method PriorityScheduling

Returns:
The scheduled MessageWrapper.