J-Sim v1.2.1-p7 API

drcl.intserv
Class Admission

java.lang.Object
  extended bydrcl.DrclObj
      extended bydrcl.intserv.Admission
All Implemented Interfaces:
java.lang.Cloneable, ObjectDuplicable, java.io.Serializable
Direct Known Subclasses:
admission_DCTS, admission_GR, admission_PTSP

public class Admission
extends DrclObj

This class is equipped on Scheduler to enable runtime admission control on defines a unified interface for other protocols (such as QoS-based routing and resource management protocols) to make/modify/release a reservation, and to access installed reservations.

A reservation is defined in a flowspec which contains a tspec and a rspec. The tspec specifies the aggregate or the "maximum" traffic of the interested senders. The rspec specifies the parameters used by the packet scheduler for serving the flow.

See Also:
Scheduler, Serialized Form

Field Summary
protected  Scheduler scheduler
          The scheduler being associated with this admission module.
 
Constructor Summary
Admission()
           
 
Method Summary
 SpecFlow addFlowspec(long[] tos_, long[] tosmask_, SpecFlow fspec_)
          Installs a new flowspec.
 SpecFlow addFlowspec(long tos_, long tosmask_, SpecFlow fspec_)
          Installs a new flowspec.
 SpecFlow addFlowspec(long tos_, SpecFlow fspec_)
          Installs a new flowspec.
 SpecAd advertisement(SpecAd adspec_)
          Returns a new Adspec that summarizes the QoS of the path from the sender up to the current hop.
 void duplicate(java.lang.Object source_)
          opies the content of the source_ object to this object.
 Scheduler getScheduler()
          Returns the associated scheduler.
 java.lang.String info()
           
 void removeAllFlowspecs()
           
 SpecFlow removeFlowspec(int handle_)
          Removes an installed flowspec by its handle.
 void reset()
          Resets to the initial state.
 SpecFlow setFlowspec(int handle_, long[] tos_, long[] tosmask_, SpecFlow fspec_)
          Installs a new flowspec or changes an existing flowspec with the specified handle.
 
Methods inherited from class drcl.DrclObj
clone, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

scheduler

protected Scheduler scheduler
The scheduler being associated with this admission module.

Constructor Detail

Admission

public Admission()
Method Detail

addFlowspec

public final SpecFlow addFlowspec(long tos_,
                                  SpecFlow fspec_)
Installs a new flowspec. The method calls setFlowspec(-1, new long[]{tos_, null, fspec_)}.


addFlowspec

public final SpecFlow addFlowspec(long tos_,
                                  long tosmask_,
                                  SpecFlow fspec_)
Installs a new flowspec. The method calls setFlowspec(-1, new long[]{tos_, new long[]{tosmask_}, fspec_)}.


addFlowspec

public final SpecFlow addFlowspec(long[] tos_,
                                  long[] tosmask_,
                                  SpecFlow fspec_)
Installs a new flowspec. The method calls setFlowspec(-1, tos_, tosmask_, fspec_).


setFlowspec

public SpecFlow setFlowspec(int handle_,
                            long[] tos_,
                            long[] tosmask_,
                            SpecFlow fspec_)
Installs a new flowspec or changes an existing flowspec with the specified handle. This method checks if the available resources (buffer and bandwidth) are sufficient for the flow. It returns null if the flow passes; returns a suggested flowspec if failed. Also, the "handle" field in fspec_ is set to either a valid value (success) or a negative value (failure). A subclass may need to override this method to create its own data structure for the successfully installed flow.

Parameters:
handle_ - the handle assigned to this flow, -1 if installing a new flow.
tos_ - ID's of flows that share the flowspec.
tosmask_ - masks of flow ID's.
fspec_ - the flowspec.
Returns:
null if the installation succeeds or a suggested flowspec if failed.

removeFlowspec

public SpecFlow removeFlowspec(int handle_)
Removes an installed flowspec by its handle. This method releases the resources (buffer and bandwidth) reserved for the flow. A subclass may need to override this method to further release any data structure allocated for the flow.

Returns:
the removed flowspec.

advertisement

public SpecAd advertisement(SpecAd adspec_)
Returns a new Adspec that summarizes the QoS of the path from the sender up to the current hop. Specifically, this method updates hop, packet loss rate, MTU, propagation delay and bandwidth. Subclasses should override this method to update end-to-end delay and jitter.


reset

public void reset()
Resets to the initial state.


duplicate

public void duplicate(java.lang.Object source_)
Description copied from class: DrclObj
opies the content of the source_ object to this object. he subclass must implement this method to realize DrclObj.clone().

Specified by:
duplicate in interface ObjectDuplicable
Overrides:
duplicate in class DrclObj

info

public java.lang.String info()

removeAllFlowspecs

public void removeAllFlowspecs()

getScheduler

public Scheduler getScheduler()
Returns the associated scheduler.


J-Sim v1.2.1-p7 API

Copyright © 1998-2003 Distributed Real-time Computing Lab (DRCL). All Rights Reserved.     ~ To J-Sim Home ~