Computing distances of devices
View Patent ↗Methods, systems, and apparatus, including computer programs encoded on computer storage media, for ranking devices based on a distance from a merchant device. One of the methods includes displaying, in a point-of-sale system, a listing of buyers located proximate to the point-of-sale system, the buyers having indicated using their mobile devices a desire to pursue a financial transaction in association with the point-of-sale system. The point-of-sale system determines relative distances of the mobile devices of the buyers with respect to the point-of-sale system and arranges the displayed listing in the point-of-sale system based at least in part on the determined relative distances.
1. A computer-implemented method comprising:
identifying, by a device, mobile devices in proximity of the device;
determining, by the device, relative distances of the mobile devices from the device by:
identifying a location of a first mobile device from among the mobile devices;
determining a first distance between the device and the first mobile device based on the location of the first mobile device; and
measuring corresponding multi-directional signal strengths between the first mobile device and each additional mobile device, the corresponding multi-directional signal strengths including a first signal strength of a first signal emitted by the first mobile device and received by the corresponding additional mobile device in a first direction and a second signal strength of a second signal emitted by the corresponding additional mobile device and received by the first mobile device in a second direction that is different from the first direction;
determining a first candidate location and a second candidate location for each additional device based on the corresponding multi-directional signal strengths; and
determining a corresponding distance between the device and each additional mobile device based on a corresponding first candidate location and a corresponding second candidate location to yield the relative distances;
assigning a weight to each of the relative distances based on a measure of signal strength variability of a corresponding one of the multi-directional signal strengths to yield weighted relative distances; and
ranking the mobile devices based on the weighted relative distances to yield a ranked list of mobile devices.
2. The computer-implemented method of claim 1 , wherein determining the corresponding distance, for each additional mobile device, based on the corresponding first candidate location and the corresponding second candidate location comprises:
determining a first candidate distance between the device and the corresponding additional mobile device based on the corresponding first candidate location;
determining a second candidate distance between the device and the corresponding mobile device based on the corresponding second candidate location; and
determining a weighted average of the first candidate distance and the second candidate distance as the corresponding distance between the device and the corresponding additional mobile device.
3. The computer-implemented method of claim 1 , further comprising:
displaying the ranked list of mobile devices on a display of the device.
4. The computer-implemented method of claim 3 , further comprising:
servicing each of the mobile devices according to the ranked list of mobile devices.
5. The computer-implemented method of claim 4 , wherein
the device is a point of sale device, and
servicing comprises conducting a transaction with each of the mobile devices.
6. A device comprising:
memory having computer-readable instructions stored therein; and
one or more processors configured to execute the computer-readable instructions to:
identify nearby devices;
determine relative distances of the nearby devices from the device by:
identifying a location to a first nearby device from among the nearby devices;
determining a first distance between the device and the first nearby device based on the location of the first nearby device; and
measuring corresponding multi-directional signal strengths between the first nearby device and each additional nearby device, the corresponding multi-directional signal strengths including a first signal strength of a first signal emitted by the first nearby device and received by the corresponding additional nearby device in a first direction and a second signal strength of a second signal emitted by the corresponding additional nearby device and received by the first nearby device in a second direction that is different from the first direction;
determining a first candidate location and a second candidate location for each additional device based on the corresponding multi-directional signal strengths; and
determining a corresponding distance between the device and each additional mobile device based on a corresponding first candidate location and a corresponding second candidate location to yield the relative distances;
assign a weight to each of the relative distances based on a measure of signal strength variability of a corresponding one of the multi-directional signal strengths to yield weighted relative distances; and
rank the nearby devices based on the weighted relative distances to yield a ranked list of nearby devices.
7. The device of claim 6 , wherein the one or more processors are further configured to execute the computer-readable instructions to determine the corresponding distance, for each additional nearby device, based on the corresponding first candidate location and the corresponding second candidate location comprises:
determining a first candidate distance between the device and the corresponding additional nearby device based on the corresponding first candidate location;
determining a second candidate distance between the device and the corresponding nearby device based on the corresponding second candidate location; and
determining a weighted average of the first candidate distance and the second candidate distance as the corresponding distance between the device and the corresponding additional nearby device.
8. The device of claim 6 , wherein the one or more processors are further configured to execute the computer-readable instructions to display: the ranked list of nearby devices on a display of the device.
9. The device of claim 6 , wherein the one or more processors are further configured to execute the computer-readable instructions to service: each of the nearby devices according to the ranked list of nearby devices.
10. The device of claim 9 , wherein
the device is a point of sale device, and
servicing comprises conducting a transaction with each of the nearby devices.
11. A non-transitory computer-readable medium comprising computer-readable instructions stored thereon, which when executed by one or more processors of a first device, configure the first device to:
determine a location of a second device;
determine a distance of the second device from the first device based on the location of the second device;
determine at least two possible locations of a third device from the first device based on the location of the second device and multi-directional signal strengths between the second device and the third device, the multi-directional signal strengths including a first signal strength of a first signal emitted by the second device and received by the third device in a first direction and a second signal strength of a second signal emitted by the third device and received by the second device in a second direction that is different from the first direction;
determine a distance of the third device from the first device based on the at least two possible locations of the third device;
assign a weight to each of the relative distances based on a measure of signal strength variability of a corresponding one of the multi-directional signal strengths to yield weighted relative distances; and
rank the second device and third device based on the weighted distances of the second device and the third device from the first device.
12. The non-transitory computer-readable medium of claim 11 , wherein execution of the computer-readable instructions by the one or more processors, further configure first device to determine the distance of the third device from the first device by:
determining a first candidate distance of the third device from the first device based on a first possible location of the at least two possible locations;
determining a second candidate distance of the third device from the first device based on a second possible location of the at least two possible locations; and
determining a weighted average of a first candidate distance and the second candidate distance as the distance of the third device from the first device.
13. The non-transitory computer-readable medium of claim 11 , wherein the first device is a point of sale device and each of the second device and the third device is a customer device configured to enable conducting a transaction between a merchant associated with the point of sale device and a respective customer associated with each of the second device and the third device.
14. The non-transitory computer-readable medium of claim 13 , wherein execution of the computer-readable instructions by the one or more processors, further configure first device to display the second device and the third device on a display associated with the point of sale device.
15. The non-transitory computer-readable medium of claim 14 , wherein execution of the computer-readable instructions by the one or more processors, further configure first device to:
receive an indication that the customer associated with the second device has completed a purchase at the point of sale device; and
rearrange the displayed of the second device and the third device to eliminate the second device from being displayed on the display associated with the point of sale device.