Web of Things (WoT) Discovery

W3C Editor's Draft 10

This version:
https://w3c.github.io/wot-discovery/
Latest published version:
https://www.w3.org/TR/wot-discovery/
Latest editor's draft:
https://w3c.github.io/wot-discovery/
Editors:
Andrea Cimmino ( Universidad Politécnica de Madrid )
Michael McCool ( Intel Corp. )
Farshid Tavakolizadeh ( Fraunhofer-Gesellschaft )
Kunihiko Toumura ( Hitachi, Ltd. )
Participate:
GitHub w3c/wot-discovery
File a bug
Commit history
Pull requests
Contributors:
In the GitHub repository

Abstract

The W3C Web of Things (WoT) is intended to enable interoperability across IoT platforms and application domains.

This WoT Discovery specification...

To do.

Status of This Document

This is a preview

Do not attempt to implement this version of the specification. Do not reference this version as authoritative in any way. Instead, see https://w3c.github.io/wot-discovery/ for the Editor's draft.

This section describes the status of this document at the time of its publication. Other documents may supersede this document. 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/.

To do.

This document was published by the Web of Things Working Group as an Editor's Draft.

GitHub Issues are preferred for discussion of this specification. Alternatively, you can send comments to our mailing list. Please send them to public-wot-wg@w3.org ( archives ).

Publication as an Editor's Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

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 1 March 2019 W3C Process Document .

1. Introduction

To Do.

2. Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key word words MUST and SHOULD in this document is are to be interpreted as described in BCP 14 [ RFC2119 ] [ RFC8174 ] when, and only when, they appear in all capitals, as shown here.

3. Terminology

This section is non-normative.

This specification uses the following terms as defined here. The WoT prefix is used to avoid ambiguity for terms that are (re)defined specifically for Web of Things concepts.

Discovery
In the WoT context, the process of finding and retrieving Thing metadata in the form of Thing Descriptions for Things satisfying some criteria of interest.
Exploration
A discovery mechanism that provides access to detailed metadata in the form of one or more Thing Descriptions. Exploration mechanisms are in general protected by security mechansism and are accessible only to authorized users.
Introduction
A "first contact" discovery mechanism, whose result is a URL that references an exploration mechanism. Introduction mechanisms themselves should not directly provide metadata, and in general are designed to be open.
Thing Description Directory (TDD)
A directory service with a prescribed API that allows the registration, management, and search of a database of Thing Descriptions. Note that the acronym should be TDD, not TD, to avoid confusion with Thing Descriptions (TDs).

4. Use Cases

This section is non-normative.

Examples of why we need discovery.

5. Requirements

This section is non-normative.

The WoT discovery process should have the following capabilities:

5.1 System

This section is non-normative.

5.3 Data Management

This section is non-normative.

5.4 Security

This section is non-normative.

5.5 Privacy

This section is non-normative.

5.6 Alignment with Existing Standards

This section is non-normative.

6. Architecture

This section is non-normative.

Two-Phase approach.

7. Introduction Mechanisms

Description of supported introductions, and requirements for new introduction mechanisms.

7.1 Direct

Any mechanism that results in a single URL. This includes Bluetooth beacons, QR codes, and written URLs to be typed by a user. A GET on all such URLs MUST result in a TD. For self-describing Things, this can be the TD of the Thing itself. If the URL references a Directory, this MUST be the TD of the Directory service. A Directory can be distinguished from a Thing by the use of an @type including the semantic term WoT-Directory .

7.2 DNS-SD

To Do.

7.3 CoRE Resource Directory

To Do.

7.4 DID Documents

To Do.

8. Exploration Mechanisms

Description of supported explorations, and requirements for new exploration mechanisms.

8.1 Self-description

Mechanism for devices to self-describe, hosting their own TDs.

8.2 Directory

Mechanism for TDs to be hosted in a searchable directory service.

8.2.1 Information Model

Description of conceptual data organization in a directory.

8.2.2 Directory Service API

API of directory service.

8.2.2.1 Registration

Sub-API to register a TD (or a link). Manage existing records. Basically CRUD operations on TD records.

8.2.2.2 Management

Other administrative functions not having to do with CRUD of individual records, for example, security configuration. Also, administrator roles may expand the capabilities of administrators for management of records (for instance, the ability to delete a record they did not create).

8.2.2.3 Notification

Sub-API to notify clients of events, such as updates to TDs.

8.2.3 Security and Privacy

Minimum security and privacy requirements for confidentiality, authentication, access control, etc.

9. Exploration Mechanisms

To do.

10. Security and Privacy Considerations

This section is non-normative.

Security and privacy are cross-cutting issues that need to be considered in all WoT building blocks and WoT implementations. This chapter summarizes some general issues and guidelines to help preserve the security and privacy of concrete WoT discovery implementations. For a more detailed and complete analysis of security and privacy issues, see the WoT Security and Privacy Guidelines specification [ WOT-SECURITY ].

A. Recent Specification Changes

Changes from First Draft

B. Acknowledgments

Special thanks to X, Y, and Z for their contributions to this document.

Many thanks to the W3C staff and all other active Participants of the W3C Web of Things Interest Group (WoT IG) and Working Group (WoT WG) for their support, technical input and suggestions that led to improvements to this document.

C. References

C.1 Normative references

[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels . S. Bradner. IETF. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words . B. Leiba. IETF. May 2017. Best Current Practice. URL: https://tools.ietf.org/html/rfc8174

C.2 Informative references

[WOT-SECURITY]
Web of Things (WoT) Security and Privacy Guidelines . Elena Reshetova; Michael McCool. W3C. 6 November 2019. W3C Note. URL: https://www.w3.org/TR/wot-security/