F2F meeting 2020 2nd
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:
- See https://github.com/t2trg/2020-06-helsinki for WebEx
What:
- Joint WoT/T2TRG Workshop on Lifecycle (Discovery, Onboarding, etc)
- Open to WoT and WISHI/T2TRG members.
WoT Plugfest
When:
- Monday June 15 to Friday June 19: (was June 1 to 5)
- Each day, 1-hour synchronization meeting, otherwise people to meet 1:1 as needed
- Time (note first day is an hour earlier):
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:
- Monday June 22 to Friday June 26
- Times:
- A normal F2F has approx 15h of meeting time
- 8h a day nominal, but subtract 1h for meals and approximately 1h total for breaks
- Over 2.5 days
- Above VF2F schedule gives 15h total
- We have decided to live with conflicts, so some people may not be able to make all meetings. We will attempt to schedule meetings so that items of interest to specific people are held when they can attend.
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
- Onboarding
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
- ODM/TD Integration (20+10m) - Michael Koster/Sebastian Kaebisch
- Future Topics
- Data Schemas
- JSON Schema - Henry Andrews
- Formal Data Schema Models: RFC8610 - Carsten Bormann
- Data Schemas
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:
- All TDs should be validated against the TD Playground
- Behaviour results should be captured in CSV files
- Capture information from both producers and consumers and reflect in report
Interoperability
Formal tests and captured results. Expand CSV input to:
- Use only a single security/protocol per implementation
- Expand "status" lines to test each op separately, with pass/fail/na results
- 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.
- Discovery
- LinkSmart
- EdgeX integration
- Hypermedia Controls
- Event History
- https://github.com/w3c/wot-thing-description/issues/892
- See "Complex Interactions" in charter
- OAuth2
- Implementation in node-wot, to be reinstated as normative content in TD
- Need additional implementations (at least one more)
- Test of "device" flow; in general, which flows make sense for IoT?
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
- Access to internet via a simulated NAT, but with no outgoing ports blocked
- Hangout
- All devices with visible state should be persistently viewable
Plugfest Logistics
This section is for discussing practical organizational matters.
Plugfest - Networking
- VPN setup needed with support for broadcast, etc.
- See above technical requirements.
- Decision: use Softether
- W3C System Team to set up AWS instance.
- Login/bridging details will be posted on github site.
- Just for testing, not for deployment; meant to simulate a typical home or corporate network behind a NAT/firewall.
- link to Slack workspace for discussing VPN installation and connectivity problem
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?
- what are the alternatives? Zoom? Skype?
- link to Google Hangouts video call
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)
- Opening 5m
- 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
- Review of issues
- TD Templates
- Discovery and Security
- Hypermedia - Ege/Victor
- 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