Skip to main content

Operational Considerations for Streaming Media
draft-ietf-mops-streaming-opcons-12

Note: This ballot was opened for revision 10 and is now closed.

Paul Wouters
Yes
Comment (2022-05-11 for -10) Sent
Thanks for this document. It is a useful informative read.

I agree with Roman's DISCUSS, and even think some of his COMMENTS could have been DISCUSS items. (especially his note on the word "Unfortunately").

COMMENTS:

   Bittorrent favored peers
   who uploaded as much as they downloaded, so that new Bittorrent users
   had an incentive to significantly increase their upstream bandwidth
   utilization.

Bram Cohen, who wrote the protocol and main implementation, has commented many times that this "tit for tat" scheme was abandoned early on as it was causing more problems than useful prioritization.
Éric Vyncke
Yes
Erik Kline
No Objection
Comment (2022-05-09 for -10) Sent
# Internet AD comments for {draft-ietf-mops-streaming-opcons-10}
CC @ekline

## Comments

### S3.4

* It seems like the final paragraph is attempting to describe a real-world
  experience.  It would be great if there were a citation for this (but
  understandable if nothing had been made public).

### S3.6

* RFC 5594 does not appear to contain the word "throttle".  It might not
  be great to inject this term here?  5594 instead seems to use phrases
  describing approaches to "congestion management".

### S4.4

* Seems like the introduction of the term "manifest" without any
  definition, explanation, or reference.  Is there some explanatory text
  or reference that might be included?
Francesca Palombini
No Objection
Comment (2022-05-11 for -10) Not sent
Thank you for the work on this document.

Many thanks to 	Valery Smyslov for his ART ART review: https://mailarchive.ietf.org/arch/msg/art/_8pnNCKVEmLEi2WfxJN3_Gb2ZjI/. 

Francesca
John Scudder
No Objection
Comment (2022-05-11 for -10) Sent
Thanks for this document, I found it interesting and easy to read. All of my comments other than the last one are minor proofreading or style points.

1. In the Introduction, “a continuous media” makes me sad because of the disagreement in number. I get that this may reflect common usage but it still made me wince. The obvious way to make it conventionally grammatical would be “a continuous media stream” but I suppose that would make the definition recursive. :-( So, I don’t have a good solution to offer but maybe you do; if so that’d be nice.

2. Introduction, “match to client's consumption rate” should be “match the client's consumption rate”.

3. In Section 3.6, “Bittorrent favored peers
   who uploaded as much as they downloaded, so that new Bittorrent users
   had an incentive to significantly increase their upstream bandwidth
   utilization.”

I think you don’t mean “so that”, but just “so” — the implied causal arrow is reversed by the “that”, you mean something like “therefore”, right?

4. In 3.7 you seem to have a stray close brace? “}”

5. In 3.7 you misspelled Craig Labovitz’s name as “Labowitz”. The "v" spelling is correct.

6. Section 5.5.3, s/detction/detection/

7. Section 6.1, s/tansport/transport/

8. Section 6.1, “approaches like the above generally
   experiences”, should be “generally experience” (agreement in number).

9. Section 7, “prevent media steam manipulation” should be “stream”.

10. Section 7.2 has

   The choice of whether to involve intermediaries sometimes requires
   careful consideration.  As an example, when ABR manifests were
   commonly sent unencrypted some networks would modify manifests during
   peak hours by removing high-bitrate renditions in order to prevent
   players from choosing those renditions, thus reducing the overall
   bandwidth consumed for delivering these media streams and thereby
   improving the network load and the user experience for their
   customers.  Now that ubiquitous encryption typically prevents this
   kind of modification, in order to maintain the same level of network
   health and user experience across networks whose users would have
   benefitted from this intervention a media streaming operator
   sometimes needs to choose between adding intermediaries who are
   authorized to change the manifests or adding significant extra
   complexity to their service.

It wasn’t immediately obvious to me as a reader what recourse (other than intermediaries) the media streaming operator would have, regardless of their willingness to add extra complexity. 

- Are you implicitly referencing something you’ve touched on elsewhere in the document (an xref would be nice if so), 

- or are such “extra complexity” solutions known and published (again, a ref would be nice), 

- or known but proprietary special sauce (maybe there’s nothing to be done, although a few words indicating this might be suitable), 

- or are you just speculating on the basis that as the saying goes, with enough thrust, even a brick can fly?
Roman Danyliw
(was Discuss) No Objection
Comment (2022-08-05 for -11) Sent for earlier
Thanks for addressing my DISCUSS and COMMENTs.
Warren Kumari
No Objection
Comment (2022-05-11 for -10) Sent
Thank you for this document -- I found it both interesting and informative, and covered a topic which I know almost nothing about.

I'd suggest that the authors look at and respond to Linda Dunbar's very useful OpsDir review: https://datatracker.ietf.org/doc/review-ietf-mops-streaming-opcons-10-opsdir-lc-dunbar-2022-05-06/
Zaheduzzaman Sarker
No Objection
Comment (2022-05-11 for -10) Sent
Thanks for working on this document. It has some details that is very useful to read. Thanks to Michael Scharf for his TSVART review.

As instructed by my fellow AD to review this document as it is instead of waiting for updates, I am doing it but I would like to see the TSVART review addressed. The TSVART review has some very good comments.

Overall, by looking at the abstract of this document and the content of it, it feels like it goes beyond "operational networking issues" or I felt to see in some place what is the issue it conveys (I suggested an update see my comments below). 

Below I have some comments which I believe when addressed will improve the document.


# Comments

## Abstract : the abstract should also say that this document is about both networking and transport issues, as it does in the introduction.

## Section 1 : 

  - "Streaming media" - does this covers both live streaming and VoD? this would be useful to convey in the beginning of this document.

  - it says "the server's transmission rate must (loosely or tightly) match to client's consumption rate in order to provide uninterrupted playback.", this might not be true if caching is involved. I realize the term "server" is a bit ambiguous here as it does not differ between a origin server and caching server at this point.

  - it says "the client's consumption rate is limited not only by bandwidth availability,but also media availability. The client cannot fetch media that is not available from a server yet." I would suggest to s/media/media segment(s). The media description file may be available but media segments might not, specially for live streaming media. and if the media is not available there is no consumption rate.
 
  - Minor comment - the beginning sentence in this section is way too long to read. I would suggest it to be split into several sentences.

## Section 2:

  - reference CVNI : can't read hence can't verify, seems like behind paywall, the URL leads to https://www.cisco.com/c/en/us/solutions/service-provider/index.html 

  - I thought (from the introduction section) that unreliable media is out of scope of this document then I see some details will be provided later sections. I would not categorize unreliable RTP as a part of streaming media, even though streaming over RTP is a reality or did I misunderstood something? 

## Section 3.1: I think it will be useful to add that 

       - applications that use the video encoder can ask for lower bitrate encoding as the cost of video quality.

       - usually the video encoding does not take the available bandwidth into account.

       - for VoD case, the switching between the video bitrate depends on the available pre-encoded content at a particular bitrate.

## Section 3.2: AFAIK, the media player actually can detect the buffer under-run and can ask the server to switch the bitrate up by selecting a higher bitrate encoded media segment. I have not seen any mention of that in this section, is this part of mitigation that is mentioned? if not then this section is a bit incomplete capture the whole mechanism I am afraid.

## Section 3.7: I am confused about section 3.7 not sure what exactly to get out of this section, specially what is the impact on network operation related to streaming media. 

## Section 4: the categorization of latency requirement will need a reference if not the categorization is done and agreed in the WG.

## Section 5.4: if streaming of advertising and modulation quality uses same technology as media streaming, then do we need to this long section for the Ad? In the later part this section talks about ad fraud and mitigation for that which I find completely application/player specific or integrated with application. what is there for network OPS that is important in the context of this document? 

## Section 5.5.3: it says "5G and LTE likewise can easily see rate variation by a factor of 2 or more over a span of seconds as users move around". Can we have pointer to show some data supporting this, like we have the Micro? is the because of the 5G and LTE technology itself or is this about network planning issues?

## What about active measurements? it would be very useful to review them and say why they are not relevant or not relevant for steaming media as part of section 5.

## I would suggest to define the terms like media/content "producer" and media/content "provider", or refer to where they are defined to be used in this document. It is not that understandable from the text in this document. also state the difference between media provider and content provider as both has been used in this document.

## Section 6: I don't mind the transport protocol commentary :-), however, I don't really see how the provided commentary actually achieves what the hanging paragraphs in this section wanted to achieve. To me, it is possible that media can be fetched from a server or a intermediary, and the media player metrics collected to sense the observed media quality can be send to some other nodes in the network. This means unless the media distributor and media provider are same it will be hard to get a proper picture about the contention and fairness (if that is really necessary and yes this adds to the point I made about defining media provider and producer terms). The media application will have to rely on the underlying transport protocol(s) for some sort of fairness among the flows sharing same bottleneck, thats it. Yes, transport protocols will evolve and the ware image and congestion control might change but the fundamentals of transport services perhaps won't. To that extend I am kind of with the INTDIR an TSVART reviewer's view.  


## It seems like in the document only media consumed by human is considered, there are other streaming cases where the media can be consumed by machines. If later is out of scope then this need to be implicitly stated in this document. 


## There has been more than one place where "we" is used. Even though I like to read in active form of narratives in documents, here the use of "we" felt a bit odd.
Alvaro Retana Former IESG member
No Objection
No Objection (for -10) Not sent

                            
Andrew Alston Former IESG member
No Objection
No Objection (for -10) Not sent

                            
Lars Eggert Former IESG member
No Objection
No Objection (2022-05-11 for -10) Sent
# GEN AD review of draft-ietf-mops-streaming-opcons-10

CC @larseggert

## Comments

### Section 6.3, paragraph 0
```
  6.3.  QUIC and Its Behavior
```
I'm surprised this section doesn't refer to draft-ietf-quic-manageability? That
document discusses some of the same (and related) issues.

### Section 6.3, paragraph 1
```
     Although QUIC provides an alternative to the TCP and UDP transport
     protocols, QUIC is itself encapsulated in UDP.  As noted elsewhere in
     Section 7.1, the QUIC protocol encrypts almost all of its transport
     parameters, and all of its payload, so any intermediaries that
     network operators may be using to troubleshoot HTTP streaming media
     performance issues, perform analytics, or even intercept exchanges in
     current applications will not work for QUIC-based applications
     without making changes to their networks.  Section 7 describes the
     implications of media encryption in more detail.
```
"Transport parameter" is a QUIC-specific term to describe connection-level
settings that are negotiated during the handshake. I think this paragraph - and
others that mention transport parameters in this document - mean to talk about
the broader concept of "connection metadata". I would suggest not overloading
the QUIC "transport parameter" term in this way.

### Inclusive language

Found terminology that should be reviewed for inclusivity; see
https://www.rfc-editor.org/part2/#inclusive_language for background and more
guidance:

 * Terms `his` and `he`; alternatives might be `they`, `them`, `their`
 * Term `traditional`; alternatives might be `classic`, `classical`, `common`,
   `conventional`, `customary`, `fixed`, `habitual`, `historic`,
   `long-established`, `popular`, `prescribed`, `regular`, `rooted`,
   `time-honored`, `universal`, `widely used`, `widespread`

## Nits

All comments below are about very minor potential issues that you may choose to
address in some way - or ignore - as you see fit. Some were flagged by
automated tools (via https://github.com/larseggert/ietf-reviewtool), so there
will likely be some false positives. There is no need to let me know what you
did with these suggestions.

### Typos

#### Section 3.2, paragraph 1
```
-    the contraints on bandwidth at various points in the network.  This
-    analysis is necessary because media servers may react to bandwith
+    the constraints on bandwidth at various points in the network.  This
+           +
+    analysis is necessary because media servers may react to bandwidth
+                                                                   +
```

#### Section 3.2, paragraph 7
```
-       transport-level loss is occuring, but
+       transport-level loss is occurring, but
+                                    +
```

#### Section 5.4, paragraph 3
```
-    (herafter referred to as "ads").
+    (hereafter referred to as "ads").
+        +
```

#### Section 5.5.3, paragraph 1
```
-    hop (Wi-Fi, 5G, or LTE), new problems in bandwidth detction have
+    hop (Wi-Fi, 5G, or LTE), new problems in bandwidth detection have
+                                                          +
```

#### Section 6.1, paragraph 3
```
-    In contrast to adaptive segmented delivery over a reliable tansport
+    In contrast to adaptive segmented delivery over a reliable transport
+                                                                +
```

#### Section 6.3, paragraph 5
```
-    application until the lost packet is retransmitted, allowing in-order
-                                      ^    ^^^^^^ ^^
+    application until a retransmission of the lost packet has been received, allowing in-order
+                      ++++++++++++++++++++                ^^ +++++   ^^ ^
```

#### Section 6.3, paragraph 7
```
-    As noted in Section 6.2, there is an increasing interest in transport
-                                                                 ^^ -----
-    protocol behaviors that respond to delay measurements, instead of
-    ^ ----   --- ^^
-    responding to packet loss.  These behaviors may deliver improved user
-                                      --- ^^
+    As noted in Section 6.2, there is an increasing interest in congestion
+                                                                ++++++ ^^
+    control algorithms that respond to delay measurements, instead of
+    ^^^^     ^^  ++++
+    responding to packet loss.  These algorithms may deliver improved user
+                                       ^^  ++++
```

#### Section 6.3, paragraph 7
```
-    agility, and [RFC9002] defines a basic algorithm with transport
-                                                    ---------------
-    behavior that is roughly similar to TCP NewReno [RFC6582].  However,
-   ---------
+    agility, and [RFC9002] defines a basic congestion control algorithm
+                                           +++++++++++++++++++
```

#### Section 7.2, paragraph 9
```
-    benefitted from this intervention a media streaming operator
-          -
```

#### Section 7.3, paragraph 4
```
-    monitoring of IETF protocols to continue for the forseeable future.
+    monitoring of IETF protocols to continue for the foreseeable future.
+                                                        +
```

### Duplicate references

Duplicate informative references to:
`https://datatracker.ietf.org/meeting/interim-2020-mops-01/materials/slides-interim-2020-mops-01-sessa-april-15-2020-mops-interim-an-update-on-streaming-video-alliance`.

### Outdated references

Reference `[RFC2001]` to `RFC2001`, which was obsoleted by `RFC2581` (this may
be on purpose).

### Grammar/style

#### Section 1, paragraph 12
```
Discussion This document is in the Github repository at: https://github.com/
                                   ^^^^^^
```
The official name of this software platform is spelled with a capital "H".

#### Section 3.6, paragraph 1
```
"throttle" these transfers in order to to mitigate the load that these hosts
                                    ^^^^^
```
Possible typo: you repeated a word.

#### Section 3.6, paragraph 3
```
a [Mishra] reported that after the CoViD-19 pandemic broke out in early 2020
                                   ^^^^^^^^
```
Did you mean "COVID-19" or the alternative spelling "Covid-19" (= coronavirus)?

#### Section 3.6, paragraph 4
```
ffic up 36% over an average day (pre COVID-19)}. We note that other operators
                                 ^^^^^^^^^^^^
```
The word "pre-COVID-19" is spelled with a hyphen.

#### Section 4.1, paragraph 2
```
o, and some tradeoffs may be necessary relative to what is feasible in a hig
                             ^^^^^^^^^^^^^^^^^^
```
In this context, the adverb seems more correct than the adjective "necessary".

#### Section 4.1, paragraph 5
```
rations. However, shorter segments means more frequent intra-coded frames an
                                   ^^^^^
```
It seems that the correct verb form here is "mean".

#### Section 4.2, paragraph 3
```
ecessary to support low-latency live streaming. This level of latency can typ
                                ^^^^^^^^^^^^^^
```
This expression is normally spelled as one or with a hyphen.

#### Section 5.3, paragraph 1
```
oth content and ads) are able to be accessed quickly. The less targeted, the
                                 ^^^^^^^^^^^
```
Avoid the passive voice after "to be able to".

#### Section 6.3, paragraph 12
```
ransport parameters itself, with the exception of a few invariant header fie
                            ^^^^^^^^^^^^^^^^^^^^^
```
Consider using "except" or "except for".

#### Section 7.2, paragraph 5
```
Reading and References The Media Operations community maintains a list of ref
                                 ^^^^^^^^^^
```
An apostrophe may be missing.

#### Section 7.2, paragraph 8
```
C., Zimmermann, R., and A. Bentaleb et al, "A Survey on Bitrate Adaptation Sc
                                    ^^^^^
```
A period is misplaced or missing. (Also in other references.)

## Notes

This review is in the ["IETF Comments" Markdown format][ICMF], You can use the
[`ietf-comments` tool][ICT] to automatically convert this review into
individual GitHub issues. Review generated by the [`ietf-reviewtool`][IRT].

[ICMF]: https://github.com/mnot/ietf-comments/blob/main/format.md
[ICT]: https://github.com/mnot/ietf-comments
[IRT]: https://github.com/larseggert/ietf-reviewtool
Martin Duke Former IESG member
No Objection
No Objection (2022-05-11 for -10) Sent
Thanks to Michael Scharf for his excellent TSVART review. I look forward to the dialogue about his comments, and in particular would like to concur that 1 second seems like an awful high bound for "ultra-low latency."

- Please update the references to RFC793 and RFC4960 with their bis equivalents, which are both in the RFC editor queue.

- (6.3) While QUIC endpoints can unilaterally adopt congestion controls, this is of course absolutely the case in TCP and SCTP as well, so it's odd to single it out in this section.

- (6.2) implies that reducing bufferbloat is pretty new idea. As I'm sure the authors are well aware, delay-based congestion control goes back to the early 90s and TCP Vegas, though it's absolutely true that it's currently in a bit of a renaissance.
Robert Wilton Former IESG member
No Objection
No Objection (2022-05-09 for -10) Sent
Hi,

Thank you for this document and thanks Linda for the OPS DIR review.  I find these sorts of documents to be informative and interesting, and I found this document to be interesting and pleasant to read - so thank you for that.

I only have a couple of trivial comments:

(1) The introduction made it clear that "download and play" is out of scope, but it was less clear to me from the introduction as to whether RTC was meant to be in scope or not.

(2)
5.1.  Overview
"ad workflows are introduced."  
 - "ad" is being used before it is later defined in 5.4.

Regards,
Rob