Request delivery modes
Device Management ensures command delivery to all devices, including low-bandwidth devices that may be available only occasionally, independent of the connectivity technology you use, using a queuing mechanism.
When an application or user issues a command:
- For active mode devices, Device Management attempts to deliver the command immediately. If the device is not available, Device Management places the command in a queue.
- For queue mode devices, Device Management places the message in a queue and attempts to deliver it when the device sends a registration update to Device Management.
For information about sending requests to devices and collecting data from devices, please see Collecting data from devices.
Tip: With a commercial account, you can queue up to 20 commands per device. See Choosing your account type for more information about the other benefits of commercial accounts and how to upgrade a free account to a commercial account.
Guaranteed delivery to a queue mode device
In queue mode (UDP_QUEUE mode), a device tells the service not to call. For devices in this mode, Device Management attempts to deliver queued messages only when the device wakes up and registers to Device Management.
- A queue mode device registers to Device Management.
- The web application requests Device Management send a read command to the device.
- Device Management queues the command and responds with
202 Accepted
. - The device wakes up and connects to Device Management.
- Device Management looks for queued commands for the device and makes the first delivery attempt.
- The device receives and processes the first command and provides a response.
- Device Management sends an AsyncIDResponse event to the web application.
- If the queue contains additional commands, Device Management tries to send the next command. If the device does not respond, Device Management assumes the device went back to sleep and waits for the device to reconnect.
Guaranteed delivery to an active mode device
For active mode devices (TCP mode), Device Management attempts to deliver a command to the device immediately:
- An active mode device registers and is assumed to be connected.
- The web application requests Device Management send a read command to the device.
- Device Management queues the command and responds with
202 Accepted
. - Device Management tries to deliver the command immediately to the device but discovers the device is not connected. If there is no response from the device within the set time, the delivery attempt stops. The command stays in the queue as the first item to be sent. Any subsequent requests from the web application are also added to the back of the queue for delivery.
- The device reconnects to Device Management.
- Device Management discovers queued commands and attempts to deliver the first command at the head of the queue.
- The device receives the command and provides a response.
- Device Management sends an AsyncIDResponse event to the web application.
- If the queue contains additional commands, Device Management tries to send the next command. If the device does not respond, Device Management assumes the device went back to sleep and waits for the device to reconnect.