moq-wg / moq-transport

draft-ietf-moq-transport
Other
70 stars 16 forks source link

Add a Max Cache Duration (aka ttl) field to Objects #446

Open ianswett opened 1 month ago

ianswett commented 1 month ago

Based on discussion last week and on slack, I believe this is where the WG is heading.

It is possible this could be a per-track or per-subscription value to save bytes on the wire, particularly for the Object per Stream or Object per Datagram modes.

It's possible this value could be decreased by the cache dwell time at each hop, but I didn't hear clear consensus either way on that question.

Fixes #440 Fixes #415

VMatrix1900 commented 1 month ago

IIUC, this field is the TTL of per hop instead of end-to-end. The content origin can set the TTL to end-to-end deadline and each hop decrease the value then pass it to the downstream relay. Is that correct?

vasilvv commented 1 month ago

I'm not sure this PR solves either of the problems we're trying to solve with the cache TTL fields.

afrind commented 3 weeks ago

Individual Review:

I think this PR needs additional, probably normative, guidance about when a caching relay starts the expiration timer. For example, if using stream-per-object and the object is large, does the timer start when placing the first or last byte of the object in cache. The same is true of other forwarding modes.

fluffy commented 3 weeks ago

Just for notes ... Mo raised key point on call that if we tail drop things in some priority mechanism, then we may never get the end of group marker. We probably need to adjust text to be very careful about how we detect we are never going to get any more data on this group or track

fluffy commented 3 weeks ago

Victor had point that perhaps we should use the start of next group to start timer instead end of current group

suhasHere commented 2 weeks ago

Some of the open issues from the last interim