YANG interaction model for IoT Alexander Pelov <[email protected]> Michel Veillette <[email protected]> T2TRG@IETF97 1 A huge thanks to: Peter van der Stok Andy Bierman Benoit Claise And to our chairs: Ari and Carsten T2TRG@IETF97 2 A huge thanks to: Jaime Jimenez Hannes Tschofenig Dave Thaler For writing: draft-iab-iotsi-workshop T2TRG@IETF97 3 A huge thanks to: Matthias Kovatsch Klaus Hartke Michael Koster (and lots of people I’ve certainly omitted) For: Being RESTfull T2TRG@IETF97 4 IoT (small stuff) YANG (routers) CoMI T2TRG@IETF97 5 IoT (small stuff) YANG (routers) CoMI T2TRG@IETF97 6 IoT (small stuff) YANG (routers) CoMI T2TRG@IETF97 7 IoT (small stuff) YANG (routers) NonYANG IoT CoMI T2TRG@IETF97 8 NOT Replacement for: - All CoRE stuff B A T2TRG@IETF97 C 9 NOT Replacement for: - Linked Data - HATEOAS - REST - PubSub - … B A T2TRG@IETF97 C 10 NOT Replacement for: - Semantics - RDF - … B A T2TRG@IETF97 C 11 IS Richer vocabulary, better foundation to build upon A T2TRG@IETF97 B C 12 IS Richer exchange model between two entities B A T2TRG@IETF97 C 13 Interaction model (IN) A B Defines how data is accessed and retrieved from the endpoints , being therefore tied to the specific communication pattern that the system has (e.g. REST methods,Publish/ Subscribe operations or RPC-calls). T2TRG@IETF97 draft-iab-iotsi-workshop 14 A non-interaction B Data representation A IDL CORBA T2TRG@IETF97 A Data representation B CBOR CoAP C Data representation C ASN.1 SNMP 15 Interaction model description • REST – Follow the links – Get the content formats – Submit the forms T2TRG@IETF97 16 PUT T2TRG@IETF97 /temp CBOR 25 17 PUT /temp CBOR 25 200 OK T2TRG@IETF97 18 METHOD PUT + URI /temp + DATA SYNTAX CBOR + DATA VALUES 25 200 OK T2TRG@IETF97 19 Why? When? (content format) (what?) METHOD PUT (where?) + URI /temp (how?) + DATA SYNTAX CBOR (how much?) + DATA VALUES 25 200 OK T2TRG@IETF97 20 SEMANTICS Why? When? (content format) (what?) METHOD PUT (where?) + URI /temp (how?) + DATA SYNTAX CBOR (how much?) + DATA VALUES 25 2.04 Changed T2TRG@IETF97 21 SEMANTICS Why? When? (content format) (what?) METHOD PUT (where?) + URI /temp (how?) + DATA SYNTAX CBOR (how much?) + DATA VALUES “One more Kimchi, please” 4.00 Bad Request T2TRG@IETF97 22 SEMANTICS Why? When? (content format) (what?) METHOD PUT (where?) + URI /temp (how?) + DATA SYNTAX CBOR (how much?) + DATA VALUES 189 756 4.00 Bad Request T2TRG@IETF97 23 SEMANTICS Why? When? (content format) (what?) METHOD PUT (where?) + URI /temp (how?) + DATA SYNTAX CBOR 4.00 Bad Request T2TRG@IETF97 (how much?) + DATA VALUES 189 756 How does the client know the schema of the data? How to handle collections? … 24 SEMANTICS Why? When? (content format) (what?) METHOD PUT T2TRG@IETF97 (where?) + (how?) DATA SYNTAX (how much?) URI + + DATA VALUES /temp application/cbor+positive-temp-less-than-100 25 Interaction model description • REST – Follow the links – Get the content formats – Submit the forms • How are these billions of potential content formats handled? – Are we doomed of always referring to HTTP/CoAP primitives? • I know of little Web devs that use Sockets today T2TRG@IETF97 26 /a1 /a2 A CoMI/YANG /b1 /b2 B Instead of limiting to “low-level” REST API, use high-level CoMI API Use HATEOAS to discover the CoMI entry point(s) T2TRG@IETF97 27 Why? • YANG community – primarily routers • CoRe / T2T / W3C community – primarily IoT • Powerful tool… Disjoint communities… Getting together… • Topic in T2TRG? – Something else? – Nothing else? T2TRG@IETF97 28 Thanks! Alexander Pelov <[email protected]> Michel Veillette <[email protected]> T2TRG@IETF97 29
© Copyright 2026 Paperzz