High Level (Enterprise) Networking Question


#1

I know from reading some posts that Particle isn’t ready for large enterprise deployment yet. However, I could use some help in understanding how this might work when it is finally ready.

I ultimately want to connect say 1000 Xenon endpoints (or apparently really repeaters as there is currently no support to make them endpoints) to the cloud via Boron gateways. From what I’ve read I believe that one Boron gateway can (only) directly connect to maybe 5 Xenon repeaters, which in turn can each support 10 Xenon endpoint nodes, or 50 in total. So one Boron would be indirectly connecting to about 50 Xenon repeaters.

So if I needed 1000 endpoint (really repeater) nodes, I would need 20 Boron gateways. These 1000 endpoints would be in an area maybe 1000-2000 feet end to end. In fact how does this work as far as connecting 100s of Xenons in a mesh to Borons. Does a Xenon sense another Xenon or a Boron and then request connection to the network? Given enough Borons is it guaranteed that all 1000 will be able ultimately to connect to some Boron gateway and therefore able to be accessed to both send and receive data? Can Particle Mesh handle a system like this?

I guess I don’t fully understand how a large enterprise system would work, so feel free to share any thoughts to clarify the situation.


#2

A 1000 node mesh network is theoretically possible in Thread Mesh, but I’m pretty sure it won’t be possible to do that with a Particle gateway any time soon. There are two issues that will cause problems at that scale:

  • The size of the routing table for that many nodes will likely exceed the available RAM on the repeaters.

  • The gateway won’t have enough capacity to handle that many nodes.

Each Xenon node or repeater establishes its own cloud connection. The gateway just acts as an IPv6 to IPv4 router to route the independent cloud connections. In the worst case scenario of cold booting all 1000 nodes for the first time, each of them is going to have to exchange around 5K of data with the cloud.

The problem is that the Boron only has about 5 Kbytes per second of bandwidth over cellular, so at best it would take 16 minutes to transfer that much data. However, because they’re unsynchronized, it’s likely that they would all keep failing to receive enough packets to handshake and none would ever got online.


#3

Also to add to @rickkas7 excellent comments, the mesh raw bandwidth is 250Kbs so mesh topology and traffic considerations are crucial. In such a large mesh, it would be best to have designated repeater nodes which can pre-process endpoint data to reduce traffic. Add to that the need for redundant or concurrent gateways to reduce manage outgoing aggregated data.

At this point in time, I don’t believe the Particle Mesh is the best platform for your requirement. In fact, I’m not sure what’s available on the (maker) market to implement the 1000 node mesh as you describe it.


#4

Just to better understand the concept, let’s ignore cost and say all 1000 nodes are Borons, so they independently use their LTE modem to connect to the cloud and then to my server. So using my server I can talk to each node to send data and receive data. So if I receive some data from Boron#83, I can then send that data to Boron#602, or perhaps to all 1000 nodes. Or would this overload the cell network. If not, then other than cost issues, why would you need a mesh, especially as you say, it wouldn’t work anyway.


#5

While it can be used for other things, mesh is intended for small networks in close range. For example: A piece of machinery that has a Boron with a cellular connection, but has 5 additional wireless sensors based on the Xenon. The sensors Xenons and much less expensive, have no monthly fee, and can easily share a single cellular connection.