Firmware Update Service
(FUS) –
сервис обновления программного обеспечения (Firmware) для устройств
Интернета вещей (IoT), является
IRC сервисом, и предназначен
для замены встроенного в IoT
устройства программного обеспечения на новые его версии, либо на старые
версии, но позволявшие удачно пройти процесс загрузки. Сервис содержит
встроенный реестр устройств, и подходящее для обновления программное
обеспечение, либо унифицированные ссылки на такое программное
обеспечение и техническую информацию о способе сетевого доступа.
При появлении новых версий программного обеспечения сервис публично
объявляет об этом на соответствующих
IRC каналах, либо через
приватные IRC сообщения
при специальной подписке. Устройство подключенное к сети
IRC-IoT,
либо представляющий его IRC робот,
согласует возможность обновления устройства, производит скачивание образа
программного обеспечения с использованием протокола
IRC-IoT,
либо получив ссылку через другие каналы связи, верифицирует полученный образ
используя криптографическую подсистему
IRC-IoT, и
самостоятельно, если это заложил производитель IoT
устройства, при помощи подписи заданной в предыдущей версии прошивки, либо в микросхемах
постоянной памяти (ROM), в том числе, внутри
SoC чипов. Затем устройство самостоятельно
обновляет свое программное обеспечение в микросхемах
Flash (EEPROM) и
на жестких дисках, при необходимости перезагружается, а о факте удачного обновления
сообщает сервису обновления. В свою очередь, сервис ведёт фактический реестр удачно
и неудачно обновлённых версий программного обеспечения. Эту информацию могут
использовать другие устройства для своего обновления, в частности, при одновременном
переходе на новую версию собственных протоколов. В любом
IRC-IoT
роботе может быть реализованы функции
FUS, однако их использование не
регламентируется и определяется интеграторами
IoT сети.
сообщение с Object Type = fusnfo (Firmware Update Service Information)
сообщение с Object Type = fusqry (Firmware Update Service Query)
сообщение с Object Type = fusreq (Firmware Update Service Request)
сообщение с Object Type = fusack (Firmware Update Service Acknowledgment)
сообщение с Object Type = fuspck (Firmware Update Service Package)