BOTA Bulk-Over-The-Air service

Table of contents Table of contents

This page contains documentation of the BOTA Bulk-Over-The-Air service and its C API library.

Introduction

The BOTA Bulk-Over-The-Air service is a UDP based service running over the embeNET wireless communication protocol. The BOTA service is used to transfer large amounts of data (bulk data) from the border router (Sender) to possibly multiple remote nodes (Recipients). It is based on the embeNET wireless network and uses UDP transport mechanism. The diagram below presents the overall software architecture:

The bulk data to be transferred is stored in some sort of memory (bulk memory). The BOTA protocol instance in the border router (BOTA Sender) is given read access to this memory. It is also provided with additional operational memory for storing transfer-related information, called transfer space. The BOTA user (application) is responsible for providing both bulk memory and transfer space. Once the transfer is started, the BOTA Sender instance communicates with the BOTA protocol instances in nodes (BOTA Recipient) through the embeNET wireless network using UDP transport protocol. The BOTA Recipient is given read and write access to the bulk memory, where it stores the received bulk data.

Functionality of BOTA

Bulk transfer to multiple remote nodes

The main responsibility of the BOTA protocol is to transfer large amounts of data from the border router to the nodes in such a way that the remote nodes receive a complete set of data that they can check for integrity.

Parallel transfer to multiple nodes

The BOTA protocol leverages the capability of the embeNET wireless network to handle multicast traffic to speed up the transfer process. Thanks to this the packet load necessary to handle the transfer is greatly reduced compared to unicast traffic.

Recipient call out and transfer acceptance

The BOTA protocol uses a call out mechanism to determine the recipients of the transfer that are capable of receiving the bulk data. Each called out node can accept or reject the transfer. Only nodes that accept the transfer are taken into further consideration during the actual data transmission.

Automatic detection and removal of unreachable nodes

The BOTA protocol implements the mechanism to detect unreachable nodes and remove them from the transfer process, since such nodes block the transfer to other nodes.

Continuous status monitoring

The BOTA protocol allows continuous monitoring of the bulk transfer to each node.

BOTA Tutorial

The following sections constitute a simple tutorial on how to use BOTA:

BOTA C API library

This provided C API library has two separate components: