RTNOU User's Manual

"Real-Time Network Optimisation Utilities"

Version 4.3 (June 2003)
(c) Enrique Hernández Orallo. email: ehernandez@disca.upv.es
Departamento de Informática de Sistemas y Computadores. Universidad Politécnica de Valencia (SPAIN)

Index

1.Introduction
2.The RTNOU environment
   2.1.Installation and setup
   2.2.Main window
3.Menu
   3.1.Network
   3.2.Traffic
   3.3.Envelope Points
   3.4.Schedulability
   3.5.Aggregation
   3.6.Network simulation
   3.7.In Beta
A1. File extensions
A2. Workload trace formats
A3. Network definition language
A4. Program Versions
References

1. Introduction

    This is a short user's manual of the RTNOU program. RTNOU is a Win32 program developed with Visual C++. It provides a simple and graphical user interface to test all the algorithms of the RTNOU Library. As a research program it is in permanent construction, so it is easy that you find bugs. The program has a typical Windows Interface and is documented with this manual.
    Main characteristics:

  You can use this program with the following traffic traces:


2. The RTNOU Environment

2.1. Installation and setup

    The program can be downloaded as a self-extractor zip in . Create a directory and extract all the files in this directory.  The executable of the program is RTNOU.exe and the program configuration is stored in the RTNOU.ini file.

    Browser Manual Setup: I recommend to download the HTML help file and configurate the RTNOU.ini to link with the manual. The default configuration link with the manual on the web using Internet Explorer. The RTNOU,ini file has the following section and two entries:

	[Internet] 
	URLhtml=D:\Software\RTNOU\html\
	Browser=C:\IE\IEXPLORE "%s"

Where URLhtml is the directory of the HTML files and Browser contains the command to lauch the browser. The %s is replaced by the URL

2.2. Main window

    The RTNOU program is a typical windows SDI application (Single document Interface). The main components of the application are:

    The following figure shows a sample of the RTNOU application:


3. Menu

    The menu has the following options (ignoring the standard windows menus like read, copy, etc.)

3.1. Network

Network Parameters Dialog

    This dialog contain the network parameters that are used in RTNOU. This dialog is no modal so you can keep it open to modify the network parameters used in other dialogs.

  1. Introduce network parameters: bandwidth (BW) and MTU (Minimal Transmission Unit) of the links and M (Max packet size) of the flow.
  2. Press button: "Update Parameters" to obtain the IETF parameters (Ctot, Dtot for IntServ and Etot, Hops for DiffServ)
  3. Press button: "Network Update" to update the network parameters used in RTNOU.

    The Ctot and Dtot values are obtained using the following expressions (Etot = Dtot)

IntServ Delays equations

   With this dialog you can obtain the bandwidth reservation and network delay for a given network parameters using Parekh/Gallaguer or IETF IntServ guaranteed service delay equations. The Parekh/Gallaguer equation uses a leaky bucket traffic specification (s,r) so the traffic is constrained by the following function a(t)=s+rt. The delay equation is:

    The IETF equation uses the token bucket specification (b,r,p) so the traffic is constrained by a(t)=min{pt, b+rt}. The delay equations are:


   The dialog can obtain the delay for a given reservation and viceversa:

  1. Introduce flow specification: s (sigma) , r (rho) parameters. (For token bucket b=s and r=r)
  2. Obtain delay for a given bandwidth reservation.
  3. Obtain reservation for a given delay.

DiffServ Delays equations

   With this dialog you can calculate the bandwidth reservation and network delay for a given network parameters using IETF EF DiffServ delay equations (see [16,17]. Depending on the parameter that is 0 the button recalculate this parameters, For example, for obtaining the reservation R you must inform the fields B and Delay and leave the R field to 0. The delay equation used is:

3.2. Traffic

Read Traffic

    This option reads the traffic traces. RTNOU works internally as bandwidth but it can read different traces formats (Workload traces formats)

  1. Select the traffic trace file. There are 3 basic extensions (*.wrk, *.wrt, *.wrb) that determine the format of the traffic traces
  2. Confirm traffic parameters. You can select the number of frames per second, if the traffic is expressed in bandwidth or frame size and if the frame size is in bytes or bits.
  3. When the traffic is loaded the program shows a dialog bar with the traffic load

Traffic Information

    Shows a dialog with the traffic information. The information is the Max and Mean frame size, Peak and Mean bandwidth and Burst Rate (Peak/Mean).

Generate Cumulative

    Generates the cumulative arrival traffic of the loaded traffic. The file extension is .ACU. The cumulative arrival function A is defined as the bits accumulated, that is, if f is the frames per second of the traffic and Bi the frame size, then A(t) is obtained as:

Generate Empirical Envelope

    Generates the empirical envelope of the load traffic. The file extension is .ENV. The empirical envelope is defined as

    The following example shows the first 500 frames of the soccer traffic and its cumulative and empirical envelope.

    NOTE: This process has a high computational cost: O(n2).

Generate Leaky Bucket Shaped Traffic

    Generates the traffic trace of the output of a leaky bucket shaper. The file extension is .SLB. The leaky bucket shaper has two parameters: ss is the buffer size and rs is the output rate, so the output is contrained to the following function a(t)= rst. The shaper delay is ss/rs.

  1. Introduce the r parameter of the traffic shaper
  2. Press the button 'Generate File' to generate the traffic trace. This also obtains the s value (the buffer size) and the delay of the shaper.

    The following example shows the first 500 frames of the soccer traffic and the output of a leaky bucket shaper with r=0.8Mb/s.

Write as Frame Size

    Writes the loaded traffic trace as frame size (bits) with extension .WRT

Write as Bandwidth

    Writes the loaded traffic trace as bandwidth (b/s) with extension .WRK

Write data in one line

    If checked, write all the files in one line separated by spaces (for example in order to work with EXCEL)

Sigma(rho) utilities...

    This option presents a dialog with several utilities that uses the s(r) function. The s(r) is obtained using the following expression:

    In the dialog there are 3 options:

  1. Obtain s from r traversing the traffic trace.
  2. Obtain r from s using an iterative method
  3. Generate a file with the buffer size for a give drain rate r as a function of time. The extension of this file is .r.buf

    The following example shows the first 500 frames of the soccer traffic and the output and the s value depending on time for r=1Mb/s.

Integrated Services Optimal Reservation...

    This option get the optimal bandwidth reservation R for a given delay using an iterative method (O(log n2).The I value is the number of iterations needed to find the solution. The method is described in [1][2].

EF DiffServ delay utilities...

    This option presents a dialog to obtain the DiffServ EF PHB parameters (B,R). The bandwidth reservation is obtained using this equation (see [16][17]):

The Etot is equivalent to Dtot

    In the second group box, you can generate a file with the optimal reservation values for a given interval of delay. The extension of this file is .RFD. The interval is defined as [d0, d1] with increment 'Inc d' in seconds. The following table show the results for Soccer500 using a delay range from 0.1 to 1s, increment 0.1s. The columns show the delay, the B and R values and the utilisation (R/mean bandwidth)

Network parameters : Etot = 0.000007 Hops = 4 
Traffic MeanRate =    565633.66  PeakRate =    2005856
       D(s) |     B(bits)|       R(b/s) |  U()  
------------|------------|--------------|--------
    0.1000        30858        1234404    45.82
    0.2000        47540         950826    59.49
    0.3000        66530         887081    63.76
    0.4000        85139         851406    66.44
    0.5000       104178         833433    67.87
    0.6000       122659         817736    69.17
    0.7000       140941         805383    70.23
    0.8000       158678         793398    71.29
    0.9000       175896         781765    72.35
    1.0000       192616         770467    73.41

    In the third group box, you can generate a file with the optimal reservation by segments for a given delay. The extension of this file is .SEQ. The following table show the results for Soccer500 using 5 segments The columns show the start, the B and R values and the utilisation (R/mean bandwidth)

Network parameters : Etot = 0.000007 Hops = 4 
Traffic MeanRate =    565633.66  PeakRate =    2005856
Delay = 0.1000  Segments = 5
   Start(s) |     B(bits)|       R(b/s) |  U()  
------------|------------|--------------|--------
      0.00        22620         904859    62.51
      4.00        28649        1146021    49.36
      8.00        27101        1084107    52.18
     12.00        30858        1234404    45.82
     16.00        28776        1151101    49.14

Calculate Histogram...

    This option generate the histogram for the traffic loaded with extension .HST

  1. Select the number of classes
  2. Press 'Write File' to obtain the histogram file.

    The following table show the result for the Rose Soccer traffic using 10 classes. The count column is the number of element in the class and % is the percentage. The last column shows the cumulative percentage.

   Classes |      Count |      % |  %Cumulative 
----------------------------------------------- 
         0 |        870 |  58.00 |  58.00
    420601 |        293 |  19.53 |  77.53
    841202 |        120 |   8.00 |  85.53
   1261803 |        138 |   9.20 |  94.73
   1682404 |         53 |   3.53 |  98.27
   2103005 |         17 |   1.13 |  99.40
   2523606 |          3 |   0.20 |  99.60
   2944207 |          1 |   0.07 |  99.67
   3364808 |          2 |   0.13 |  99.80
   3785409 |          3 |   0.20 | 100.00

Reduce traffic...

    This option reduce the loaded traffic. The reduction is done in two steps:

  1. Assign 0 to the n biggest frames.
  2. Calculate the new peak frame and then assign it to the reduced frames.
  3. Writes the reduced traffic trace as bandwidth with extension .RED

    For example, a 10% reduction in a traffic with 1500 frames reduce 150 frames to a new peak frame. The following example shows the first 500 frames of the soccer traffic and the 10% reduced traffic

3.3. Envelope Points

Read Envelope Points

    This option read the envelope points from a .VPD file.

    The dialog shows the envelope points. You can write the envelope points to a file for future work (with .VPD extension). Table generation generates a text file (extension .EP) with the envelope points as follows (for the first 500 frames of the soccer traffic).

   i  |         T(s)|      rho(b/s)|     Ei(bits) |
------|-------------|--------------|--------------|
     0      0.000000     2005856.00           0.00
     1      0.040000      973071.00       80234.24
     7      0.280000      896589.67      313771.28
    10      0.400000      873485.67      421362.04
    13      0.520000      865485.33      526180.32
    16      0.640000      850530.56      630038.56
    25      1.000000      844940.67      936229.56
    28      1.120000      820236.78     1037622.44
    37      1.480000      716771.13     1332907.68
    45      1.800000      618441.33     1562274.44
    48      1.920000      598152.78     1636487.40
    57      2.280000      591964.85     1851822.40
   357     14.280000      511543.67     8955400.60
   369     14.760000      501079.58     9200941.56
   393     15.720000      484887.17     9681977.96
   405     16.200000      420950.25     9914723.80
   417     16.680000      379656.80    10116779.92
   477     19.080000      349301.00    11027956.24
   489     19.560000      290116.00    11195620.72
   492     19.680000      283907.67    11230434.64
   498     19.920000      181058.00    11298572.48
   500     20.000000           0.00    11305814.80

    The envelope points are detailed in [1][2]

Generate Envelope Points

    This option generate the empirical envelope from the traffic loaded. When the Envelope Points are generated RTNOU presents the same dialog of the previous option.

    NOTE: This process has a high computational cost: O(n2).

Sigma'(rho) utilities...

    This option presents a dialog with several utilities that uses the s'(r) function, that uses the envelope points. In the dialog there are 3 options:

  1. Obtain s from r using a bounded method. O(log n)
  2. Obtain r from s using an iterative method. O(n)
  3. Generates the values of s for a given interval of r. The extension of this file is .BFR. The interval is defined as [Rho0, Rho1] with increment 'IncRho'.

    The following figure shows s'(r) function for the first 500 frames of the soccer traffic for r range [0, 2Mb/s]:

Optimal Reservation...

    This option presents a dialog to obtain the optimal reservation (bandwidth) for a given end-to-end delay using the envelope points (as described in [1][2]). Two methods:

  1. Interpolation: Obtain the optimal reservation using an unbounded interpolation method
  2. EP Method: Obtain the optimal reservation using the envelope points

    Both methods obtain the same result. 'Iterations' is the number of iterations needed to find out the solution. If 'Use Parekh Galleguer equation' is checked then the delay equation used are the Parekh and Galleguer ones. By default the optimisation methods use the IETF delay equations (although the results are the same)

    In the second group box, you can generate a file with the optimal reservation values for a given interval of delay. The extension of this file is .RFD. The interval is defined as [d0, d1] with increment 'Inc d' in seconds. The following table show the results for Soccer500 using a delay range from 0 to 1s, increment 0.1s. The columns show the delay, the s and reservation values and the utilisation (reservation/mean bandwidth)

Network parameters : Ctot = 40000.000000 Dtot = 0.003550 M = 10000
Traffic MeanRate =    565633.66  PeakRate =    2005856
       D(s) | sigma(bits)|   rho=R(b/s) |  U()  
------------|------------|--------------|--------
    0.0000            0              0     1.#J
    0.1000        50640         939756    60.19
    0.2000       120880         818937    69.07
    0.3000       189108         772838    73.19
    0.4000       250063         731652    77.31
    0.5000       306382         697718    81.07
    0.6000       358788         668603    84.60
    0.7000       406996         641821    88.13
    0.8000       451538         617161    91.65
    0.9000       493906         595578    94.97
    1.0000       546751         588841    96.06

    The following figure shows the s and r values.

Optimal Shaper...

    This option presents a dialog to obtain the optimal leaky bucket shaper for a given end-to-end delay using the envelope points (as described in [4]).

    In the second group box, you can generate a file with the optimal shaper reservation values for a given interval of delay. The extension of this file is .SFD. The interval is defined as [d0, d1] with increment 'Inc d' in seconds. The format of the table is the same as the previous option. The s and r columns corresponds to the shaper parameters.

Piecewise Linear Envelope...

   Obtain the Piecewise Linear Function from the envelope points as describe in [14]. The extension of the file is PLE and has the s and r for the multi leaky bucket characterization.The following table show the results for Soccer500.

Piecewise Linear Envelope
n = 21
   i  |      rho(b/s)|   sigma(bits)|
------|--------------|--------------|
     0       2005856            0
     1        973071        41311
     2        896590        62726
     3        873486        71968
     4        865485        76128
     5        850531        85699
     6        844941        91289
     7        820237       118957
     8        716771       272086
     9        618441       449080
    10        598153       488034
    11        591965       502143
    12        511544      1650557
    13        501080      1805007
    14        484887      2059552
    15        420950      3095330
    16        379657      3784104
    17        349301      4363293
    18        290116      5520952
    19        283908      5643132
    20        181058      7691897

Envelope Function...

   Obtain the Envelope Function E(t) depending on time. The extension of the file is EFT. This function is obtained from the Piecewise Linear Envelope The interval is defined as [t0, t1] with increment 'Inc t' in seconds. The following figure shows the Envelope Function for Soccer500.

Reduce Segments...

    Reduce the number of segments of a piecewise linear envelope using the parameterization algorithm described in [13]. The extension of the file is PLR and has the sigma and rho for the multi leaky bucket characterization.

Backup Reservation...

    This option presents a dialog to obtain the primary and backup reservation (bandwidth) for a given end-to-end delay as presented in [16]. You can generate a file with the optimal reservation values for a given interval of delay. The extension of this file is .RFB. The interval is defined as [d0, d1] with increment 'Inc d' in seconds.

    The parameter Reduction represent the difference between D and D', that is D'=D*reduction. The F parameter represents the false failure rate and is used to obtain the total reservation as TR = R+ R'*F. The savings column is obtained as (R'-TR)/R'*100

    The following table show the results for Soccer500 using a delay range from 0 to 1s, increment 0.1s.

Network parameters : Ctot = 40000.000000 Dtot = 0.004500 M = 418
Traffic MeanRate =    565633.66  PeakRate =    2005856
Reduction = 0.500000  Phi = 0.010000
       D(s) |       R(b/s) |      D'(s) |      R'(b/s) |    Total R   | %Savings
------------|--------------|------------|--------------|--------------|-------------
    0.0000              0       0.0000              0              0     -1.#IND
    0.1000         942134       0.0500        1406248         956196     32.0037
    0.2000         819402       0.1000         942134         828823     12.0270
    0.3000         773251       0.1500         853009         781781      8.3502
    0.4000         732022       0.2000         819402         740216      9.6638
    0.5000         698007       0.2500         795658         705963     11.2730
    0.6000         668868       0.3000         773251         676601     12.4992
    0.7000         642065       0.3500         752072         649586     13.6271
    0.8000         617377       0.4000         732022         624697     14.6614
    0.9000         595756       0.4500         713549         602891     15.5081
    1.0000         588878       0.5000         698007         595858     14.6344

Buffer Optimisation in nodes...

    Optimise the buffer utilization in a node for as set of workload using the envelope points. This optimisation is described in [3]. It also implements the buffer scheme assignation introduced by Le Presti in [9].

  1. Load the traffic envelope points previously generated (VPD extensions).
  2. Select the number of load for each class of traffic (the Nº column).
  3. Introduce network node parameters and calculate the Ctot and Dtot values. These network parameters are used to obtain the optimal reservation for the traffic. All the nodes have the same parameters and you can select the number of them. (The Nodes field).
  4. Introduce a end-to-end delay to obtain the s, r=R and Ton columns values for the loaded traffic. The Ton column is used by the Le Presti optimisation (the formula is Ton = s/(Peak- r))
  5. For a given C link bandwidth optimise the total buffer using the envelope points methods and Le Presti algorithm.

    You can generate a file with the B value for a C interval. The values C0 and C1 are calculate from the traffic workload (C0 is the sum of the bandwidth reservation values of the workloads and C1 is the sum of the peak values). If "Recalculate Ctot,Dtot" is checked these values are recalculate for every C value. If "Include Simulation" is checked the mean and max simulations values are includes in the file. The name of the file is BufferOpt.obn

Network parameters
Bandwidth = 30000000 bps  MTU = 10000 bits  M = 10000 bits  Nodes = 1 bits
Ctot = 10000.000000 Dtot = 0.000333 
D = 0.100000 

Loads

      Traffic name  |  N | sigma(bits)|  rho=R(bps)|   Peak(bps)|     Ton(s) 
--------------------|----|------------|------------|------------|------------
           LAMBS.VPD    5        92918      1032630      3355600 0.0399996556
          SOCCER.VPD    5       228448      2392460      4679400 0.0998924327
            NEWS.VPD    5        44705       548883      1155000 0.0737563870


     C(b/s) | sigma(bits)|    EP      |   Presti   |  Max.Buf.  | Mean Buf.  |      %
------------|------------|------------|------------|------------|------------|--------
    19869865      1828190            0            0            0            0     0.0
    21869865      1828780      1126073      1630060       641245       215864    30.92
    23869865      1829265       915480      1430550       561245       192423    36.01
    25869865      1829680       803205      1230935       485088       179370    34.75
    27869865      1830035       723204      1031225       450221       166836    29.87
    29869865      1830335       643204       831435       419197       156263    22.64
    31869865      1830605       563204       646400       388173       144690    12.87
    33869865      1830845       483205       498865       373620       139420     3.14
    35869865      1831050       403205       403205       373620       132572     0.00
    37869865      1831240       323205       323205       304285       123202     0.00
    39869865      1831410       243205       243205       226604       101755     0.00
    41869865      1831560       163205       163205       144285        88237     0.00
    43869865      1831700        83205        83205        68261        64683     0.00
    45869865      1831825         3205         3210         3205         3205     0.16

    The following figure shows the buffer utilisation for two loads.

    You can simulate the maximal and mean buffer optimization. The iterations field indicate the number of variations in the traffic. This simulation need the traffic traces (*.wrt files) of the workloads. Assuming that all the traffic loads have the same time scale, the total buffer B needed in a node can be obtained using the following expression: (where si,j is the channel j si function):

    Wi gives the total buffer used in time frame i. Therefore B is the the maximum buffer for all frames i.

3.4. Schedulability

    In this option you can test diffent admission tests as described in [2].

Workload definition...

    In this dialog you can define the workload to be used in the admission tests used in the simulations. This dialog is no modal so you can mantain it open to modify the traffic workload used in the following menu options. Up to 20 six classes of loads can be used.

  1. Load the traffic information with the Add botton. In order to use the test for each traffic three files are needed: the empirical envelope (.env), envelope points (.vpd) and the traffic segments (.tse)
  2. Select the number of loads for each class of traffic (the Nº column) and its deadline (When is used to evaluate individual test). To do this select the element and modify the number and delay in the bottow-right corner and press update.
  3. You can save and load a list of workloads to a file (this file has a .wde extension).

Evaluate Admission test...

    You can test if the given workload can be scheduled in a node. First, introduce network node parameters. In this test all the nodes has the same characteristics. This dialog closely interacts with the Workload Definition (update the reservations).

    The admission tests implemented are described in [2], and are the following

  1. GPS: Optimal bandwidth reservation for GPS (the packetised version PGPS or WFQ) schedulers as described in paper [1][2].
  2. GPS(SH):Total shaping as described in [4].
  3. EDF(Exact):EDF exact call acceptance test. It uses the exact schedulability condition for one node using equation (15). It requires complete traffic envelope.
  4. EDF(Fixed Burst):EDF Fixed Burst [15] .The token bucket peak rate p is the peak rate of the video and the burst parameter s is fixed to 1000 cells. Then, r is obtained using the r-1(s) function (the minimal r value for s value).
  5. EDF(C. Hull):The Concave Hull approach [10] selects the first m segments from the Piecewise Linear Function of the empirical envelope. In the presented tests m was 4.
  6. RC-EDF(STS):Segment Total Smoothing RC-EDF [11]. A simplified test for RC-EDF that uses a 4-segment leaky-bucket traffic characterization. These characterizations are obtained from the empirical envelope as four-segments cover. The values of these segments can be found in [11].
  7. RC-EDF(SHS):Segment Hop Smoothing RC-EDF [12], An improved version of RC-EDF(STS) that uses an heuristics to obtain the shaper delay. The traffic characterization is the same of test RC-EDF(STS).
  8. RC-EDF(LB):RC-EDF Leaky Bucket. Uses the leaky bucket shaper obtained from the GPS optimization scheme.

Admission test simulation...

    This simulation obtains several performance parameters, as the call admission probability, and bandwidth utilization for a given set of traffics. The results of the simulation are generated in the log. In order to start a simulation you must follow these steps:

  1. Select Simulation Parameters
  2. Select Network Node Parameters.: This parameters define the node to be evaluated.
  3. Select Test to Evaluate.: The test used are the same of the previous option, plus the following:
  4. Select simulation range.: You can repeat the simulation automatically for a given range. The results are written in the log.
  5. Simulate.:

    The simulation calculate the following parameters

    The following example shows a result for load 130.00 and 1 hops

====================================================================================
Simulations of Schedulabilty  Flows = 10000 Delay = 0.100000,1.500000 s 
  Load 130.00 Hops 1
               EDF(Exact)   EDF(F.Burs)  EDF(C.Hull)  GPS(Optim)   GPS(S.Opt)   RC-EDF(STS)  RC-EDF(SHS)  RC-EDF(LB)   CBR(Peak)    CBR(Mean)   
  CALL ACCEP.     0.001300     0.078100     0.893800     0.015400     0.015600     0.054400     0.979900     0.015400     0.575300     0.000000 
   MEAN UTIL.     35.51919     32.17401      3.91007     34.93174     34.91458     33.58226      0.82562     34.93174     13.88361     35.56359 
     MEAN BW.     55054752     49869721      6060615     54144202     54117594     52052496      1279710     54144202     21519591     55123563 
     PEAK BW.     70419977     56501496     52712245     66161499     65978710     71060270     17361403     66161499     26462613     72392391 
     TEST TI.      361.291      237.000      757.207      128.472       13.249       85.085      124.697      111.068        9.232        8.339 
 ====================================================================================

    The following example shows the results for load ranging from 100 to 150 step 10 and 1 hops

====================================================================================
Simulations of Schedulabilty  Flows = 10000 Delay = 0.100000,1.500000 s 
->LOAD ITERATION   Hops fixed 1
***Call acceptance prob.***
        Load  EDF(Exact)   EDF(F.Burs)  EDF(C.Hull)  GPS(Optim)   GPS(S.Opt)   RC-EDF(STS)  RC-EDF(SHS)  RC-EDF(LB)   CBR(Peak)    CBR(Mean)   
         100     0.000000     0.005100     0.902400     0.000000     0.000000     0.025600     0.980600     0.000000     0.475800     0.000000 
         110     0.000000     0.017300     0.895100     0.000600     0.000600     0.423200     0.980100     0.000600     0.523700     0.000000 
         120     0.000100     0.042200     0.894400     0.003800     0.003800     0.045000     0.980000     0.003800     0.554300     0.000000 
         130     0.001300     0.078100     0.893800     0.015400     0.015600     0.159500     0.979900     0.015400     0.575300     0.000000 
         140     0.007000     0.116900     0.766000     0.035600     0.035600     0.090900     0.979800     0.035600     0.605800     0.000000 
         150     0.019200     0.153500     0.605400     0.066200     0.064800     0.051200     0.979500     0.066200     0.622100     0.000000 
***Mean utilisation***
        Load  EDF(Exact)   EDF(F.Burs)  EDF(C.Hull)  GPS(Optim)   GPS(S.Opt)   RC-EDF(STS)  RC-EDF(SHS)  RC-EDF(LB)   CBR(Peak)    CBR(Mean)   
         100     27.41938     27.27172      2.77816     27.41938     27.41938     26.72593      0.61514     27.41938     13.45061     27.41938 
         110     30.13782     29.42283      3.27996     30.10957     30.10957     17.33699      0.68751     30.10957     13.56064     30.13782 
         120     32.84562     30.97807      3.60057     32.71322     32.71322     31.30872      0.75666     32.71322     13.70779     32.85285 
         130     35.51919     32.17401      3.91007     34.93174     34.91458     30.12851      0.82562     34.93174     13.88361     35.56359 
         140     37.89519     32.85140      9.02568     36.57668     36.56744     35.03845      0.89110     36.57668     14.03167     38.26890 
         150     39.95651     33.44521     16.66776     37.82055     37.83315     38.96626      0.96297     37.82055     14.32465     40.97081 
***Mean Bandwidth***
        Load  EDF(Exact)   EDF(F.Burs)  EDF(C.Hull)  GPS(Optim)   GPS(S.Opt)   RC-EDF(STS)  RC-EDF(SHS)  RC-EDF(LB)   CBR(Peak)    CBR(Mean)   
         100     42500038     42271167      4306146     42500038     42500038     41425192       953470     42500038     20848442     42500038 
         110     46713627     45605384      5083936     46669837     46669837     26872327      1065635     46669837     21018990     46713627 
         120     50910713     48016005      5580889     50705486     50705486     48528522      1172823     50705486     21247081     50921919 
         130     55054752     49869721      6060615     54144202     54117594     46699191      1279710     54144202     21519591     55123563 
         140     58737540     50919676     13989802     56693847     56679526     54309597      1381211     56693847     21749088     59316801 
         150     61932590     51840083     25835036     58621859     58641376     60397707      1492611     58621859     22203206     63504752 
***Peak Bandwidth***
        Load  EDF(Exact)   EDF(F.Burs)  EDF(C.Hull)  GPS(Optim)   GPS(S.Opt)   RC-EDF(STS)  RC-EDF(SHS)  RC-EDF(LB)   CBR(Peak)    CBR(Mean)   
         100     59625887     54924624     42395989     59625887     59625887     59092887     13417315     59625887     25994343     59625887 
         110     65103629     55062830     45569967     62417957     62417957     58440870     15076211     62417957     25845992     65103629 
         120     68861463     55479303     49015523     64127580     64127580     66177587     15963936     64127580     26696947     69539676 
         130     70419977     56501496     52712245     66161499     65978710     72065437     17361403     66161499     26462613     72392391 
         140     71467136     57036673     61201993     66491581     66491581     73578072     17361403     66491581     27638448     77010488 
         150     74257573     56963319     64142792     67092986     66824697     81715546     17894403     67092986     27187122     81715546 
***Peak Test time***
        Load  EDF(Exact)   EDF(F.Burs)  EDF(C.Hull)  GPS(Optim)   GPS(S.Opt)   RC-EDF(STS)  RC-EDF(SHS)  RC-EDF(LB)   CBR(Peak)    CBR(Mean)   
         100      361.790      206.053      698.185      133.767       13.330       76.165      119.912       97.800        8.966        8.188 
         110      359.189      219.483      737.419       19.092       13.289       53.698      122.726      101.791        9.071        8.139 
         120      359.830      232.343      757.016       19.743       13.191       84.103      125.150      108.616        9.122        8.103 
         130      371.353      245.781      793.766       21.178       13.428       85.498      131.665      118.087        9.149        8.109 
         140      373.161      252.963     1969.087       23.730       14.174       99.727      138.007      125.733        9.452        8.357 
         150      379.249      263.646     3820.324       26.759       14.443      115.337      146.068      133.407        9.930        8.464 
====================================================================================

    The GPS flows traces have the following rows:

    This an example of this log trace:

Load  Deadline(s)   Duration(s)     StartTime(s)   Hops Sigma(bits)     Rho(b/s)  Peak(b/s)  EFCGSTHLPM
------------------------------------------------------------------------------------------------------------
 1       1.433219    149.376967       296.252742      1     1077516       752414    2990800  ..........
 1       0.464965     25.184210       296.556202      1      399898       861907    2990800  .X......X.
 1       1.499658     67.653133       296.779293      1     1121119       748156    2990800  .XXXX..XX.
 1       1.198569    118.174978       296.963937      1      928875       775703    2990800  .XXXXX.XX.
 4       0.218821    124.425409       297.591995      1      443469      2030568    4679400  .XXXXX.XX.
 5       0.573659     55.025999       298.692408      1      582716      1017284    1600000  ..........
 1       1.102820    199.651782       298.707199      1      865697       785763    2990800  ........X.
 2       0.897650     59.157814       298.757558      1     1737038      1936054    5730000  .XXXXX.XX.
 4       0.224204    166.181279       298.864563      1      451564      2017918    4679400  ..XXXX.XX.
 5       0.387930     52.487076       299.508573      1      446585      1153415    1600000  ..........

3.5. Aggregation

    In this option you can generate traffic aggregates..

Composite Traffic Aggregation...

    This option generate a traffic aggregate as a composition of several traffic workloads. The workload used in the aggregation can be defined in the list Up to 50 six classes of loads can be used.

  1. Load the traffic information with the Add botton.
  2. The number of loads, start, duration and exponential distribution is only used with the static aggregation. To modify these values select the element and modify these parameteres in the bottow-right corner and press Update.
  3. You can save and load a list of aggregate to a file (this file has a .agd extension).

    There are 3 ways to generate the traffic aggregate:

  1. Static aggregate:The traffic is generate aggregating the number and characteristics of the traffic composition. The traffic generated is based in the following information for each class of workload
  2. Dynamic aggregate: The traffic is generated dynamically simulating an arrival process of traffic for a fixed Offered Bandwidth. In this case the workloads used for generating are those that were load in the traffic composition.
  3. Shaped aggregate: This is similar to the Dynamic aggregate although the offered bandwidth is variable, that is we can generate a traffic aggregate that follows a given traffic shape.

    The aggregate can be written to file with 'Generate File' in bandwidth format (*.wrk). The traffic used to generate the traffic must has 25fps.

    The following graphics shows the static aggregation for soccer500 with the following configuration

Aggregate information...
        LoadName   Loads   Start(s) Duration(s)  Exp?
   Soccer500.wrt       1       0.00       20.00    
   Soccer500.wrt       2      10.00       20.00    
   Soccer500.wrt       1       5.00       15.00    

Synthetic Traffic Aggregation...

    This option generate a synthetic traffic aggregate.There are 2 ways to generate the traffic aggregate:

  1. Sinusoid aggregate:The traffic is generate using the sinusoid model as described in [19] using the following equation:

    where mi is the mean rate and ai is the amplitude of a sinusoid with period T. The random nature of the demand is further modeled by additive white noise Zi() (i.e., EZi(t)Zi(t + s)=0 for s <> 0) that has uniform distribution, that is, Zi() ~ U[ -bi ,bi ]. Finally, the sinusoids have random phase qi which can be in the range [0, 2p]

    .
  2. Shaped aggregate: The traffic is generated following a traffic shaper adding white noise to the traffic

    The aggregate can be written to file with 'Generate File' in bandwidth format (*.wrk).

    The following graphics shows the sinusoid aggregation for the following configuration

      Mean =3000000 b/s  Amplitude =1000000 b/s  Period =50.000 s Phase = 0 
      White Noise = [-1500000.000000,1500000.000000] Duration = 100.000000 Traffic Period = 0.040000 
	  Aggregate Peak=5968951 b/s  Mean=3009568 b/s  Ratio=1.983325

3.6. Network simulation

    This option starts a network simulator. This simulator is a C++ object oriented discrete-event simulation program specifically designed to test traffic workloads and scheduling algorithms. It uses a modified version of the SMPL library. The netword is specified in a simply description language file (see appendix 3) and it can use a deterministic flow as the MPEG traces seen in former sections. The traffic is introduced in the network following the leaky or token bucket flow. It implements part of the RSVP resource reservation mechanism and two network scheduling disciplines: WFQ and PQ. The main characteristics of the simulator are:

    For PQ scheduler have 6 FCFS queues, one for each class of service (PHB: per hop behaviuor) : (two levels of Expedited Forward and four for Automatic Forwarding: AF). EF1,EF2,AF1,AF2,AF3,AF4. The implementation is based in the RFC3246[17] standard.

    In the WFQ algorithm there is a one ordered queue where the packets are inserted in time stamp order.

    The following figure shows a sample of the simulation dialog:

    This dialog has a set of buttons to control the simulation like a VCR player and information about the simulation progress. The simulation trace shows the events generated by the simulator and can be configured to different levels. In the following table is a description of the elements in the dialog

Element Description
> One step button
>> Fast forward.button
# Stops simulation
Simulation time Time of current simulation (in mseconds) H4
IterationH4 Current Iteration number and total of iterationsH4
Simulation traceH4 This part of the dialog present the simulation traces. The list box contains the trace log that is real-time updated (if configured)H4
Clear logH4 Clear the trace logH4
Trace levelH4 There are three level of tracing (from lesser to greater information): No trace, Normal, Normal + SMPL.H4
StatisticsH4 Present a windows with the current statistics. H4
Copy to fileH4 Generate the file "NetSim.log" with the contenst displayed in the trace windowH4

    The information generated in each simulation is very complete: it contains information about each channel and link.

This information is dumped in file that is specified in the definition file (.net). The following table shows the information generated in the simulations (the information generated can be configured using the @SIM_INFO variable)

Section Description
Variables Shows the values of the variables used in the simulations
Channels For each channel shows the following information:
Channel The channel number
Pkt Snd The total number of packets send
Pkt Rcv The total Number of packets received
Tmean Packet Mean time transmission (in mseconds)
Tmax Packet Maximal time transmission (in mseconds)
Tmin Packet Minimal time transmission (in mseconds)
Set-up time Time for channel establishment (in mseconds)
Set-up time Bandwith reserved in the nodes (in b/s)
Interval The interval information can be used to know how the traffic trace is modified in the network. The interval time is equal to the load period. For each time interval the following information is presented:
Interval Start end time of the interval (in mseconds).
Pkt Snd Packet sent in the interval
Pkt Rcv Packet received in the interval
Tmean Packet Mean time transmission (in mseconds)
Tmax Packet Maximal time transmission (in mseconds)
Tmin Packet Minimal time transmission (in mseconds)
BitsInt Bits introduced in the shaper
BitsGen Bits generated to the network
BitsSnd Bits sended
BitsRcv Bits received
Packet delay distribution The packet delay distribution can be used to know how the packets are delayed, The number of classes are defined in the @PDF_CLASSES variable. For each class the following information is presented:
Interval Start end time of the interval (in mseconds)
Pkt Number the packet in the class
% Percentage of total
%Cum Percentage cummulated
Link For each link shows the following information:
Link The link name
Pkt The total number of packets transmitted
Bits The total number of bits transmitted
Utl The link utilisation
Channel Info Shows the information of the channel that traverses the link.
Channel Channel number. The channel numbers 9999 to 10009 are created to load the link
Pkt Number of packet of the channel transmitted
Tmean Packet Mean time transmission (in mseconds)
Tmax Packet Maximal time transmission (in mseconds)
Tmin Packet Minimal time transmission (in mseconds)
MaxPktQueued Maximal number of packet queued
MaxBitsQueued Maximal number of bits queued
Reduced info Presents in a line a condensed information about every simulation:
D Delay (in mseconds)
U Utilization
n Number of the channel
PktSnd Total packets send in the channel
PktRcv Total packets received in the channel
Tmean Packet Mean time transmission (in mseconds)
Tmax Packet Maximal time transmission (in mseconds)
Tmin Packet Minimal time transmission (in mseconds)
BW.Resv Bandwidth reservation (b/s)
3/4 ... Porcentage of packet below 3/4 of delay. For 1/2, 1/4, 1/8 and 1/16 is always obtained.

    One of the problems that arises in the simulations is the one of how to load the network in order to compare schemes involving guaranteed performance connections. To solve this problem, 10 channels are created in each node with a load index that ranges from 0% (no load) to 100% (full load). The load index is the percentage of the rest of the free bandwidth of the link.

This is a sample information file

Total simulation Time = 3001040.720

*****Vars*****
@DURATION = 300000
@LEAKYBUCKET = 0
@LOAD = 100
@M = 8192
@FILEOUT = .\Network1.RES
@NAME = NETWORK1
@FILEOUTR = .\Network1.RR
@DELAY = 10000

*****Channels*****
Channel = 0  Pkt Snd = 120 Rcv = 119 Tmean = 1660.49us Tmax = 2593.00us Tmin = 334.23us
    Set-up time = 1375.28us BW Reservation(R)= 4110008(b/s)
                Time Interval(us) Pkt: Snd  Rcv        Tmean         Tmax         Tmin    BitsInt.    BitGen.   BitsSnd.   BitsRcv.
          [      1375,     41375]       49   46    1637.73us    2541.12us     334.23us       47931      48000      48050      46000 
          [     41375,     81375]        8   10    1657.39us    2541.67us     813.56us        7426       8000       8000      10000 
          [     81375,    121375]        8    7    1390.59us    2098.55us     499.95us        7833       8000       8000       7000 
          [    121375,    161375]       18   18    1840.99us    2593.00us     905.32us       19553      18000      18000      18000 
          [    161375,    201375]        8    9    1678.07us    2225.29us     881.12us        7480       8000       8000       9000 
          [    201375,    241375]        7    7    1585.29us    2329.68us     959.79us        7326       7000       7000       7000 
          [    241375,    281375]       19   18    1686.25us    2215.30us     663.52us       19108      19000      19000      18000 
          [    281375,    321375]        3    4    1566.19us    2180.16us     649.47us        6942       3000       3000       4000 
    Packet delay distribution  
                    Interval (us)   Pkt         %   %Cum.
          [         0,      1000]    15     12.61   12.61
          [      1000,      2000]    74     62.18   74.79
          [      2000,      3000]    30     25.21   100.00
          [      3000,      4000]     0      0.00   100.00
          [      4000,      5000]     0      0.00   100.00
          [      5000,      6000]     0      0.00   100.00
          [      6000,      7000]     0      0.00   100.00
          [      7000,      8000]     0      0.00   100.00
          [      8000,      9000]     0      0.00   100.00
          [      9000,     10000]     0      0.00   100.00

*****Links*****
Link E3   Pkt = 804   Bits = 13819000  Utl = 92.09
    Channel     0   Pkt =    119 Tmean =   580.39us Tmax =  1219.14us Tmin =    20.00us MaxPktQueued =     3 MaxBitsQueued =       3000
    Channel  9999   Pkt =    115 Tmean =   400.23us Tmax =   419.09us Tmin =   400.00us MaxPktQueued =     1 MaxBitsQueued =      20000
    Channel 10004   Pkt =    114 Tmean =  2410.42us Tmax =  2460.00us Tmin =  2400.00us MaxPktQueued =     1 MaxBitsQueued =      20000
    Channel 10003   Pkt =    114 Tmean =  2010.42us Tmax =  2060.00us Tmin =  2000.00us MaxPktQueued =     1 MaxBitsQueued =      20000
    Channel 10002   Pkt =    114 Tmean =  1607.26us Tmax =  1660.00us Tmin =  1600.00us MaxPktQueued =     1 MaxBitsQueued =      20000
    Channel 10001   Pkt =    114 Tmean =  1204.45us Tmax =  1220.00us Tmin =  1200.00us MaxPktQueued =     1 MaxBitsQueued =      20000
    Channel 10000   Pkt =    114 Tmean =   800.23us Tmax =   819.09us Tmin =   800.00us MaxPktQueued =     1 MaxBitsQueued =      20000
Link E2   Pkt = 2033   Bits = 28829000  Utl = 96.06
    Channel     0   Pkt =    119 Tmean =   258.64us Tmax =   539.22us Tmin =    10.00us MaxPktQueued =     2 MaxBitsQueued =       2000
    Channel  9999   Pkt =    319 Tmean =   150.00us Tmax =   150.00us Tmin =   150.00us MaxPktQueued =     1 MaxBitsQueued =      15000
    Channel 10004   Pkt =    319 Tmean =   901.60us Tmax =   920.00us Tmin =   900.00us MaxPktQueued =     1 MaxBitsQueued =      15000
    Channel 10003   Pkt =    319 Tmean =   751.60us Tmax =   770.00us Tmin =   750.00us MaxPktQueued =     1 MaxBitsQueued =      15000
    Channel 10002   Pkt =    319 Tmean =   601.32us Tmax =   620.00us Tmin =   600.00us MaxPktQueued =     1 MaxBitsQueued =      15000
    Channel 10001   Pkt =    319 Tmean =   450.66us Tmax =   460.00us Tmin =   450.00us MaxPktQueued =     1 MaxBitsQueued =      15000
    Channel 10000   Pkt =    319 Tmean =   300.00us Tmax =   300.00us Tmin =   300.00us MaxPktQueued =     1 MaxBitsQueued =      15000
Link E1   Pkt = 888   Bits = 9347000  Utl = 88.99
    Channel     0   Pkt =    119 Tmean =   523.22us Tmax =  1047.19us Tmin =    28.57us MaxPktQueued =     2 MaxBitsQueued =       2000
    Channel  9999   Pkt =    129 Tmean =   342.86us Tmax =   342.86us Tmin =   342.86us MaxPktQueued =     1 MaxBitsQueued =      12000
    Channel 10004   Pkt =    128 Tmean =  2069.22us Tmax =  2114.28us Tmin =  2057.14us MaxPktQueued =     1 MaxBitsQueued =      12000
    Channel 10003   Pkt =    128 Tmean =  1726.14us Tmax =  1771.43us Tmin =  1714.29us MaxPktQueued =     1 MaxBitsQueued =      12000
    Channel 10002   Pkt =    128 Tmean =  1378.58us Tmax =  1400.00us Tmin =  1371.43us MaxPktQueued =     1 MaxBitsQueued =      12000
    Channel 10001   Pkt =    128 Tmean =  1031.71us Tmax =  1057.14us Tmin =  1028.57us MaxPktQueued =     1 MaxBitsQueued =      12000
    Channel 10000   Pkt =    128 Tmean =   685.73us Tmax =   687.14us Tmin =   685.71us MaxPktQueued =     1 MaxBitsQueued =      12000
Link E0   Pkt = 1493   Bits = 13859000  Utl = 92.36
    Channel     0   Pkt =    119 Tmean =   298.23us Tmax =   638.25us Tmin =    20.00us MaxPktQueued =     1 MaxBitsQueued =       1000
    Channel  9999   Pkt =    229 Tmean =   200.11us Tmax =   217.21us Tmin =   200.00us MaxPktQueued =     1 MaxBitsQueued =      10000
    Channel 10004   Pkt =    229 Tmean =  1204.39us Tmax =  1220.00us Tmin =  1200.00us MaxPktQueued =     1 MaxBitsQueued =      10000
    Channel 10003   Pkt =    229 Tmean =  1004.39us Tmax =  1020.00us Tmin =  1000.00us MaxPktQueued =     1 MaxBitsQueued =      10000
    Channel 10002   Pkt =    229 Tmean =   803.25us Tmax =   820.00us Tmin =   800.00us MaxPktQueued =     1 MaxBitsQueued =      10000
    Channel 10001   Pkt =    229 Tmean =   601.68us Tmax =   620.00us Tmin =   600.00us MaxPktQueued =     1 MaxBitsQueued =      10000
    Channel 10000   Pkt =    229 Tmean =   400.11us Tmax =   417.21us Tmin =   400.00us MaxPktQueued =     1 MaxBitsQueued =      10000

********* REDUCED INFO *************
     D(us)    U  n    PktSnd.    PktRec.     Tmean.      Tmax.      Tmin.    BW.Resv    3/4    1/2    1/4    1/8   1/16
     20000    0  0        126        125      78.57      78.57      78.57    3531252 100.00 100.00 100.00 100.00 100.00
     20000   25  0        126        125     169.07     418.82      78.57    3531252 100.00 100.00 100.00 100.00 100.00
     20000   50  0        126        125     451.50    1154.89      78.57    3531252 100.00 100.00 100.00 100.00 100.00
     20000   75  0        126        124     914.11    1778.59      78.57    3531252 100.00 100.00 100.00 100.00  76.61
     20000  100  0        126        124    1603.81    2583.77     395.35    3531252 100.00 100.00 100.00  95.16  20.97

3.7. In Beta

    In this option are collected some functions that are in beta version or does not work well.


A1. File extensions

     The following table shows the files extensions used or generated by the program.

Extension Format Description
WRK bits/s Traffic trace in bandwidth format
WRT bits Traffic trace in frame format (frame size in bits)
WRB bytes Traffic trace in frame format (frame size in bytes)
WSH bits/s Traffic shape trace in bandwidth format
ACU bits Cumulated traffic
ENV bits Empirical envelope
RED bits/s Traffic trace of the reduced traffic.
SLB bits/s Traffic trace of the leaky bucket shaper.
HST table  Histogram classes.
BUF bits Buffer size depending on time.
VPD binary Dump of the Envelope Points structure
EP text Envelope Points table
BFR bits s(r) function
RFD table The optimal reservation for a given delay range
RFB table Primary and backup reservation for a given delay range
SFD table The optimal shaper leaky bucket parameters for a given delay range
PLE table The piecewise linear envelope derived from the envelope points
WDE table Workload definition for schedulability tests.
EFT bits The envelope function depending on time
OBN table Buffer optimisation table

A2. Workload trace formats

    The traffic traces files format are plain text. Each line has the frame value that can be expressed as frame size or bandwidth. RTNOU works internally as bandwidth frames but it can read different traces formats. This allows RTNOU to work with most traffic traces as the Rose's set and Berlin set.

The following example shows the traffic traces in 3 formats for the Terse_Soccer MPEG4 traffic trace of the Berlin Set

            | Frame size |  Frame size  |  Bandwidth
     Frame  |  (bytes)   |    (bits)    |    (b/s)  
     Number |   *.wrb    |    *.wrt     |    *.wrk  
     -----------------------------------------------
     1      |   7559     |     60472    |   1511800 
     2      |   1865     |     14920    |    373000 
     3      |   2021     |     16168    |    404200 
     4      |   3442     |     27536    |    688400 
     5      |   1532     |     12256    |    306400 
     6      |   1853     |     14824    |    370600 
     7      |   2282     |     18256    |    456400 
     8      |   1515     |     12120    |    303000 
     9      |   1664     |     13312    |    332800 
     10     |   2216     |     17728    |    443200 
     11     |   1451     |     11608    |    290200 
     12     |   1473     |     11784    |    294600 
     13     |   8506     |     68048    |   1701200 
     14     |   1821     |     14568    |    364200 
     15     |   1791     |     14328    |    358200 

This is the relation between the frames: WRTi = 8*WRBi; WRKi = f*WRTi (f is the frames per second of the traffic)

NOTE: Information for using known traffic traces.

A3. Network definition language

    This appendix describes the sintax of the network definition language used in network simulations.

    The network is defined in a text file with a .NET extension. In this file we define the links, nodes and workload of the simulation using the following format:

	RED ::= VAR ... LINK... TERMINAL... NODE

    A line beginnig with / is assume to be a comment.

A3.1. Variables definition

    The sintax to define a variable is the following.

	VAR ::= VAR_NORMAL | VAR_ITER
	VAR_NORMAL ::= @Name = Value
	VAR_ITER   ::= #Name = ( Value1 Value2 ... ValueN )

where:

Field Description
Name Name of the Variable
Value Value assigned to a variable
Value1..n Value assigned to a variable in each iteration

    The variables has a value and its value is replaced in the network definition. The iterative variables can be used to define several values for a variable and permits to make consecutive simulations. (at the most, only two iterative variables can be defined). The following table shows some predefined variables that are used in the simulations:

Variable Description
@DURATION Duration of the simulation in microseconds
@NAME Simulation name
@FILEOUT Name of the file to store the result of the simulations
@LEAKYBUCKET If Leaky is 1 then the traffic is introduced in the network using a leaky bucket shaper, else the traffic is token bucket shaped
@DELAY End-to-end delay. This a typical iterative variable. It is used only to generate reports
@LOAD Load or utilization.This a typical iterative variable. It is used only to generate reports
@PDF_CLASSES Number of classe used to obtain the probability density function of the packet delays. (default value is 10)
@SIM_INFO Configure the information simulation that is generated. Is a string that indicates with information is NOT presented with a letter. (by default all information is generated). The posible values are: T:Time interval, P:PDF, C:Link channels, R:Reduced info, For example the text "TC" will not generate the time interval and Link channels information,

    The variables are used in the network definition as @Variable (both types of variables: normal and iteratives). IMPORTANT: This type of variable can only holds integer values

    Sample

	@DURATION = 3100000
	#LOAD = ( 0 25 50 75 100 )
	#MTU  = ( 0 1000 2000 5000 )

A3.2. Link definition

    The sintax to define a link is the following.

	ENLACE ::= L(N),(  BW delay MTU M Trans [Sched]) [,( Utilisation) ]

where:

Variable Description Unit
N A positive integer that identifies the link
BW Link bandwidth bits/s
Delay Fixed delay of the link (can be 0) microseconds
MTU Minimal Transmition Unit Bits
M Maximal packet size Bits
Trans Type of transmission (F: Fullduplex H: Halfduplex). Do not used Bits
Scheduler Link scheduler (WFQ, etc). The default option is "WFQ" Bits
Utilisation Utilisation of the link. This value indicates the utilisation of the not reserved bandwidth. %

    Sample:

	L(0 ),(10000000 0 2000 10000 F)
	L(1 ),(15000000 50 1000 10000 F)

A3.3. Terminal definition

    The sintax to define a sender or receiver node (a terminal node) is the following.

	SENDER ::= T(ip_addr),  (link)
			[ {
				destino_ip :  channel [PHB] LOAD;
				…
		    	}
			] 
	LOAD ::= LOAD_VBR | LOAD_PAR | LOAD_DIF
	LOAD_VBR ::= dmax V R b min_pkt max_pkt p r WORKLOAD
	LOAD_VBO ::= dmax P min_pkt max_pkt WORKLOAD
	LOAD_DIF ::= PHB min_pkt max_pkt WORKLOAD
	WORKLOAD ::= Tload Frames { ( v1, v2,.... vn )| $FileIn  }

    The traffic definition set the type of transmission. It can be an IntServ approach (the reservation is the same in all the nodes along the path) and in a DiffServ approach, the reservation is specified in the nodes. For IntServ traffic, it can be defined with variable rate and fixed reservation (LOAD_VBR) or variable rate with reservation obtained using the optimal method described in [1] LOAD_VBO. This diffserv traffic is specified defining a PHP and the workload. The workload can be introduced in the definition as a series of values or can be readed from a file. The following table describe each element:

Field Description Unit
ip_addr IP address of the terminal node b.b.b
link The number of link connected to this terminal
ip_dest the destination IP address of the channel b.b.b
channel Channel identification (Positive integer number)
Dmax Maximal End-to-end delay microseconds
PHB Per hop behaviour: class of service in DiffServ. There are two clases for Expedit Forwarding (EF) and four for Assured Forwarding (AF) EF1,EF2,AF1,AF2,AF3,AF4
R Bandwidth reservation in the node for the channel Bits/s
b Traffic specification. Bucket depth. Bits
min_pkt Size of the minimal packet of the channel. Bits
max_pkt Size of the maximal packet of the channel. Bits
p Traffic specification. Peak rate. Bits/s
r Traffic specification. Drain rate. Bits/s
Tload Period of variable load . microseconds
Frames Number of frames of the workload.
vi Transmission rate in period i. bits/s
$FileIn Workload file in bandwidth format

    Sample:

	T(1.1.1),( 0) 
	{
		2.1.1: 2 V 500000   1500000      20  10000   1000  1000000  360000
				100000 31 
				( 200000   100000  200000       0       0  
				  100000   300000  200000  300000  200000 
				  100000   200000       0  200000  100000  
				  300000   400000  700000  400000  300000 
				  500000   600000  500000  600000  800000 
				  1000000  800000  600000  400000  500000 
				  200000) ;
		2.1.1: 3 P 1000000  1000 1000 40000 1500 $.\lambs.wrk  
	}

A3.4. Node definition

    The sintax to define a node is the following.

	NODE ::= N(ip_addr), (link … ) ROUTE_TABLE
	ROUTE_TABLE ::= {
	                 ip_mask: output_link;
	                 …
	                }

where:

Field Description Unit
ip_addr IP address of the node b.b.b
link The number of links connected to this sender
ip_mask IP mask to router. * stands for all values.
output_link Output link associated with the mask.

    Sample:

	N(1.1),(0 1)
	{
		2.1.* : 1;
		1.1.* : 0
	}
	N(1.2),(1 2)
	{
		2.1.* : 2;
		1.1.* : 1
	}

A3.5. Sample definition

    The following sample network has 3 nodes and two sender and two receivers. The first sender has two flows: one of CBR type and the other the SOCCER traffic traffic. The other sender has only one flow.

     //  					SAMPLE NETWORK 
     //
     //                  T(1,1,2)
     //                          ----
     //                              L4
     //                                ----     
     //  T(1,1,1)----L0----N(1,1)----L1----N(1,2)----L2----N(1,3)----L3----T(2,1,1)
     //                                                          ----     
     //                                                              L5
     //                                                                 ----
     //                                                                     T(2,1,2)
     
     /***********
     /* V A R S *
     /***********
     
     @NAME = 002VBR100
     @DURATION = 4000000
     @M = 8192
     #DELAY = (100000 50000 25000 20000 10000)
     #LOAD = ( 0 50 100)
     @FILEOUT = ".\soccer1.RES"
     @LEAKYBUCKET = 0      
     
     /****************
     /* L I N K S    *
     /****************
     L(0 ),(50000000 0 10000 @M F),(@LOAD )
     L(1 ),(35000000 0 12000 @M F),(@LOAD )
     L(2 ),(100000000 0 15000 @M F),(@LOAD )
     L(3 ),(50000000 0 20000 @M F),(@LOAD )
     L(4 ),(50000000 0 10000 @M F),(@LOAD )
     L(5 ),(35000000 0 12000 @M F),(@LOAD )
     
     /***********************
     /* T E R M I N A L  *
     /***********************
     T(1.1.1),( 0) 
     {
     	2.1.1: 0   P @DELAY 1000 @M 40000 1500 $.\soccer.wrk;
     	2.1.2: 1  C 1000000   1650000  500000    750   4500      500 3000000
     }	        
     T(2.1.1),( 3)
     T(1.1.2),( 4) 
     {
     	2.1.1: 2  C 500000    5000000  250000   5000   5000     1000 3000000
     }	        
     T(2.1.2),( 5)
          
     /*************
     /* N O D E S *
     /*************
     N(1.1),(0 1)
     {
     	2.1.* : 1;
     	1.1.* : 0
     }
     N(1.2),(1 2 4)
     {
     	2.1.* : 2;
     	1.1.1 : 1
     	1.1.2 : 4
     }
     N(1.3),(2 3 5)
     {
     	2.1.1 : 3;
     	2.1.2 : 5
     	1.1.* : 2;
     }

A3.6. Error codes

    The following table show the error codes and description that can be displayed when a the network file is not correct.

Code Description
1 I/O file error %filename
2 Token error in line %u
3 Sintax error in line %u
4 Cannot create a terminal in line %u
6 Link does not exist in line %u
7 Maximal number of link for a node exceeded in line %u
8 Link error in line %u
9 Workload definition error in line %u
10 The table of routes cannot be generated in line %u
11 Variable does not exits in line %u
13 Only two iterative variables can be declared. Line %u
14 Cannot read the workload file in line %u

A4. Program versions

    This appendix describes the history of RTNOU and the main characteristics of the different versions.

Version Date Description
1.0 15-Oct-1999 Basic version. The name was RTNetSim (Real Time Network Simulator).
  • It had only a first version of the network simulator.
  • The application interface was a simple dialog
  • Compiled in Visual C++ 4.2
2.0 02-May-2000 This version included the library of optimisation function.
  • The application interface was MDI. It had menu and toolbar
  • Included the dialogs to work with trace loads, obtain the optimal reservation, envelope points.
3.0 15-May-2001 This a revised version of 2.0, that included the algorithms presented in my Phd.
  • The dialog and menus had been translated to english
  • Included a simple help in the dialogs.
  • The functions were separated in a single file (The RTNOULib)
4.0 02-Aug-2002 Full revision of the program in order to put it on the web
  • Compiled in Visual C++ 5.0
  • Includes an html help, that is linked with program (using F1).
  • Includes the schedubility simulation
4.1 01-Nov-2002 Include the Network simulator as a option in the menu
  • The network definition language is in english language.
  • Some corrections of known bugs
4.2 01-Mar-2003 New functionalities:
  • Traffic aggregation generation
  • Diffserv EF PHB delay equations and optimisation
4.3 1-Jun-2003 Some minor corrections:

References

[1]  E. Hernandez-Orallo and J. Vila-Carbo, "A Fast Method to Optimise Network Resources for Video-on-Demand Transmission" Euromicro Conference, 2000. Proceedings of the 26th 1, 440-447 vol. 1
[2]  E. Hernandez-Orallo and J. Vila-Carbo, "A New Approach to Optimise Bandwidth Reservation for Real-Time Video Transmission with Deterministic Guarantees" In Real-Time Imaging, vol 9/1 pp 11-26, Feb. 2003
[3]  E. Hernandez-Orallo and J. Vila-Carbo, "An Optimal Method for Allocating Buffer and Bandwidth for MPEG Traffic in a Network Node" in Proceedings of Euromicro'2001. 354-361, 2001
[4]  E. Hernandez, J. Vila, S. Sáez and Silvia Terrasa "Optimal Traffic Shaping with Deterministic Guarantees using GPS scheduling" Joint International Workshop on Interactive Distributed Multimedia Systems/ Protocols for Multimedia Systems (IDMS/PROMS'2002). Coimbra, Portugal, Nov. 2002.
[5]  E Hernandez-Orallo, J Vila-Carbó. "In advance activation of backup channels for real-time transmission", Dependable Systems and Networks, 2004 International Conference on, 555-560
[6]  A.K.Parekh and R.G.Gallager,"A generalized processor sharing approach to flow control in integrated services networks: The single node case", IEEE/ACM Trans. Networking, vol.1, nº3, pp.344-357,Jun. 1993.
[7]  A.K.Parekh and R.G.Gallager, "A generalized processor sharing approach to flow control in integrated services networks: The multiple node case", IEEE/ACM Trans. Networking, vol.2, nº2, pp.137-150, Apr. 1994.
[8]  A.R. Reibman and A.W.Berger "Traffic Descriptors for VBR Video Teleconferencing Over ATM Networks". IEEE/ACM Transaction On Networking. Vol 3, Nº 3, June 1995 pp. 329-339.
[9]  F.L. Presti, Z.L. Zhang, J. Kurose, and D. Towsley "Source Time Scale and Optimal Buffer/Bandwidth Trade-off for Heterogeneous     Regulated Traffic in a Network Node" IEEE Transactions , Aug. 1999
[10]  J.Liebeherr, D. Wrege and D. Ferrari. "Exact Admission Control for Networks with Bounded Delay Services". IEEE/ACM Transactions on Networking, December 1996
[11]  V. Firoiu, J. Kurose, and D. Towsley. "Efficient admission control of piece-wise linear traffic envelopes at EDF schedulers",IEEE/ACM Transactions on Networking, 6(5):558–570, October 1998.
[12]  V. Sivaraman, F. Chiussi, M. Gerla,"Traffic Shaping for End-to-End Delay Guarantees with EDF Scheduling", In proceedings of IWQoS'00.
[13]  J. Liebeherr and D.E. Wrege. "Traffic Characterization Algorithms for VBR Video in Multimedia Networks". In ACM/Springer Multimedia Systems Journal. Vol. 6, Nº 4, July 1998.
[14] E. Wrege, E.W. Knightly, H. Zhang and J. Liebeherr, "Deterministic Delay Bounds for VBR Video in Packet-Switching Networks: Fundamental Limits and Practical Tradeoffs". IEEE/ACM Transactions on Networking, 4(3):352-362, June 1996.
[15] P. Pancha and M. El Zarki. "Leaky Bucket Access Control for VBR MPEG Video. In Proc. INFOCOM’95, pages 796-803, April 1995.
[16] E. Hernández and J. Vila . "Evaluation of a new resource reservation scheme for MPEG transmission in highly available real-time channels". 5th IFIP TC6 International Simposium. Interworking’2000. Bergen, Norway, Oct. 2000. In Lecture Notes in Computer Science nº 1938. Springer-Verlag 2000, pp. 122-136
[17] B. Davie et al . "An Expedited Forwarding PHB (Per-Hop Behavior)" RFC3246.
[18] A, Charny et al. " Supplemental Information for the New Definition of the EF PHB (Expedited Forwarding Per-Hop Behavior)". RFC 3247,
[19] Huirong Fu and Edward W. Knightly, "Aggregation and Scalable QoS: A Performance Study", Proc. Of IWQoS, LNCS 2092, Jun. 2001