IoT Update Protocols

Smart things may measure continuously, but every radio transmission costs energy. An update protocol reduces the number of sent measurements while respecting an accuracy requirement. This differs from stream compression, which keeps the messages/measurements but encodes their bytes more compactly to reduce data size.

Periodic reporting

Send an update every fixed interval. If the maximum speed is known, an accuracy acc requires a minimum frequency:

f_min = 1/ (v_max / acc)
interval_max = acc / v_max

It is simple and predictable, but sends unnecessary updates when the object moves more slowly or not at all, and can fail the accuracy target if the chosen interval is too long.

Distance-based reporting

Send only when the distance from the last reported position reaches the requested accuracy:

dist(current, last_reported) >= acc

For a continuously measuring node that wants to maximize sleep time, with current position m_t and maximum speed v_max:

sleep_time = (acc - dist(m_0, m_t)) / v_max

where m_0 is the last reported position. It saves updates but may produce very short sleep intervals near the threshold; measuring/wakeup energy can make an early report better.

For the exam robot (v = 2 m/s, acc = 10 m, start 0 m), the next reports are 10 m at 5 s, 20 m at 10 s, and 30 m at 15 s.

Early distance-based reporting

Choose between reporting now and waiting based on energy heuristics. Next Fix compares the energy per time for sending now versus sensing/sleeping without an update. Predicted Movement estimates several future turns under an assumed movement model. Both trade additional accuracy against radio and sensing energy.

Dead reckoning

Initially send the current state and an update function/model (for example position, velocity/vector, and timestamp). The receiver extrapolates the state locally. The source periodically compares predicted and actual state and sends a correction if the prediction error exceeds a threshold.

It is efficient when motion follows the model, e.g. constant velocity. It becomes inefficient when the model is wrong (wheel slip, obstacles, wind, or an unexpected turn): corrections are then frequent and the extra local computation/sensing may outweigh the saved transmissions.

Exam answer structure

For every scenario, state: (1) the reporting rule, (2) the energy/accuracy trade-off, and (3) why the assumed motion/data pattern makes it suitable or unsuitable. Do not confuse “send fewer bytes” (compression) with “send fewer updates” (update protocol).

Sources

  • master-cs/raw/iot/4.1-IoT-Connected Data - UpdateProtocols.md
  • master-cs/raw/iot/Question Sheet Week 5.md
  • master-cs/raw/iot/2021 alte klausur.md