CBOR WG Meeting - IETF 109

Thursday, November 19, 2020 14:30-15:30 ICT (UTC +7)
Chairs: Francesca Palombini

Recordings: https://youtu.be/86oGOjWevJ4
Jabber Logs: https://www.ietf.org/jabber/logs/cbor/2020-11-19.html

Minute takers:


Francesca doing introductions, participation guidelines etc.
No changes to the agenda.

RFC8943-to-be status update - Mike

RFC8949-to-be status update - CB

CB going through some slides of 7049bis (CBOR revision)

interoperability fixes, errata etc.

(no comments / questions)

CBOR Tags for OID - CB

CB going through slides

Added “p” expanding to; tagged data looks like relative OID, but prefix is well known to reflect IANA Private Enterprise Number OID

New use case for CDDL: prefix striping (inverse to “cat”), not specific to OID. Proposal: Not address here but split out to cddl-control (where additional requirements could be considered that are irrelevant here)

CB: Ready to ship to IESG?

Henk Birkholz (HB): aware of it, love it, useful. Prefix removal: usable everywhere there are namespaces. Happy to not have this here, can go to IESG w/o it.

(some more support from Jabber)

FP: shepherd review and write up, then ready to move it forward. FP will be shepherd.

Packed CBOR - CB

CB going through slides

Packed CBOR: Has been in early drafts, but taken out and yes that’s all complex.

Effiency gains over JSON only work with CBOR-aligned model.

Packing: Usable while being packed. It’s more contorted to get to the data, but not too different and does not require full expansion.

(p9) “Table referencing engine” can run independent of the way picked in the setup.

“buckets” depending on length of reference into the table (position inside the bucket does not matter, bucket does)

Possibly multiple inputs (static, local, from surrounding structure) – needs combinding rule: same bucket, overflow to end of larger bucket. Nice on napkin, not written in draft yet.

URIs, hashes and IANA registries for “batteries included”; further application specific versions possible.

Format for those dictionaries to be defined, but could be similar to local table format.


Questions from slides: How important are things like suffix? From that, tag space size to be decided.

Draft splitting interacts with the timelines chosen.

CB: Interested in hearing on-list about where this would be useful. Some came from SUIT, but too late here and they’ll do somethign specific.

Christian Amsüss (CA): CoRAL.

HB: Coming from RATS: Chaos when tester boots up, things are not deterministic, need logs. Prominent case: hash software components before execution. Paths on a file system could be segregated and packed. […] If there could be a native things to pack similar looking path names, that’d be nice. That’s a common thing in software assets. CB: Prefix sharing? HB: Yes. People talk about JSON encoding b/c paths are strings anyway, but this would be straightforward.

Chris Lemmons (CL): Seen interest for efficient formats even for ordinary REST APIs, using JSON today. Want simple way where clients can use Accept to negotiate more efficient format. Important to negotiate what kind of CBOR we’re talking about in mime types. That’s part of the problem this space has to solve.

CB: Is this about static dicts or local information? CL: Predefined would be hard to ahndle with a mime type. If all is directly in the object,we only need to know that packed CBOR is part of the negotiation. “Understand CBOR” is different from “Understand packed CBOR”. CB: Could do something like profile (in HTML never took off) to identify static dict you are using. Easy in text mime type, needs individual content format for CoAP that needs registering. In many cases, data in there once would be more expedient. CL: Or use external dictionary mechanism. CB: When did something similar for SIP (20a ago), we decided that application independent static dict could be defined that has been updated once up to now; was good enough for SIP. There may be environments where an app independent dictionary makes sense. CL: Yes. Has multiple use cases, but the question is about specific examples, and here is one. CB: Filtering against noninteroperable monster will be eneded.

Ira McDonald via Jabber: opinion - split the draft - ship the batteries included version w/ referencing and simple table setup soon - “solve” external dictionaries on a longer timeline. CB: Sounds good to me.

FP: Sounds like support for split.


CB: Documents we should pick up: Time tag (registered, but spend effort to turn into more complete RFC). When done with current slate, should have round through community about what ppl are working on. Haskell people have type choices in Haskell that are not pure type unions but you pick which branch of type choice you took. The’d need couple (probably hundreds of/or? thousands) to represent that. Don’t be surprised if I carry some of this here.

FP: cddl-control not talked about yet.
CB: Used in ASDF WG. Had a tiny extension to .feature in most recent draft. Discussed something around .cat (now implemented, as with and .plus). No implementation for ABNF part yet. 🎄?

FP: Anything else to bring up? (Nothing.)

FP: We have interims every other week. Join in, just an hour. Looking at possible time slots. Currently Wednesday 5pm CET. Collisions, collisions. Maybe move 1h earlier.

Ira McDonald: That would collide with one of the vehicle security meetings. FP: Also ever second week? Ira: May work around that.

FP: Interims to resume 2021.

CB: 5pm is time to commute home for some of us. Some time, compromise between US west coast and Europe calls for 1700CET or 1600UTC.

CB: On agenda should be regular item to look at adoption by other SDOs. Mobile driving license is stable now (ISO/IEC DIS 18013-5), would be good for us to watch this. They also use CDDL, I think – taken whole package. FP: Yes, good suggestion.