A WIFI-enabled and GPS-enabled user device executes a hotspot location
utility, which enables the device to detect WIFI hotspots and update a
locally-stored hotspot location database (LHLD) containing
geographically-mapped hotspots. When a hotspot is detected, the device
accesses the hotspot, retrieves identification information and usage
terms from the hotspot, and measures performance metrics of the hotspot.
The utility stores the identified hotspot with the current GPS coordinate
as an entry within the LHLD. When a user later desires to locate hotspots
within a particular geographic location, the user enters the physical
address of the location, and hotspots with matching (or proximate) GPS
coordinates of the entered address are presented to the user. The user
may specify certain preferences for usage terms, performance metrics, and
location criteria, and the utility filters all geographic hits and
returns only hotspots in the geographic location that also satisfy these
preferences.