The application that I am building calculates the total distance a device moves in a particular day. There are two approaches that I am considering:
Poll for x/y location for all devices - I poll all the tracked clients and extract x/y coordinates and calculate distance from previous x/y location
Pro: Scales well
Con: Inaccurate if device moves multiple times between polling periods
Configure notifications - I configure CMX to send a notification every time the device moves 5mtrs and simply add up the notifications
Pro: Minimal data transfers if the there are few devices and/or they don't move often
Con: Scale could be a problem if the device moves often or there are lots of them
Are there any numbers on how many notifications a CMX can successfully send a second ? This may help with the decision.
If anyone has any ideas on the best way to solve this problem, please let me know.
Another option would be to get client history for each device seen on a given day on a floor or zone. This would be the most convenient method since would require one query to receive all mac addresses, then one query per mac address for movements detected.
Regarding scaling for large numbers, the northbound notification subscription provides the best way to get massive amounts of data from CMX, by subscribing to notifications that occur whenever CMX calculates a new location. I will see if I can find specs on northbound notification maximum send rates.
Thanks for the questions,
I couldn't find a maximum send rate for CMX northbound notification, however most likely dependent on the server's configuration, e.g., high-end vMSE installation. Also, there is no way to throttle the Northbound notifications as such. You get notified as soon as the event is processed in CMX, we can’t send it in batches. If you go for Movement Notification trigger, you can try to limit the number of notifications by having a higher ‘distance’ value in the trigger subscription.