User Tools

Site Tools


tdmadama

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
tdmadama [2007-10-16 16:29]
alberto
tdmadama [2010-02-17 15:30]
pot all moved from votos to here
Line 1: Line 1:
-Authors: [[mailto:​alberto.gotta@isti.cnr.it|Alberto Gotta]], [[mailto:​francesco.potorti@isti.cnr.it|Francesco Potorti'​]] and [[mailto:​raffaello.secchi@isti.cnr.it|Raffaello Secchi]]  +Author: [[mailto:​raffaello.secchi@isti.cnr.it|Raffaello Secchi]]
- +
-Developer: [[mailto:​raffaello.secchi@isti.cnr.it|Raffaello Secchi]]+
  
 Year: 2006 License: MIT Year: 2006 License: MIT
Line 15: Line 13:
  
 The currently supported allocation algorithm is the proportional method. According to proportional scheme the bandwidth assigned to each active terminal is proportional to the submitted request. The Allocator agents computes the sum R of all elements of the request vector Ri and assign to traffic terminal a number time-slot equals to Ns*(Ri/R), where Ns is the number of slot per frame. Since Ns*(Ri/R) isn't generally an integer, the number of assigned slot is approximated to the smaller integer larger (or equal) than Ns*(Ri/R). Also, the Allocator store the extra fraction of slot assigned to every terminal in a vector, that must be subtracted from allocation in subsequent period. The currently supported allocation algorithm is the proportional method. According to proportional scheme the bandwidth assigned to each active terminal is proportional to the submitted request. The Allocator agents computes the sum R of all elements of the request vector Ri and assign to traffic terminal a number time-slot equals to Ns*(Ri/R), where Ns is the number of slot per frame. Since Ns*(Ri/R) isn't generally an integer, the number of assigned slot is approximated to the smaller integer larger (or equal) than Ns*(Ri/R). Also, the Allocator store the extra fraction of slot assigned to every terminal in a vector, that must be subtracted from allocation in subsequent period.
- 
 ==== Installation Instruction & Validation ==== ==== Installation Instruction & Validation ====
  
 This web page reports the instructions to install and configure simulation interface. This web page reports the instructions to install and configure simulation interface.
  
-1) Download the patch [[http://​votos.isti.cnr.it/​ns-allinone-2.29-tdma.patch|ns-allinone-2.29-tdma.patch]] for NS-2.29 or [[http://​votos.isti.cnr.it/​ns-allinone-2.28-tdma.patch|ns-allinone-2.28-tdma.patch]] for NS-2.28+== For NS 2.33 ==
  
-2) Unpack ns-allinone-2.29.tar.gz and apply patch:+  ​Download the package {{:​tdmadama-ns-2.33.tar.bz2|tdmadama-ns-2.33}} 
 +  - Read the README file included in the package ​and follow the instructions to install the module. 
 +  - From the '​examples'​ directory, execute the script example-tdmadama.tcl and check the outputs, as in the examples, using the {{analy.c|analy}} utility source code.
  
-tar xvzf ns-allinone-2.29.tar.gz+The script simulates a single satellite terminal connected to an Internet host via a satellite gatewayThe traffic offered to the terminal is a sequence of TCP Sack connections whose starting time is scheduled according to a Poisson processThe amount of data carried by each connection is variable and it is drawn from an exponential distribution. The traffic load offered to the terminal is a function of the average number of packets of individual connections ( $data(bunch) ),  the size in bytes of a TCP segment ( $data(packets) ),  the total transponder capacity in byte/s ( $capSaT ), and the average inter-arrival time between TCP connectionsIt is given by the following expression:
  
-patch -p0 < ns-allinone-2.29-tdma.patch+ set data(load) ​  [expr $data(bunch)*$data(packet)*8/​($capSAT*$data(next))]
  
-3) Install ​the package ​(possiblyusing gcc version 3.3.6:+whose content is shown before the simulation is run. At the end of simulation an estimate of the average completion time of connection is provided together with its confidence interval. The script outputs four files tagged as -bod or -scpc depending on command line arguments. The file "​event"​ is the TDMA-DAMA output whose format is described in the paper. The file "​out"​ is the standard ns-2 output for queue tracing. The latter is processed at the end of simulation run to obtain the traces shown in the eps graphs. These graphs display the bandwidth allocated and the throughput of the terminal. 
 +These graphs show the significant bandwidth saving of DVB-RCS ​(ETSI EN 301 790DAMA when it is used to replace existing SCPC systemsThe degradation in terms of completion time is instead minor.
  
-cd ns-allinone-2.29+== For NS 2.26, 2.28, and 2.29 (Discontinued) ==
  
-./install+1) Download the patch {{:​ns-allinone-2.29-tdma.patch}} for NS-2.29 or {{:​ns-allinone-2.28-tdma.patch}} for NS-2.28 
 + 
 +2) Unpack ns-allinone-2.29.tar.gz and apply patch: 
 + 
 + tar xvzf ns-allinone-2.29.tar.gz 
 + patch -p0 < ns-allinone-2.29-tdma.patch 
 + 
 +3) Install the package (possibly) using gcc version 3.3.6: 
 + 
 + cd ns-allinone-2.29 
 + ./install
  
 The patch ns-allinone-2.28-tdma has been compiled and tested with gcc-4.0.4 and g++-4.0.4 by applying to ns-2.28 the patch ns228-gcc402.patch that you can download from [[https://​www.ececs.uc.edu/​~cdmc/​ucbt/​|here]] from download section. The patch ns-allinone-2.28-tdma has been compiled and tested with gcc-4.0.4 and g++-4.0.4 by applying to ns-2.28 the patch ns228-gcc402.patch that you can download from [[https://​www.ececs.uc.edu/​~cdmc/​ucbt/​|here]] from download section.
Line 40: Line 50:
 Alternatively,​ the manual installation of simulator sources is also possible. Alternatively,​ the manual installation of simulator sources is also possible.
  
-1) Download the tarball sources-ns-2.29.tar.gz or sources-ns-2.28.tar.gz and unpack to local directory:​ +1) Download the tarball ​{{:sources-ns-2.29.tar.gz}} or {{:sources-ns-2.28.tar.gz}} and unpack to local directory:​ 
-wget [[http://votos.isti.cnr.it/​sources-ns-2.29.tar.gz|http:​//​votos.isti.cnr.it/​sources-ns-2.29.tar.gz]] + wget http://ala.isti.cnr.it/​wnlab/_media/​sources-ns-2.29.tar.gz 
- + tar xvzf sources-ns-2.29.tar.gz.
-tar xvzf sources-ns-2.29.tar.gz.+
  
 2) Copy (in case overwriting existing files) the files: "​mac-tdma.cc",​ "​mac-tdma.h"​ and "​mac-bod.cc"​ in ns-2.29/mac directory; the file "​Makefile.in"​ in ns-2.29 directory; and "​ns-default.tcl"​ and "​ns-sat.tcl"​ in ns-2.29/​tcl/​lib/​ 2) Copy (in case overwriting existing files) the files: "​mac-tdma.cc",​ "​mac-tdma.h"​ and "​mac-bod.cc"​ in ns-2.29/mac directory; the file "​Makefile.in"​ in ns-2.29 directory; and "​ns-default.tcl"​ and "​ns-sat.tcl"​ in ns-2.29/​tcl/​lib/​
Line 49: Line 58:
 3) Compile ns-2.29 following standard procedure. 3) Compile ns-2.29 following standard procedure.
  
-In order to validate the compiled simulator download and run the script file [[http://​votos.isti.cnr.it/​test-tdma.tcl|test-tdma.tcl]]. This script file generate a scenario with two satellite terminals (ter(0) and ter(1)) and a geostationary bent pipe satellitar node. It then schedule a TCP Sack connection with source on ter(0) and receiver on ter(1). The simulation outputs two trace files: __event.tr__ and __out.tr__. While the out.tr is the trace of terminal queues in ns-2 format, the event.tr dumps all the events that occur in MAC layer, such as marking the beginning of a frame or the complete delivery of a packet from the terminal.+In order to validate the compiled simulator download and run the script file {{test-tdma.tcl}}. This script file generate a scenario with two satellite terminals (ter(0) and ter(1)) and a geostationary bent pipe satellitar node. It then schedule a TCP Sack connection with source on ter(0) and receiver on ter(1). The simulation outputs two trace files: __event.tr__ and __out.tr__. While the out.tr is the trace of terminal queues in ns-2 format, the event.tr dumps all the events that occur in MAC layer, such as marking the beginning of a frame or the complete delivery of a packet from the terminal.
  
 ==== Simulator Interface & Configuration ==== ==== Simulator Interface & Configuration ====
tdmadama.txt · Last modified: 2010-02-17 15:41 by pot