In a server system, a computer-implemented method of initiating a proximity-based communication protocol involving a first and one or more second client devices, the method comprising: (a) identifying one or more potential second devices from a plurality of available second devices, the available second devices having previously activated respective protocol initiation means for the protocol at respective points in time, (b) retrieving for the first device and each of the candidate second devices respective location coordinates and calculating for each of the retrieved location coordinates an axis aligned bounding box AABB, (c) calculating for the AABB associated with each of the candidate second devices an overlap with the AABB of the first device, where • for the first device the AABB is calculated covering a circle having the retrieved location coordinates of the first device as its centre and an estimate of the measurement uncertainty of the location measurement and a predetermined maximum distance as its radius, and • for each second device the AABB is calculated covering a circle having the retrieved location coordinates of the second device as its centre and an estimate of the measurement uncertainty of the location measurement as its radius, (d) selecting a subset of the candidate second devices as those candidate second devices whose AABB overlap with the AABB of the first device, and communicating the subset to the first device, (e) receiving a selection of one or more candidate second devices from the subset from the first device and causing the protocol to be initiated between the first device and the one or more selected candidate second devices. (a) identifying one or more potential second devices from a plurality of available second devices, the available second devices having previously activated respective protocol initiation means for the protocol at respective points in time, (b) retrieving for the first device and each of the candidate second devices respective location coordinates and calculating for each of the retrieved location coordinates an axis aligned bounding box AABB, (c) calculating for the AABB associated with each of the candidate second devices an overlap with the AABB of the first device, where • for the first device the AABB is calculated covering a circle having the retrieved location coordinates of the first device as its centre and an estimate of the measurement uncertainty of the location measurement and a predetermined maximum distance as its radius, and • for each second device the AABB is calculated covering a circle having the retrieved location coordinates of the second device as its centre and an estimate of the measurement uncertainty of the location measurement as its radius, • for the first device the AABB is calculated covering a circle having the retrieved location coordinates of the first device as its centre and an estimate of the measurement uncertainty of the location measurement and a predetermined maximum distance as its radius, and • for each second device the AABB is calculated covering a circle having the retrieved location coordinates of the second device as its centre and an estimate of the measurement uncertainty of the location measurement as its radius, (d) selecting a subset of the candidate second devices as those candidate second devices whose AABB overlap with the AABB of the first device, and communicating the subset to the first device, (e) receiving a selection of one or more candidate second devices from the subset from the first device and causing the protocol to be initiated between the first device and the one or more selected candidate second devices.