Lightweight System Keep Alive

I started integrating my hardware with the cloud these past few days while using a 3rd party SIM and I was quickly introduced to the keep-alive issues.

After some forum and doc reading, I figured that I would either use a shorter system keep-alive or add some periodic Particle.publish. Although this solved my immediate problem it still incurs in a data usage penalty.

So, my question is: Is it possible to add a system barebone datagram that only ensures that forwarding from network remains active if using 3rd party SIMs while also having the usual 23 minutes or so particle full 122 bytes to keep the cloud information up to date? Or maybe have a “best effort” intermediary keep alive that dosen’t require ACK.

The only way is to use the system keep-alive. The reason is that keep-alive is per-outbound port, and the only way to keep it alive is to send data on it, and only the system can send data on the cloud connection port, for obvious reasons.

The 23 minute keep-alive is a special agreement between the mobile carriers and Particle. With a 3rd-party SIM you’re at the carrier’s mercy, and it can be as low as 30 seconds.

1 Like

Hi @rickkas7, thanks for your answer! I completely understand the reasoning behind it and you definitely don’t wanna other ppl poking the cloud port :grin:

I was just wondering if the addition of a lighter version of the current system keep-alive would be possible. Even having an alternative keep-alive with no ACK (best effort) could potentially half the data consumption while keeping the device available.

Only requiring a keep Alive ping every 23 mins saves tons of data over other cellular providers with much shorter Ping windows to keep alive which adds up quick based on the math I’ve done in the past.

1 Like

Considering the eSIM using Particle I totally agree, I read the document regarding the transition from TCP to UDP using CoAp and the savings and the overall solution is great!

My request would be more focused on the cases where a 3rd part SIM is used, for example where a partner carrier is not present or 2G/3G is being phased-out.

There is no way to do a NO_ACK keep-alive on the cloud connection because the response is used to determine that the connection is still alive. Without it, you would keep breathing cyan forever without the ability to receive data from the cloud.

I understand your point. Using a 3rd party SIM here I had exactly that scenario until I read about the shorter keep-alive need with other providers.

I’m still running some tests on my side and I’ll have more data to thing about it!

Thanks @rickkas7!

On a side note, what do you guys know about T-Mobile’s reducing the 3G coverage next year and forward? As far as US goes is there another 3G providers other than T-Mobile?

Live testing 30 second keep alive with 3rd party sim available in Scandinavia, even including the drastically increased amount of data, pricing was about the same (a bit lower) compared to Particle sim with the long keep alive period.