Skip to content

Commit

Permalink
Initial survey of other discovery mechanisms (#514)
Browse files Browse the repository at this point in the history
* Create add-rendered-implreport.yml

* Update add-rendered-implreport.yml

* Update add-rendered-implreport.yml

* Delete add-rendered-implreport.yml

* initial survey of other discovery mechanisms

* Update other_mechs.md

---------

Co-authored-by: Michael McCool <[email protected]>
  • Loading branch information
k-toumura and mmccool authored Nov 6, 2023
1 parent e55f7fb commit d7e1771
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions proposals/other_mechs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Survey of Other Discovery Mechanisms (DRAFT)

## Current Introduction Mechanism

- Direct
- Well-known URIs
- DNS-based service discovery (DNS-SD + mDNS)
- CoRE Link Format and CoRE Resource Directory
- DID Docuemnts

## Other ecosystem's discovery mechanisms

### MQTT

- There is no standard mechanism for discovering MQTT broker.
- [MQTT-SN (MQTT for sensor Netoworks)](https://www.oasis-open.org/committees/document.php?document_id=66091&wg_abbrev=mqtt)
- UDP-based
- Advertise a broker presense by ADVERTISE message.
- no information other than the gateway's ID can be sdvertised.
- [MQTT Discovery in Home Assistant](https://www.home-assistant.io/integrations/mqtt/#mqtt-discovery)
- They have predefined topic for Discovery:
- `<discovery_prefix>/<component>/[<node_id>/]<object_id>/config` where:
- `discovery_prefix`: default to `homeassistant`
- `component`: `binary_sensor` etc.
- `node_id`: ID of the node
- `object_id`: ID of the device
- payload is serialized JSON object.

### OPC UA
- [Local Discovery Server]
- use mDNS to advertise Discovery Server. Similar approach to WoT Discovery.
- `_opcua-tcp._tcp.example.com. 86400 IN SRV 0 5 4840 uaserver.example.com.`
- ` TXT path=/discoveryURL, caps=LDS,...`

### Other protocol/platform/ecosystem
- DHCP Options ([RFC2132](https://datatracker.ietf.org/doc/html/rfc2132))
- SSDP ([draft-cai-ssdp-v1-03](https://datatracker.ietf.org/doc/html/draft-cai-ssdp-v1-03); expired in April 2000)
- [WS-Discovery](https://docs.oasis-open.org/ws-dd/discovery/1.1/wsdd-discovery-1.1-spec.html)


## How to incorporate new mechanism in WoT Discovery?
- It might be good to initially collect proposals *with implementation* in the form of markdown document. After that, we can decide whether to incorporate it into the spec.

0 comments on commit d7e1771

Please sign in to comment.