Candidate Recommendation Snapshot: Web of Things (WoT) Discovery (Call for Wide Review)

Web of Things (WoT) Discovery

https://www.w3.org/TR/2023/CR-wot-discovery-20230119/

feedback due by: February 16, 2023

Published by
 Web of Things Working Group

Abstract

The W3C Web of Things (WoT) is intended to enable interoperability across IoT platforms and application domains. One key mechanism for accomplishing this goal is the definition and use of metadata describing the interactions an IoT device or service makes available over the network at a suitable level of abstraction. The WoT Thing Description specification satisfies this objective. 

However, in order to use a Thing its Thing Description first has to be obtained. The WoT Discovery process described in this document addresses this problem. WoT Discovery needs to support the distribution of WoT Thing Descriptions in a variety of use cases. This includes ad-hoc and engineered systems; during development and at runtime; and on both local and global networks. The process also needs to work with existing discovery mechanisms, be secure, protect private information, and be able to efficiently handle updates to WoT Thing Descriptions and the dynamic and diverse nature of the IoT ecosystem. 

The WoT Discovery process is divided into two phases, Introduction, and Exploration. The Introduction phase leverages existing discovery mechanisms but does not directly expose metadata; they are simply used to discover Exploration services, which provide metadata but only after secure authentication and authorization. This document normatively defines two Exploration services: for distributing a single WoT Thing Description from a regular web service, including as a special case self-description; and a searchable WoT Thing Description Directory service for collections of Thing Descriptions. A variety of Introduction services are also described and where necessary normative definitions are given to support them.

Status of the Document

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/. 

At the time of CR transition, due to insufficient implementation experience the following features and sections are at risk: 
 
  * DNS-SD support for UDP protocols, specifically support for the _wot._udp service type. introduction-dns-sd-service-name-directory-udp and introduction-dns-sd-service-name-udp. 
  * Mandatory use of RFC3339 format for date-time. tdd-absolute-time. 
  * Mandatory rejection of query with diff parameter if diff is not supported. tdd-notification-data-diff-unsupported. 
  * Discoverer behavior when fetching additional results from Exploration services and Thing Links, including tracking of already fetched results: discoverer-fetch-iteration, discoverer-fetch-links, discoverer-fetch-tdd, and discoverer-track. 
  * Security bootstrapping. exploration-secboot-401, exploration-secboot-auth, exploration-secboot-oauth2-flows, and security-bootstrapping-endpoints. 
  * CoAP-based TD Server support. exploration-server-coap-size2. 
  * Alternative content and language support. exploration-server-http-alternate-content, exploration-server-http-alternate-language, tdd-http-alternate-language, tdd-http-error-response-lang, tdd-http-representation-alternate-output, and tdd-validation-response-lang. 
  * Support for CoRE-RD and CoRE Link Format. introduction-core-rd-resource-type-directory, and 
  * Sorting support during pagination. tdd-things-list-pagination-collection, tdd-things-list-pagination-order, tdd-things-list-pagination-order-nextlink, tdd-things-list-pagination-order-utf-8, and tdd-things-list-pagination-orderable. 
  * Others: exploration-link-description-link, exploration-link-description-type, introduction-direct-directory-description, and tdd-registrationinfo-expiry-config.  

In addition, a number of assertions in the Privacy Considerations and Security Considerations sections are at risk: 
 
  * priv-loc-anonymous-tds 
  * priv-loc-disable-public-directories 
  * priv-loc-explicit-care 
  * priv-loc-explicit-strip 
  * priv-loc-gen-ids 
  * priv-loc-priv-dir-access 
  * priv-query-anon 
  * sec-self-proxy 
  * sec-tdd-intro-if-multicast-required 
  * sec-tdd-intro-limit-response-size 
  * sec-tdd-intro-no-multicast 
  * sec-tdd-intro-no-observe 
  * sec-tdd-intro-throttling 
  * sec-tdd-limit-query-complexity 
  * sec-tdd-query-watchdog 
  * sec-tdd-throttle-queries  

These represent best practices but often relate to deployment policy rather than implementations and in some cases are difficult to validate. The intention is to complete as many of these as possible by PR; those that cannot be validated but that represent best-practice recommendations will be converted into informative statements. 

At-risk assertions are marked with yellow highlighting. 

The Web of Things Working Group intends to submit this document for consideration as a W3C Proposed Recommendation after at least the minimum CR review period has passed. However, before PR transition is requested, any features or assertions currently marked as at-risk that do not have at least two implementations at that time will either be removed or converted into informative statements, as appropriate. 

This document was published by the Web of Things Working Group as a Candidate Recommendation Snapshot using the Recommendation track. 

Publication as a Candidate Recommendation does not imply endorsement by W3C and its Members. A Candidate Recommendation Snapshot has received wide review, is intended to gather implementation experience, and has commitments from Working Group members to royalty-free licensing for implementations. 

This Candidate Recommendation is not expected to advance to Proposed Recommendation any earlier than 16 February 2023. 

This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy. 

This document is governed by the 2 November 2021 W3C Process Document.

-- 
This report was automatically generated using https://github.com/w3c/transition-notifier

Received on Thursday, 19 January 2023 09:08:08 UTC