-
Notifications
You must be signed in to change notification settings - Fork 6
rbdc
[[TOC]]
Rate Based Dynamic Capacity (RBDC) is one of the types of allocation available in OpenSAND (consult the DAMA page for more information).
RBDC is a dynamically requested by the terminal to the gateway. The terminal requests the required capacity (calculated differently depending on the algorithm used) and emits a capacity request (using SAC messages) to the NCC for every super frame. The requests are not cumulative, and only the last request is considered by the NCC. The NCC processes the capacity request and allocates the capacity depending on the available resources (the allocated capacity may be smaller than the requested); the RBDC capacity is not guaranteed.
If a terminal is used configured to use DAMA (refer to the DAMA page for more information), then it will use RBDC (up to the capacity specified by max_rbdc
) for the layer 2 FIFOs configured with access type DAMA_RBDC
. The value of max_rbdc
can be configured in the dvb_rcs_tal
section of the terminal configuration, on the Advanced Configurations
window.
By default, each terminal has a maximum Rate Based Dynamic Capacity of 5120 kbits/s.
The RBDC computation on the terminal side is performed by an algorithm that can be chosen with the dama_agent_algorithm
parameter, on the dvb_rcs_tal
section of the terminal configuration. The default algorithm is Legacy
.
The algorithm RrmQos has not been exhaustively tested, and it is not guaranteed that it works properly on DVB-RCS2.
The parameter cr_rule_output_fifo_only
which alters the method for calculating the RBDC requests is not implemented.
There are several probes that allow the user to inspect the RBDC allocations on the gateway:
-
STX_allocation.RBDC_allocation
: the RBDC allocation for the STX, in kbits/s. -
STX_allocation.RBDC_max
: the maximum RBDC for the STX, in kbits/s. -
Spot_X.NCC.RBDC.RBDC_allocated
: the total RBDC allocated for the Spot X, in kbits/s. -
Spot_X.NCC.RBDC.RBDC_max
: the total RBDC allocation for the Spot X, in kbits/s. -
Spot_X.NCC.RBDC.RBDC_requested_capacity
: the total RBDC capacity requested on the Spot X, in kbits/s. -
Spot_X.NCC.RBDC.RBDC_request_number
: the number of requests for RBDC for the Spot X.
The RBDC related probes available on each terminal are:
-
Allocation.Total
: the total allocation (including other types of allocations), in kbits/s. -
Allocation.Remaining
: the total allocation (including other types of allocations) remaining, in kbits/s. -
Request.RBDC
: the RBDC capacity requested, in kbits/s.
RBDC allocations are computed on the gateway by the DamaCtrl. They are the second type of allocation to be computed (after CRA
). When allocating the capacity, the gateway evaluates the capacity requests from all terminals. If the capacity available is enough to allocate all the requested, then it does so. However, if the capacity is not enough, then it allocates less capacity to each terminal, keeping the proportion between all the requests. For example, if terminal 1 requests 100kbit/s and terminal 2 requests 50 kbit/s, but there is only 75kbit/s available, the gateway will allocate 50 kbit/s to terminal 1 and 25 kbit/s to terminal 2 (the proportion 100:50 is maintained in 50:25).
On the terminal, the DamaAgent
is in charge of computing and generating the capacity requests according to its needs: the requested capacity is a function of the throughput at the input and output of the layer 2 FIFOs. The algorithm defining such function is implemented by different sub-classes of DamaAgent
, depeding on the protocol used (DVB-RCS2 or DVB-RCS) and on the algorithm selected.