Subject: [xrblock] Upcoming changes in draft-ietf-xrblock-rtcp-xr-discard-rle-metrics-02

From: Varun Singh <[email-masked]>
Date: Wed, 11 Jan 2012 14:09:15 +0200

Hi,

I am sending the updates to mailing list so that the discussion can
take place before I post an updated draft.

in -01, Section 1. Last para of introduction:
   Complementary to or instead of the indication which packets were
   discarded, an XR block is defined to indicate the number of bytes
   discarded, per interval or for the duration of the session, similar
   to other XR report blocks.

Adding to that para in -02:
   Alternatively, if the sender keeps a
   history of the size of the packets reported in the measurement
   interval then the sender can calculate the number of bytes discarded
   from the information in the discard RLE block.

- is this extra clarification needed?

in -01, end of section 4.:
   The 'number of bytes discarded' is a 32-bit unsigned integer value
   indicating the total number of bytes discarded (I=11), or the number
   of bytes discarded since the last RTCP XR Bytes Discarded block was
   sent (I=10), or bytes discarded in a measurement interval (I=01)
   [I-D.ietf-xrblock-rtcp-xr-meas-identity].

   Bytes Discarded Report Blocks SHOULD be sent in conjunction with an
   RTCP RR as a compound RTCP packet.

Updated it to:
   The 'number of bytes discarded' is a 32-bit unsigned integer value
   indicating the total number of bytes discarded.  If the XR block is
   not preceded by a measurement identity block
   [I-D.ietf-xrblock-rtcp-xr-meas-identity] then the value indicates the
   bytes lost from from the start of the session (I=11), or the number
   of bytes discarded since the last RTCP XR Bytes Discarded block was
   received (I=10).

   If the XR block follows a measurement identity block
   [I-D.ietf-xrblock-rtcp-xr-meas-identity] in an RTCP RR packet then
   the cumulative (I=11) and interval (I=10) correspond to the values in
   the measurement block.

   Bytes Discarded Report Blocks SHOULD be sent in conjunction with an
   RTCP RR as a compound RTCP packet.

- clarified what the sender could do if the measurement interval is
absent/present in the RTCP packet.
Note at the moment there are no normative keywords in the text.

Possible clarification that can be added to the first para:
When the measurement block is absent, the sender SHOULD calculate the
duration of the interval using the RTP timestamps of the last reported
HSN and current HSN. If an RTCP RR packet is lost in between then the
assumption is wrong and the receiver SHOULD use the measurement block
for indicating precise durations.

Cheers,
Varun

-- 
http://www.netlab.tkk.fi/~varun/

---

From: Qin Wu <[email-masked]>
Date: Tue, 17 Jan 2012 15:42:46 +0800

Hi, Varun:
I read your proposed change, please see my comments inline.
----- Original Message ----- 
From: "Varun Singh" <[email-masked]>
To: <[email-masked]>
Sent: Wednesday, January 11, 2012 8:09 PM
Subject: [xrblock] Upcoming changes indraft-ietf-xrblock-rtcp-xr-discard-rle-metrics-02

> - is this extra clarification needed?

[Qin]: I think you don't need maintain the size for each packet, you only need to maintain
the total size for all the received packet before the next packet is coming. 

>   RTCP RR as a compound RTCP packet.

[Qin]: Does Bytes Discarded Report Blocks rely on measurement identity block or
RTCP RR to calculate measurement interval? It is not clear to me.
If measurement identity block is present, Does Bytes Discarded Report Blocks
need to be sent with an RTCP RR?

> for indicating precise durations.

[Qin]: How do you guarantee the measurment information block will be sent to the receiever when RTCP RR is lost?
Are you assuming the measurment information block and RTCP RR will be sent in the separate compound RTCP  packet?

> _______________________________________________
> xrblock mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/xrblock

---

From: Varun Singh <[email-masked]>
Date: Tue, 17 Jan 2012 12:40:07 +0200

Hi Qin,

Comments inline.

> the total size for all the received packet before the next packet is coming.

The receiver needs to maintain the total size (for interval and for
cumulative). However, the extra paragraph is to show that discarded
bytes can also be calculated from the Discard RLE encoding--if the
sender maintains the size of the sent packets. It can then add up the
size of packets marked in the RLE block using a lookup table.

> RTCP RR to calculate measurement interval? It is not clear to me.

If the discard block follows a measurement identity block then it must
use the measurement
information in the block. If the measurement identity block is not
present then it should use
the HSN (Seq No., RTP timestamp) in the previous RR containing the block and
the current RR to calculate the measurement interval. However, if the
information
from the previous RR is not available then the sender should ignore
the discard block.

> need to be sent with an RTCP RR?
No. I can replace the last line with this:

If the receiver sends the Bytes Discarded Report Block without the
measurement identity block then the discard block SHOULD be sent in
conjunction with an RTCP RR as a compound RTCP packet.

> [Qin]: How do you guarantee the measurment information block will be sent to the receiever when RTCP RR is lost?

There is no guarantee. What I meant to say is that if the packet is
lost then the above assumption is wrong and the only way to overcome
the challenge is that the receiver should use the measurement block.

The question however is do we need to add such a clarification?

---

From: Qin Wu <[email-masked]>
Date: Wed, 18 Jan 2012 09:34:06 +0800

Hi, Varun:
Please see my followup comments.

Regards!
-Qin
----- Original Message ----- 
From: "Varun Singh" <[email-masked]>
To: "Qin Wu" <[email-masked]>
Cc: <[email-masked]>
Sent: Tuesday, January 17, 2012 6:40 PM
Subject: Re: [xrblock] Upcoming changes indraft-ietf-xrblock-rtcp-xr-discard-rle-metrics-02

Hi Qin,

Comments inline.

[Qin]: Who calculates the size of packets? the reciever of dicard RLE block or the sender of byte dicarded block?
My understanding is it should be  the sender of byte dicarded block that calculates the size of packets.
Your bytes discarded block should always be sent with dicard RLE block in the same compound RTCP packet. 

Otherwise,  if the the reciever of dicard RLE block calculates the size of packets,
 the reciever of discard RLE block will be hard to calculate the size of packet if any discard RLE block is lost? 

[Qin]: That makes sense to me.

[Qin]: Looks good to me.

[Qin] What about measurement block is also lost? I think if any clarification is needed,
that should be how to deal with these failure cases.

---

From: Varun Singh <[email-masked]>
Date: Wed, 18 Jan 2012 14:11:54 +0200

Hi Qin,

responses inline. I have snipped the comments that were marked OK.

Cheers,
Varun

> Your bytes discarded block should always be sent with dicard RLE block in the same compound RTCP packet.

Bytes discarded is a complementary mechanism to Discard RLE. It is up
to the implementer to choose from: packets discarded, bytes discarded,
discarded RLE (for their use-case). Discarded RLE is like a superset
and with it the sender can calculate packets and bytes discarded (if
it knows the size of the packets). So there is no need to send bytes
discarded and RLE together. In Sec 5
(http://tools.ietf.org/html/draft-ietf-xrblock-rtcp-xr-discard-rle-metrics-01#section-5.1)
there is clarification for media receivers and media senders.

> that should be how to deal with these failure cases.

Case 1: XR Block + RTCP RR = the media sender can use previous RTCP
report to calculate interval
Case 2: XR Block + Measurement Identity = the media sender can use the
interval information from the meas id.
In all other cases, ignore the XR block.

Cheers,
Varun

---

From: Qin Wu <[email-masked]>
Date: Thu, 19 Jan 2012 09:59:21 +0800

Hi, Varun:
Please see one more additional comment below.
----- Original Message ----- 
From: "Varun Singh" <[email-masked]>
To: "Qin Wu" <[email-masked]>
Cc: <[email-masked]>
Sent: Wednesday, January 18, 2012 8:11 PM
Subject: Re: [xrblock] Upcoming changes indraft-ietf-xrblock-rtcp-xr-discard-rle-metrics-02

Hi Qin,

Cheers,
Varun

[Qin]: What if dicard RLE block is lost? I think if any dicard RLE block is lost, this will prevent you keeping on
calculating the total byte lost or packet lost. How do you deal with this case?

[Qin]: Looks reasonable to me.

Cheers,
Varun

---

From: Varun Singh <[email-masked]>
Date: Thu, 19 Jan 2012 09:49:49 +0200

Hi Qin,

comment inline.

On Thu, Jan 19, 2012 at 03:59, Qin Wu <[email-masked]> wrote:
> [Qin]: What if dicard RLE block is lost?
>

I do not think the media sender can with 100% certainty detect that an
RLE block was lost. If the receiver sends an RLE block for every
interval then the media sender could detect a missing interval from
the sequence numbers that were not reported in the RLE. However, which
XR blocks are reported in an interval depends on the
implementation/logic at the receiver. For instance, if all packets are
received then there is no need to send the RLE block. Moreover, if all
packets are discarded then sending the RLE block has high overhead and
the receiver may use the Packets Discarded XR Block.

>[Qin]: I think if any dicard RLE block is lost, this will prevent you keeping on

To know an RTCP feedback packet is lost, the media sender would have
received a new RTCP feedback packet. The media sender may use the
information in the new RTCP report to react to congestion/scheduling.
In the case of monitoring or storing metrics it is a problem because
the media sender or the middlebox has a no information for the missing
interval and could mark the bytes/packet discarded in the interval as
"not enough information".

---

From: Qin Wu <[email-masked]>
Date: Thu, 19 Jan 2012 17:06:46 +0800

Hi, Varun:
----- Original Message ----- 
From: "Varun Singh" <[email-masked]>
To: "Qin Wu" <[email-masked]>
Cc: <[email-masked]>
Sent: Thursday, January 19, 2012 3:49 PM
Subject: Re: [xrblock] Upcoming changes indraft-ietf-xrblock-rtcp-xr-discard-rle-metrics-02

> the receiver may use the Packets Discarded XR Block.

[Qin]: No doubt about this.
my point is if any discard RLE block is lost, the media sender can not calculate the  accumulative total byte discard from  the lost discard RLE block.

But if the media receiver generate byte discard block and discard RLE block, you don't
have such issue since byte dicard block can be generated by media receiver based on associated discard RLE 
block which has not been sent.

Another issue I am thinking is are you assuming each discarded data packet you are tracking is equally size packet, otherwise, how do
you calculate the total discared packet size.

> "not enough information".

[Qin]: That's a good point. That is to say monitoring and congestion control has different requirements for gathering
statistics information and dealing with these information.

---

From: Varun Singh <[email-masked]>
Date: Thu, 19 Jan 2012 14:03:48 +0200

Hi Qin,

Comments inline

Cheers,
Varun

> block which has not been sent.

Well this would be only true if the discard RLE and discarded bytes
are sent separately. If they are sent together (in a compound RTCP)
and the feedback message is lost then the media sender would not know.

As an implementer a solution may be (there may be other alternatives):
The discard RLE carries sequence numbers from overlapping intervals,
i.e., begin_seq and end_seq of the RLE block are different from the
current reporting interval (HSN_previous, HSN_current) and then you do
not have to worry about a loss of an intermediate RTCP packet but this
will increase the size of the packet depending on the length of the
reporting intervals.

> you calculate the total discared packet size.

No, and this is why I was proposing to add the additional paragraph in
the Introduction: (copying from above, see original mail for exact
details)

> statistics information and dealing with these information.

Yes and this may be true for all the XR blocks.

---

From: Qin Wu <[email-masked]>
Date: Fri, 20 Jan 2012 10:31:48 +0800

Hi,
----- Original Message ----- 
>Sent: Thursday, January 19, 2012 8:03 PM

>and the feedback message is lost then the media sender would not know.

[Qin]: It doesn't matter if any discard RLE or discared byte RTCP XR block is lost.
Since the media receiver always know how many byte of media packet are discarded if media 
receiver is responsible for calculating byte discarded for the received media packet during the 
measurement interval. 

But if media sender is responsible for calcuating the byte discared, that will be different.

>from the information in the discard RLE block.

[Qin]: How does the sender know each discarded packet size? Isn't the sender signaled by the media receiver since only
terminal knows each discarded packet size.
Also I think that's a disadvantage if you ask media sender to calcuate byte discard.
If the media receiver calculate byte discard, you don't require media receiver to keep a history of the size of the packet.

>>Yes and this may be true for all the XR blocks.

[Qin]: Agree.

---

From: Varun Singh <[email-masked]>
Date: Fri, 20 Jan 2012 14:26:11 +0200

Hi Qin,

I will make the changes that we have discussed and submit a new draft.
If it is not clear in the new draft, then we can reopen the
discussion.

Regards,
Varun

---

From: Qin Wu <[email-masked]>
Date: Sun, 29 Jan 2012 10:51:59 +0800

Great, thank for taking my comments into account.

Regards!
-Qin