Connecting to Multiple UWB Phones and Synchronization

I’m experimenting with making a positioning system using the UWB (rock-shape) beacons as anchors to trilaterate the locations of UWB-compatible iPhones. Since multiple phones cannot simultaneously connect to the same beacon, I’ve been thinking about possible synchronization algorithms to facilitate concurrent tracking of multiple devices. As a very preliminary first step, I’ve set the following protocol for one phone:

  1. wait for didDiscover() event, which calls uwbManager?.connect(to: beacon_id)
  2. didConnect() event happens
  3. didUpdatePosition() event happens, at which point I process the relevant data and then call uwbManager?.disconnect(from: beacon_id)

This protocol repeats, but the time delay between disconnecting and reconnecting is ~1sec long, which is too long for my needs. It also seems to me that this delay would be the lower bound, as the beacon I’m connecting to is always discoverable; if there were multiple phones competing, the delay would presumably be longer.

I’m curious if there’s any way to speed up this process. It seems like the bottleneck is in the BLE discovery, but I’m not sure if there’s a way around this. Has anyone found any clever, quick synchronization algorithms? Or alternatively, are there other Estimote devices that would be better suited for handling multiple devices in real time?