w3c / w3c/wot-scripting-api

Very high frequency updates

Open
#107 11 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement use case
Dominant language
HTML
Stars
45
Forks
21
PR merge metrics
No merged PRs in 30d

Description

Note: not sure if this is the correct repository for this issue, please advise.

For some telemetry use cases, we may have very high frequency of updates for a thing's state. Each update can have multiple data values, e.g. where you want to transfer readings that were taken at the same time from multiple sensors. To handle this efficiently, it is desirable to bundle a sequence of successive updates into a single message. A related use case has a very high frequency of events, necessitating a means to bundle successive events.

Application developers shouldn't be concerned about the underlying protocols, but are certainly interested in ensuring that their use case is implemented efficiently by the Web of Things platform. For this purpose, there should be a means to request such bundling and to provide some hints to control this. I see value for exposing this control in the thing description as part of the communications metadata, but also through the scripting API, to allow applications to adapt to changing conditions.

The scripting API is also involved in that application developers may want to indicate that they are able to handle a bundle of state updates or events when they call the observe API.

My implementation experiments used a couple of metadata terms: frequency for the expected frequency of the updates (samples/second), and latency in seconds, which indirectly relates to the number of samples in each bundle. Please ask me for a demo.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing observe API and Thing Description communications metadata mentioned in the issue, then review the discussion and any implementation demo. Done would require an agreed design for bundling state updates and events, including controls exposed through metadata and the scripting API.

Written by the indexing model from the issue text.

Assessment

Domain
api, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.