Subject: [Hls-interest] Setting appropriate cache levels for blocking parts and playlists on reference stream

From: "Law, Will" <[email-masked]>
Date: Fri, 12 Feb 2021 16:52:02 +0000

A given LL-HLS stream consists of a sequence of playlists, parts and segments. The parts are only referenced within 3 target-durations from the live edge and hence can have a relatively short cache TTL , say 6 target durations to be safe . Segments however maybe requested by any client scrubbing within the DVR window, as well as further behind live by non-low-latency clients. These segments need a much longer TTL, at least the length of the DVR window, or longer if the live stream is converted to a VOD asset . Maximum cache efficiency is achieved when the proxy edge is able to evict objects as soon as their useful life has ended.

The current IETF spec addresses this with “Successful responses to blocking Media segment requests should be cached for six Target Durations.”,  “Successful responses to blocking Playlist requests should be cached for six Target Durations.” and “Origin servers should use Cache-Control headers to communicate the desired cache lifetime.”

Observing the Apple reference stream at https://ll-hls-test.apple.com/cmaf/master.m3u8, with a target duration of 4. I note for successful responses that :

Non-blocking media playlist response: max-age = 1
Blocking media playlist response: max-age = 60
Blocking part response: max-age = 300
Non-blocking part response: max-age = 300
Non-blocking segment response: max-age = 300

Would it be more correct to have blocking media object (part) responses have a max-age of 24?

Should blocking media playlist responses also be reduced to  24?

Cheers
Will

---

From: Jan Van Doorn <[email-masked]>
Date: Thu, 25 Feb 2021 08:53:49 -0700

Hi Will,

I updated the cmaf reference stream to have targetduration*6 as max-age. The ll-hls-origin-example.go will be updated accordingly in the next release of the Low Latency HLS Tools package.

Cheers,
JvD

> On Feb 12, 2021, at 9:52 AM, Law, Will <wilaw=[email-masked]> wrote:
> 
> Observing the Apple reference stream at https://ll-hls-test.apple.com/cmaf/master.m3u8 <https://ll-hls-test.apple.com/cmaf/master.m3u8>, with a target duration of 4. I note for successful responses that :
>  
> -- 
> Hls-interest mailing list
> [email-masked] <mailto:[email-masked]>
> https://www.ietf.org/mailman/listinfo/hls-interest <https://www.ietf.org/mailman/listinfo/hls-interest>

---

From: "Law, Will" <[email-masked]>
Date: Thu, 25 Feb 2021 16:30:19 +0000

Hartelijk bedankt!

I see the blocked playlist responses now have a max-age of 24, however the blocked media segments, such as the one shown below, are still at 300?

Request URL: https://ll-hls-test.apple.com/cmaf/media1/lowLatencySeg.mp4?segment=filePart280487.3.mp4
Request Method: GET
Status Code: 200
Remote Address: 17.253.30.233:443
Referrer Policy: strict-origin-when-cross-origin
access-control-allow-origin: *
access-control-expose-headers: age
age: 1
block-duration: 837.994439ms
cache-control: max-age=300
cdnuuid: b2341c67-2b51-4783-99f8-19e417e2c786-421560565
content-length: 67099
content-type: video/mp4
date: Thu, 25 Feb 2021 16:23:01 GMT
ms-in-cache: 0
server: ATS/8.1.1
via: http/1.1 ussea4-edge-tx-002.ts.apple.com (ApacheTrafficServer/8.1.1 [uScMsSfWpSeN:t cCMp sS])
x-cache: miss

Cheers
Will

From: Jan Van Doorn <jvd=[email-masked]>
Date: Thursday, February 25, 2021 at 7:53 AM
To: "Law, Will" <[email-masked]>
Cc: "[email-masked]" <[email-masked]>
Subject: Re: [Hls-interest] Setting appropriate cache levels for blocking parts and playlists on reference stream

Hi Will,

Cheers,
JvD

On Feb 12, 2021, at 9:52 AM, Law, Will <wilaw=[email-masked]<mailto:wilaw=[email-masked]>> wrote:

Cheers
Will

--
Hls-interest mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/hls-interest

---

From: Jan Van Doorn <[email-masked]>
Date: Thu, 25 Feb 2021 09:51:36 -0700

> On Feb 25, 2021, at 9:30 AM, Law, Will <wilaw=[email-masked]> wrote:
> 
> Hartelijk bedankt!

Graag gedaan!
 
> I see the blocked playlist responses now have a max-age of 24, however the blocked media segments, such as the one shown below, are still at 300?

You're right, I missed a spot ;-). I think I have it right now? 

> GET /cmaf/media2/lowLatencySeg.mp4?segment=filePart280896.4.mp4 HTTP/2
> Host: ll-hls-test.apple.com
> User-Agent: curl/7.64.1
> Accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
< HTTP/2 200
< access-control-allow-origin: *
< block-duration: 243.192089ms
< cache-control: max-age=24
< content-length: 251821
< content-type: video/mp4
< server: ATS/8.1.1
< date: Thu, 25 Feb 2021 16:49:18 GMT
< access-control-expose-headers: age
< age: 0
< via: http/1.1 ussea4-edge-tx-004.ts.apple.com (ApacheTrafficServer/8.1.1 [uScMsSfWpSeN:t cCMp sS])
< cdnuuid: 301e6547-bc22-4e1c-b534-0198e21bc471-420944344
< x-cache: miss
< ms-in-cache: 0
<

>  
> Request URL: https://ll-hls-test.apple.com/cmaf/media1/lowLatencySeg.mp4?segment=filePart280487.3.mp4 <https://ll-hls-test.apple.com/cmaf/media1/lowLatencySeg.mp4?segment=filePart280487.3.mp4>
> Request Method: GET
> Status Code: 200
> via: http/1.1 ussea4-edge-tx-002.ts.apple.com <http://ussea4-edge-tx-002.ts.apple.com/> (ApacheTrafficServer/8.1.1 [uScMsSfWpSeN:t cCMp sS])
> x-cache: miss
>  
> Cheers
> Will
>  
>  
>> On Feb 12, 2021, at 9:52 AM, Law, Will <wilaw=[email-masked] <mailto:wilaw=[email-masked]>> wrote:
>>