Multicast Session Overlap Avoidance
When starting a new campaign, it is important to avoid multiple campaigns overlapping their multicast session times on the same gateway. As of FUOTA v3.1.5, the server prevents overlapping multicast sessions on the same gateway. This guide explains why overlap is a problem and how the server resolves it depending on how the campaign was configured.
Before You Begin
You need:
- Familiarity with creating campaigns and device groups. See Quick Start Guide.
- An understanding of the
multicast_setup_timeparameter. See Choosing Multicast Setup Time. $MQ_TOKENexported from the authentication step. See Quick Start Guide.
Why Overlap Is a Problem
If two campaigns overlap their multicast sessions on the same gateway, the result is usually:
- The gateway gets overwhelmed by the traffic.
- Because it is overwhelmed, the gateway may drop some downlinks.
- Because of the lost downlinks, one or both campaigns could fail.
How It Works
When a campaign starts, its multicast session start/stop times are saved and treated as a reserved time on each of its gateways that no other campaign can use.
When another campaign is created, it first checks that its multicast session time does not overlap any existing reserved times on the gateways it wants to use.
What happens next depends on whether the new campaign's start time and gateways were set manually or automatically.
Case 1: Gateways and Start Time Manually Set
If you manually set the multicast_setup_time and the gateways field is set in the device group, the server cannot prevent the overlap. Starting the campaign fails, and the campaign permanently enters the ERROR_SETTING_UP stage.
Case 2: Gateways Manually Set, Start Time Set Automatically
If the gateways field is set manually but you leave multicast_setup_time to be set automatically, the start time can be automatically adjusted to avoid overlaps by finding a free time slot for the given gateways within the next 24 hours.
Note: The
gatewaysfield comes from the device group. Specifying a value forgatewaysdirectly in the create campaign request is not allowed.
For example, with a single gateway, a new campaign that would initially overlap is pushed back to the first non-overlapping slot the server can find. With multiple gateways, the same time shift applies but must avoid preexisting campaigns on all the gateways.
Warning: There is a limit to how far the server can push a campaign's
multicast_setup_time. If it cannot find a non-overlapping start time less than 24 hours from the original start time, the campaign fails to start and goes into theERROR_SETTING_UPstage.
Case 3: Start Time Manually Set, Gateways Set Automatically
If multicast_setup_time is set manually and the gateways field is left empty for automatic gateway selection, the server cannot shift the time but can remove gateways with overlapping campaigns. Gateways with overlapping campaigns are filtered out of the new campaign's gateway list, allowing it to start at the set time.
Warning: If removing all overlapping gateways would mean removing all the automatically selected gateways, the campaign cannot start and goes into the
ERROR_SETTING_UPstage.
Case 4: Both Start Time and Gateways Set Automatically
If both the start time and the gateways are left automatic, the server combines time shifting and gateway filtering. It prefers to adjust the start time over filtering out gateways. When removing a gateway is unavoidable, it removes the gateway with the least free time (the one with the most time taken by preexisting campaigns).
What's Next?
- Choosing Multicast Setup Time: Learn how the setup time interacts with overlap avoidance.
- Gateway Selection: See how gateways are chosen automatically and manually.
- Managed Campaigns: Schedule recurring campaigns that avoid session overlap.