Re: WEBRC session description questions

Vincent Lucas <[email protected]> Wed, 06 Oct 2010 14:08:21 +0200
Newsgroups gmane.ietf.rmt
Message-ID <[email protected]>
Hi Rod, RMT folks,

 From my implementation experience of WEBRC (publicly available cf. 
[LIBMCC] below) all these parameters may be communicated out of band 
since the RFC defines that a receiver MUST acquire a session description 
communicated out of band (i.e. containing the multicast address of the 
base channel, the UDP port of the base channel, etc.). For example, in 
our implementation these parameters are sent by the application out of 
band via a unicast TCP connection before each receiver initiate the 
session: for our experiments we use a custom protocol dedicated to this 
session description, but you are free to use an email, a web page, a sdp 
file, etc.

Otherwise, the in-band computation/detection may take a time dependent 
of BCR_P. Here the details concerning your different questions:

1. LENP_B - the length of packets in bytes. Calculated from the first 
packet, indeed.

2. T - the total number of time slots in a cycle. Corresponds to the CN 
of the base channel and is known from the first packet received.

3. BCR_P - the transmission rate of the base channel at the beginning of 
a time slot in packets per second. Measured after joining. Since the 
rate of the base channel starts each new TSI at BCR_P and ends 10 
seconds later with a rate of ( BCR_P * P ), a receiver have to wait for 
the next TSI in order to determine the BCR_P value (min_time = 0 s, 
max_time = 10 s, mean_time = 5 s). Indeed, this rate may be computed by 
measuring the delay (in seconds) between the two first packets received 
during a TSI (let us name it "INTER_P_DELAY"): BRC_P = 1 / INTER_P_DELAY.

4. N - the duration in time slots for each wave can be computed directly 
with: N = T - Q. Please note that for the "constant rate" question 
below, N is also equivalent to the number of active groups including the 
base group : N = floor( log_P( BCR_P / SR_P ) ).

5. TSD, P, Q - may be communicated out of band if needed. From my point 
of view, these are likely to be fixed for practically all cases.

6. L - must be computed using:
L = ceil( BCR_P * TSD * (P-1) / log( P ) ).

I agree with the flag used to signal if the "constant aggregate rate" 
technique is used. As the rate SR_P can be computed by using BRC_P and 
N, there is no need to specify the constant aggregated rate used.

I not sure to understand the point of your question about CN 
semantic/labeling (some additional comments may be helpful), but CN 
numbering is fixed: i.e. a channel identified by a multicast group has 
always the same CN.

By the way, if you want to play with WEBRC an implementation is publicly 
available: cf. [LIBMCC] below. This library is experimental and has been 
used to evaluate WEBRC (which presents several weakness cf. [M2C]) and a 
solution called "Multicast Congestion Control (M2C)" protocol which as 
been designed to address WEBRC issues (notably in term of fairness).

Moreover, if RMT people are interesting in, a first draft version of the 
M2C specifications is available (cf. ref [M2C-DRAFT]).

- [LIBMCC] http://svnet.unistra.fr/mcc/
- [M2C] Fair Multicast Congestion Control (M2C)
     V. Lucas, J.-J. Pansiot, Dominique Grad, Benoit Hilt
     12th IEEE Global Internet Symposium 2009 (GI 2009)
     DOI: 10.1109/INFCOMW.2009.5072144
     http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5072144
- [M2C-DRAFT] http://lsiit-cnrs.unistra.fr/Publications/2010/LPGH10/

Regards,
Vincent Lucas

On 06/29/2010 10:21 AM, [email protected] wrote:
> Hi WEBRC folk
>
>  From this text from the WEBRC RFC3738...
>
> "Before joining a session the receiver MUST know the mapping between the
> CNs and the channels. Upon joining the session or shortly thereafter, it
> SHOULD have the values of LENP_B, BCR_P, TSD, P, N, L, Q and T. Some of
> these values may be computed or measured once the receiver has joined
> the session. For example, the receiver MAY obtain LENP_B and T from the
> first packet received from the base channel, and the receiver MAY
> measure BCR_P once it is joined to the base channel.  The values of P, Q
> and TSD MAY be fixed to default values built into the receiver that do
> not change from session to session, and the value of N MAY be computed
> as T-Q.  The receiver SHOULD know whether the sender is employing a
> technique to produce constant aggregate rate as described in [8]."
>
> Does anyone have a perspective on how trivial/complex and rapid/stalling the in-band detection or calculation would be for:
> 1. LENP_B - calculated from from first packet. That's minimal effort - right?
> 2. T - calculated from from first packet. That's minimal effort - right?
> 3. BCR_P - measured after joining. What kind of delay and processing is introduced?
> 4. N - simple calculation, no problem.
> 5. TSD, P, Q - must be communicated out of band. Are these likely to be fixed for practically all cases?
> 6. L - must be communicated out of band - right?
>
> We're thinking about a flag for "constant aggregate rate" - would the rate need communicating instead?
>
> Also, we're figuring out the CN semantics and whether ordering (and not explicit labelling) is sufficient.
>
> Cheers, Rod.
>
>
>
>
> _______________________________________________
> Rmt mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/rmt