F2F meeting 2020 2nd

From Web of Things Interest Group

Important Notices

Conversion to Virtual Event

This event has been reorganized as a virtual online event. Due to COVID-19, all physical meetings have been CANCELLED.

Dates for the meeting have been changed!

The dates for the WoT Plugfest and the WoT F2F had to be changed due to the bank holidays in Europe.

See below for details on scheduling.

Abstracts

There are three events described in this wiki page: a T2TRG/WoT workshop, a W3C WoT Plugfest, and a WoT F2F.

These events are only loosely coupled (originally they were to be co-located, but that is no longer relevant).

The following sections give an abstract for the Workshop followed by an abstract for the WoT Plugfest and F2F.

T2TRG/WoT Joint Workshop

In the Internet of Things (IoT), billions of new devices are being connected to the Internet. At this scale, manual configuration is no longer affordable. Devices need to make available self-descriptive information, and the systems using them need to discover and make use of this information, without the need for extensive human intervention.

A first set of standards for self-description and discovery has been completed by IETF and W3C. How can these specifications best be used? What are the gaps that still need to be addressed? How can discovery be made secure and private, so that it doesn't disclose too much information and isn't susceptible to attacks? How can the semantic information that guides discovery be structured in a way that maximizes interoperability, in particular where usage needs to cross different IoT ecosystems? How can self-description and discovery be used to actually enhance security?

The Internet Research Task Force (IRTF) Thing to Thing Research group (T2TRG), and the Worldwide Web Consortium (W3C) Interest Group (IG) on the Web of Things (WoT) are meeting online for a workshop on self-description and discovery on Monday, June 8, 2020.

Participation in the workshop is open to IoT developers and researchers free of charge, but registration is required.

WoT Plugfest and Virtual F2F Meetings

The W3C Web of Things (WoT) IG and WG meet regularly to hold plugfests and advance standards development.

During a plugfest, various implementations are brought, setup, and tested against the evolving standards and for interoperability with each other. In addition, prototypes of new proposed standards, such as for discovery, scripting, etc. are brought and hands-on experience is obtained. In the planned virtual plugfest, we intend to set up a "virtual LAN" using VPN technology to allow testing in a network environment as similar as possible to co-location.

During the F2F meetings various new proposals for advancing the WoT standards are discussed. Although the physical F2F has been cancelled, a virtual F2F is now planned using teleconferencing technology.

Participating in the WoT plugfest is open to all IoT developers and researchers. Participation in the WoT F2F meetings is open only to WoT IG and WG members. In both cases participation is free but registration is required.

Schedule and WebEx

NOTE: Dates for the WoT Plugfest and F2F have changed.

We are planning a joint T2TRG/WoT Workshop June 8, a plugfest the week of June 15-19 (was June 1-5), and the F2F during the week of June 22-26 (was June 8-12). In addition a SoftEther VLAN will be set up for the plugfest and will be active from June 7 (was May 24) until June 26 (was June 12).

T2TRG/WoT Workshop

When:

How:

What:

  • Joint WoT/T2TRG Workshop on Lifecycle (Discovery, Onboarding, etc)
  • Open to WoT and WISHI/T2TRG members.

WoT Plugfest

When:

How:

What:

  • Plugfest, virtual LAN proving "local network" including broadcast support, etc. over the internet.
  • Devices should ideally be up and online all day (24h) during the entire week
  • Plugfests are open to all IoT developers interested in WoT

WoT Virtual F2F

When:

How:

What:

  • Full group meeting and updates from each TF; see agenda below
  • Open to W3C WoT members and guests (see registration, below)

Registration

Please register if you wish to attend these events.

T2TRG/WoT Workshop

Participation is open to IoT developers and researchers free of charge, but registration is required using ONE of the following links:

WoT Plugfest and F2F

For W3C WoT members, registration is not required but is strongly encouraged. If you are not a W3C WoT member, but want to attend these events, you may be able to do so as a guest (in particular the plugfest is open to non-members; see the agenda for other talks that may be open to non-members generally), but in this case registration is mandatory.

T2TRG Workshop

Agenda

See https://github.com/t2trg/2020-06-helsinki

Topics

This is a list of potential topics for the workshop. Talks are solicited on these topics.

  • Discovery
    • State, information, and metadata being discovered
    • Preserving privacy
      • Issues, i.e. Avoidance of fingerprinting in web browser
      • Two-phase protocol WoT proposal
      • Multiple actors, secret-handshake problem, authentication, authorization
    • Use of existing directory services, i.e.
      • CoRE RD/CoRAL
      • WoT Thing Directory/SPARQL/Keyword/Templates
    • Use of existing introduction mechanisms, i.e.
      • Eddystone beacons
      • mDNS/DNS-SD/Zeroconf
      • DHCP
      • QR/Barcodes/NFC (GS1)
    • New standards needed, i.e.
      • Location-based DNS
    • Semantic discovery
      • ODM and other semantic schematics
      • Query languages (SPARQL, GRAPHQL, JSONPath (LinkSmart), XPath 3.1)
      • Data Modeling
        • Whither JSON Schema?
        • ODM
      • Scripting API for Discovery
  • Scripting API
      • Summary of changes and outstanding issues
      • Security: Authentication, Provisioning
      • Discovery API (following the Discovery topics above)
      • node-wot update
  • Lifecycle
    • Onboarding
      • State and information being managed
      • Access control and authentication management
      • Interaction with existing ecosystems
      • Registration with directories for discovery
      • Relationship to discovery, mutual authorization problem
    • Information and Device states
      • RFC8576
      • WoT Architecture
    • Offboarding/decomissioning
      • How to deal with non-responsive devices?
      • Non-retrievable decommissioning vs. factory reset vs. maintenance updates

Requests to Speak

This is a list of specific proposed talks for the workshop. Each proposal should name a speaker and request a specific duration. Note that the overall length of the workshop is 3h.

  • WoT Update (10m)
    • Use Case Process and Overview - Michael Lagally
    • New Work Items - Michael McCool/Sebastian Kaebisch
  • Lifecycle (10+10m) - Michael Lagally
  • Profiles (10m) - Michael Lagally
  • Discovery
    • WoT Design Decisions and requirements (20m+10m) - Michael McCool
  • Scripting
    • WoT Scripting API for Discovery (20m+10m) - Zoltan Kis
  • WoT PoC Progress
    • Retail (5+5m) - Michael McCool/David Ezell
    • Smart City (5+5m) - Michael McCool/Jennifer Lin
  • Data and Hypermedia
    • ODM/TD Integration (20+10m) - Michael Koster/Sebastian Kaebisch
      • TD Templates
      • Modularity
    • Hypermedia Controls in TDs (20+10m) - Victor Charpenay/Sebastian Kaebisch
      • Actions and Events
      • Handling URLs
  • Future Topics
    • Data Schemas
      • JSON Schema - Henry Andrews
      • Formal Data Schema Models: RFC8610 - Carsten Bormann

WoT Plugfest

This will be an online event: - All day hacking, devices online for entire week. - One "sync" meeting daily. - Data to be gathered using CSV files in github, then reports to be generated. - WebEx Details to follow.

See github repo for details of setup, TD registration, etc.

Use Cases and Scenarios

  • Media and Streaming?
  • Semantic Extensions and API?
  • Discovery?
  • Others?

Possible Scenarios

  • Smart Store
    • TODO: links to presentations, use cases
    • Buying an ice-cream
    • 1. Person enters store, while associate is in a back room
    • 2. Takes ice cream from freezer
    • 3a. They walk to the counter
    • 3b. They walk out the door
    • 4. Associate is notified:
      • a. someone wants to pay
      • b. someone is leaving with products they have not paid for
  • Smart Agriculture

Possible Demos

What do we want to showcase in October?

  • Discovery
    • End-User Programming in Smart Retail using Node-RED and EdgeX (for NACS)
    • Discovery Web Dashboard
  • Eventing
    • Sensor Monitoring in Smart Agriculture?

Testing

Plans for compliance and interoperability testing.

Features

Need clear definitions of features in specifications that are higher level than the assertions.

Implementations

Who is bringing implementations, and what are they? Which implementations are producers, and which are consumers? Note that "interoperability" tests will be between producers and consumers only. NOTE: There is a CSV file defined to capture this information.

TODO: Update CSV files, place in wot-testing repo, link from here. Current table: https://github.com/w3c/wot-thing-description/blob/master/testing/inputs/impl.csv

Implementations:

  • semantic proxy - Michael Koster, Ege Korkan
  • node-wot
  • node-gen for NodeRED
  • proxy/gateway - Takahisa Suzuki
  • directory service (?) - Fraunhofer
  • edgeX integration - Michael McCool

Conformance

Formal tests and validation of implementations against features in specifications:

  1. All TDs should be validated against the TD Playground
  2. Behaviour results should be captured in CSV files
  3. Capture information from both producers and consumers and reflect in report

Interoperability

Formal tests and captured results. Expand CSV input to:

  1. Use only a single security/protocol per implementation
  2. Expand "status" lines to test each op separately, with pass/fail/na results
  3. Generate tables that give interop results for each interop test

Prototypes and Proposals

New prototypes for proposed functionality, e.g. discovery, links, hypermedia. This category is meant to include trial implementations of proposed new features included in our charter.

PoCs and Experimental Implementations

  • EdgeX/WoT Integration
    • Retail Use Cases w/ Conexxus
    • Discovery
    • Node-RED/node-gen integration
  • LinkSmart WoT Thing Description Directory service
  • New devices from TUM workshop
    • robots, sensors, etc. viewable over video link (WebRTC)
    • all available without a VPN and web access (using basic auth/https; WebRTC has its own)
  • Singapore Govtech?
    • geolocation module - geolocation semantics
  • New functionality in node-wot
    • OAuth2
    • media type support (eg image being returned from service) - camera service test case?
    • New protocol bindings - OPC-UA(?), ModBus(?), MQTT
    • new subprotocols for eventing(?) - if implemented (webhooks, sse, etc)

Reporting

An special "Implementation Report" will be created for the plugfest to report results: compliance with assertions in current specifications, augmented with interoperability results. Input to the interoperability results is in the form of a CSV file.

Technical Requirements

  • Simulated Virtual Local network
    • Access to internet via a simulated NAT, but with no outgoing ports blocked
      • Do we want to block SOME outgoing ports, as a test?
    • NAT blocks all incoming ports
      • Does anyone need incoming ports?
      • DynDNS, STUN, TURN, RTC (eg media streams)
    • Support for broadcast, both TCP and UDP packets, etc. just like a local ethernet; in particular, mDNS supported
    • Based on VPN technology
    • Physical bridge (eg on a Rasp Pi) to support devices that cannot run VPN directly
    • Support for DHCP and DNS
    • More than one NAT?
      • Eg to test RTC media streaming between two devices behind NATs
      • Depends on use cases
  • Hangout
    • All devices with visible state should be persistently viewable

Plugfest Logistics

This section is for discussing practical organizational matters.

Plugfest - Networking

Plugfest - Documentation

  • Cloud
    • People can also use cloud services
    • Need to document access procedures
    • Gateway services

Decision: All documentation to be on github site.

Plugfest - Schedule

  • We have only a 3 to 4-hour window each day that is "reasonable" in all timezones
  • Decision:
    • 2-week VPN is up (week before plugfest for prep, plugfest itself)
    • Participants commit to having all devices online all week
    • Light meeting schedule; 1h every day, to resolve issues
    • People work offline or have 1:1 meetings to test pairs of devices
    • At the end we gather all test data and create report
    • As many other regular meetings as possible should be cancelled during plugfest week to avoid distractions

Plugfest - Conference Calls

  • Do we use WebEx or something else?
    • check with W3C staff who have been looking at alternatives
  • Can we still use Google hangouts?

Plugfest - Tests and Use Cases

  • Media Use cases
    • Who can provide streams, etc?
  • Discovery
    • Fraunhofer, EdgeX, GoDaddy? - possible implementation tests
  • Semantic Proxy
    • Common definition, two protocol bindings, automatic bidirectional translation, double TD

Plugfest - TODO

  • Look into Google Hangout accounts and alternatives (Skype?)
  • Investigate if Softether supports all the above requirements
    • It does seem to have a NAT; need to check if it has configurable firewall
    • It also seems to have a DHCP server
  • Find a host to run Softethers; options include
    • Standing up our own instance on Digital Ocean, AWS, etc.
    • Get assistance from W3C system team, host on W3C server (Kaz to ask)
    • Figure out if there are any restrictions, eg. number of simultaneous users, bandwidth, etc.

WoT F2F

WoT F2F Conflicts

Please list any specific days you cannot attend or any conflicts you know about (other W3C or SDO meetings, holidays, conferences, etc...).

  • Kaz has the following conflicts:
    • Tuesday June 23 at 10am EDT
    • Thursday June 25 at 8am EDT

WoT F2F Agenda

Presentation materials should be placed here and be linked from the corresponding session below.

  • Monday 3h
    • Opening 5m
      • Guests and IPR
    • Quick Updates 5m
    • Security 1h25m (1h30m requested)
      • Review issues and recent work - McCool - 1h
      • Signing TDs (eg using LD-proof)
      • DIDs
      • OAuth2 use cases and flows
      • E2E Security
    • Gather input - McCool - 30m
      • Best practices: design docs, checklists, etc.
    • Discovery 1h25m (1h30m requested)
      • Requirements and Design decisions - Michael McCool - 35m (20m talk and 15m discussion)
      • LinkSmart Directory Service Update - Farshid Tavakolizadeh - 30m (20m talk + 10m discussion)
      • Decentralized ID and VC Update - Nikos Fotiou - 20m (15m talk + 5m discussion)
  • Tuesday 3h
    • Opening 5m
    • PoCs 25m
      • GovTech Singapore - Lin/McCool - 5m + 5m
      • EdgeX/Intel ORI/Conexxus - McCool - 10m + 5m
    • Plugfest Report - McCool - 15m
    • Break - 5m
    • Scripting 1h
      • API Changes - Daniel Peintner/Zoltan Kis - 1h
    • Break - 10m
    • Binding Templates - 1h
      • Vocabularies - Ege Korkan - 45m + 15m discussion
  • Wednesday 3h
    • Opening 5m
    • Profiles - Michael Lagally - 1h 50m
      • Review requirements and strawman
    • Break 10m
    • Lifecycle (discuss Spec chapter contribution) - Michael Lagally/Zoltan Kis - 50m
  • Thursday 3h
    • Opening - 5m
    • Architecture - Michael Lagally - 3h
      • Use Case Prioritisation results - Michael Lagally - 1h 45m
      • Break - 10m
      • Requirements (review contributions, worksplit based on use case prioritisation)- Michael Lagally - 1h
  • Friday 3h
    • Opening - 5m
    • Thing Description - Sebastian - 1h 45m
    • Break - 10m
    • Marketing 40m
      • Review of current activities - Sebastian Kaebisch - 10m
      • Content management and W3C tooling - Kaz Ashimura - 20m
      • Discussion of next steps - Sebastian Kaebisch - 10m
    • Closing - 15m

WoT F2F Requests to Speak

Other topics not scheduled.

  • CHIP Update - Koster?
  • ODM Update - Koster?
  • ITRF Workshop Wrap-up