Minutes interim-2024-moq-17: Wed 16:00
minutes-interim-2024-moq-17-202408211600-00
Meeting Minutes | Media Over QUIC (moq) WG | |
---|---|---|
Date and time | 2024-08-21 16:00 | |
Title | Minutes interim-2024-moq-17: Wed 16:00 | |
State | Active | |
Other versions | markdown | |
Last updated | 2024-08-21 |
MoQ Interim 21 August 2024
Attendees:
- Martin Duke (Google)
- Will Law (Akamai)
- Alan Frindell (Meta)
- Victor Vasiliev (Google)
- Daniel Fay (Meta)
- Dinesh Adhithya (Zoho)
- Mathis Engelbart (TUM)
- Mike English (id3as)
- Suhas Nandakumar (Cisco)
- Ian Swett (Google)
- Sebastian Rust (TU Darmstadt)
- Mo Zanaty (Cisco)
Minutes: (MoQT Issues - Ian Swett)
Peeps PR
Martin: Current PR includes normative language describing object
relationships.
Mo: Should have some guidance on delivery order, but not on object
dependency. Limited normative language.
Suhas: Agree with Mo. Peeps represents priority construct, language
should address that
Victor: What is the SHOULD being proposed
Martin: Describes sensible strategy for object dependence and delivery
order
Victor: Is this for applications or for MoQT developers
Martin: For applications
Ian: Prefers less text. Text doesn't need a SHOULD, describe behavior of
stream/peeps w/o normative language
Martin: General consensus against normative language
Ian: Example is worthwile
Will: Question need for peeps, peeps are an application feature and
should not be codified into transport
Martin: Transport API needs feature to map to streams
Will: Transport doesn't need to know stream mapping
Martin: Current transport doesn't have a mechanism for mapping to
streams w/o object per stream
Mo: See Martin's past presentation, peeps addresses temporal scalability
issues
Martin: These issues are solvable with object per stream, but that is
cumbersome
Victor: Dependencies are a transport issue, problem is how do we
communicate that
Mo: Dependencies are not proper in transport, transport doesn't have or
need the context for application dependencies
Mo: Include simple (one line) normative statement on delivery order in
draft
Martin: Examples about use of streams for dependency can be helpful
Alan (individual): Agree with Ian. Streams imply order delivery,
describe that with some example to demonstrate. Don't include normative
language
Suhas: Agree with Ian and Alan. Peeps are delivery construct, give
non-normative example
Ian: Keep normative statement on increasing object IDs
Martin: Next issue, allow peeps to be in a single datagram. Leave out of
PR, revisit separately.
Martin: Added end of peep object. Included at end of peep to limit
stream inflation.
Alan: Do missing objects need peep?
Martin: No, they will go with peep of previous object
Ian: They will come in order, but not necessarily in the previous object
peep.
Martin: Needs further discussion, add questions/proposal to PR
Suhas: Keep logic the same for one and multiple peeps
Alan: Current logic uses group ID, this changes to peep ID. Does
application need to pass this info
Mo: Nothing in PR describing peep ID, can be anything?
Martin: Current PR, yes. Will discuss later
Will: Is Peep the final name?
Martin: We will change it, plan to merge with "peeps" name and will
discuss renaming prior to publishing
Suhas: Don't want "peep" in published draft
Martin: Currently have peep ID and priority. If peeps can't have same
priority, then can make peep ID represent priority
Alan: There is use case for equal priority peeps.
Victor: Peeps should not have same priority, so peep ID can take the
place
Suhas: Alan use case can be addressed with multiple tracks. Peeps use
case is to group objects with priority
Alan: Current MoQ design is to give lots of developer flexibility.
Inclined to leave flexibility to developers to decide track/peep
separation. Current implementation defines priority and tie breakers, so
not exactly same priority.
Alan: Even if peeps can have same priority, can that be collapsed to one
field? Priority field is small
Suhas: Don't have a use case for why you can't have equal peep priority,
but don't want it.
Alan: Different field sizes may necessitate this. If we don't allow it
need normative statement against it
Victor: When using peeps, peep priority replaces objects priority as
tiebreaker
Alan: Don't believe priority can be implemented by merging IDs. Making
peep ID priority means making priority a 62 bit field
Suhas: Agree with alan, use peep ID as tiebreaker. Making priority size
of ID is not a good idea
Martin: Leave text as is, two fields should be separate things
Ian: Leave fields for now, can be revisited
Martin: In current text, peep ID is just number
Victor: Don't like two unrelated numbers.
Martin: Peep ID is on wire for relays
Alan: And caching replay
Martin: No change, general opposition to assigning meaning to peep ID
Martin: Will will propose new name for peep over list, if reach
consensus can change PR
Alan: Peep ID should have some meaning, not meaningless identifier. Will
propose outside meeting
Ian: Interleved streams makes priority complex, is case for unique peep
IDs
Alan: Solved by peep ID replacing object ID as tiebreaker. Will draft
thoughts offline
Suhas: Think multiple peeps with same ID is potentially viable.
Will: What are use cases where peep doesn't correspond with stream?
Martin: Streams and peeps correspond perfectly
Will: At transport level, calling it stream simplifies meaning
Martin: Peeps was intentionally chosen to be unrelated to all existing
terms
Mo: MoQ people have no opposition to stream, but potentially conflicts
with QUIC streams
Martin: Alan make offline proposal, Will propose new term and start
bikeshed
Subscribe namespace
Alan: Subscribes and namespaces are matched based on
< Missed some discussion here in notes >
Will: Relay doesn't need trackname
Alan: Do we need namespace and name to be separate? Can subscribes match
arbitrary subsets of name tuple
Will: Matching on n first elements of tuple is simple to implement
Mo: Core issue is handling wildcards. Addressing wildcards handles
wildcard subscribes.
Alan: Subscribe namespace is a solution to wildcard subscribes
Suhas: Should be fixed mapping, arbitrary mapping is difficult to
implement and not performant
Ian: Please keep it prefixed matched.
Alan: Mechanism to enable behavior we don't currently have, can extend
in future.