On-device mapping of WIFI hotspots via direct connection of WIFI-enabled and GPS-enabled mobile devices
First Claim
1. A mobile user device comprising:
- a processor;
local storage accessible to the processor and processor operations;
a system interconnect;
a global positioning system (GPS) receiver coupled to the system interconnect that records a current GPS location of the mobile device;
a wireless transceiver coupled to the system interconnect and which is capable of detecting hotspots, supporting wireless connection to the hotspots, and receiving operating characteristics and performance metrics of the hotspots; and
a locally-executed hotspot locating (LHSL) utility executing on the processor and which comprises program code that when executed by the processor performs the functions of;
responsive to a detection of a wireless hotspot by the wireless transceiver, identifying a current GPS coordinate of the computer device;
linking the current GPS coordinate with an identifier (ID) of the detected wireless hotspot; and
automatically updating a locally-stored hotspot location database (LHLD) stored on the local storage with an entry corresponding to the detected hotspot and linked GPS coordinate;
automatically initiating a connection to a wireless access point associated with the detected hotspot, wherein said code that provides the function of updating the LHLD comprises code for;
storing the operating parameters and performance metrics within the entry for the hotspot; and
providing said operating parameters and performance metrics to a user when said user later requests a listing of hotspots that that results in an output the entry; and
dynamically retrieving information about the hotspot during the connection, said information comprising operating characteristics and performance metrics of the hotspot and associated service from among;
name/identification (ID) of the hotspot;
name of the hotspot service provider/vendor;
cost associated with accessing the hotspot;
availability of the hotspot, including general total uptime and periods of availability for access;
bandwidth of the wireless link to the hotspot;
estimated bandwidth of the link from the hotspot to the background network;
average time to establish a connection to the hotspot, guaranteed minimum download speed and minimum upload speed;
maximum, minimum and average latency added by the hotspot link;
accessibility range of the hotspot;
wireless signal attenuation characteristics exhibited by the hotspot;
overall quality of service (QoS) of the hotspot, determined utilizing parameters that define the quality, strength, and usability of the hotspot;
overall historical and current user rating of the hotspot,wherein said code that provides the function of dynamically retrieving comprises code for;
accessing the hotspot;
transmitting one or more test packets to a backend network connected to an access device of the hotspot, said test packets causing a return packet to be generated by one or more hosts within the backend network and transmitted back to the device; and
determining operating characteristics and performance metrics of the hotspot and associated service based on the connection to the hotspot and the transmission and return of the test packets;
measuring the round-trip time for the test packets to return to determine network latency over the hotspot connection;
mapping bandwidth measurements, both peak and sustained, for the hotspot;
storing said network latency and bandwidth measurements within the hotspot entry;
comparing round-trip times of the detected hotspot against other round-trip times obtained for other hotspots in the geographical area to gauge relative performance; and
providing said latency, said relative performance and said bandwidth to a user when said user later requests a listing of hotspots that results in an output of the entry;
when the detected hotspot is previously identified within an existing entry of the LHLD;
updating only the operating parameters and performance metrics of the existing entry whereby duplicate entries are avoided and the existing entry contains updated and current information; and
storing within the existing entry a time of a last update, wherein each entry is assigned a entry creation time and a most current update time that is adjusted as updates to the existing entry occur;
receiving a request for one or more hotspots within a particular geographic location;
determining which acceptable entries of the multiple entries within the HLD have a geographic location in proximity to the particular geographic location;
identifying those entries having proximate geographical locations as acceptable entries;
providing an output of the acceptable entries to the user;
when said request includes user-preferences for operating characteristics and performance metrics associated with the acceptable hotspot;
comparing the user preferred operating characteristics and performance metrics to the stored operating characteristics and performance metrics for each of the entries deemed acceptable based on their proximity to the specific geographical location; and
presenting for output only those entries that are both proximate to the specific geographic location and exhibit similar operating characteristics and performance metrics as the user-preferences, wherein when no entry that is proximate to the specific geographic location also exhibits similar operating characteristics and performance metrics, said code comprises code for displaying a result that indicates that no entries proximate to the specific geographic location exhibits the user-preferences;
displaying a user interface within which a user may enter said request, said user interface being displayed locally on the device, wherein said receiving of the request occurs when the user enters and submits the request within the user interface, and wherein said providing displays said output via a graphical display associated with said user interface, and wherein for each returned acceptable entry, the output comprises one or more of;
hotspot and service identification information;
usage terms for the hotspot;
system requirements for accessing the hotspot;
known performance metrics a and operating characteristics of the hotspot;
street address;
driving directions from an origination point entered by the user within the request; and
, when graphics output is support by the user interface, a map of the location of the hotspot;
a mechanism for generating and transmitting HOTs (hotspot operability transmissions) including corresponding GPS locations to a remote Provider;
a mechanism for establishing communication with a second device; and
wherein the wireless receiver receives operating characteristics and performance metrics of the hotspots when wireless connectivity is established by the LHSL utility,wherein said LHSL utility further comprises code that when executed performs the functions of;
when the second device includes stored hotspot location data;
establishing a connection to communicate with the second device;
ascertaining that the hotspot location data on the second device is stored in a supported format for sharing;
updating the device'"'"'s LHLD with hotspot location data from the second device that is more recent than the hotspot data currently stored within the device'"'"'s LHLD; and
tagging the hotspot location data received from the second device as originating from the second device;
when the second device is a peer device, dynamically establishing said connection as a peer-to-peer connection; and
when a share option is turned on within the device, automatically sharing the device'"'"'s LHLD with the second device.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
1 Claim
-
1. A mobile user device comprising:
-
a processor; local storage accessible to the processor and processor operations; a system interconnect; a global positioning system (GPS) receiver coupled to the system interconnect that records a current GPS location of the mobile device; a wireless transceiver coupled to the system interconnect and which is capable of detecting hotspots, supporting wireless connection to the hotspots, and receiving operating characteristics and performance metrics of the hotspots; and a locally-executed hotspot locating (LHSL) utility executing on the processor and which comprises program code that when executed by the processor performs the functions of; responsive to a detection of a wireless hotspot by the wireless transceiver, identifying a current GPS coordinate of the computer device; linking the current GPS coordinate with an identifier (ID) of the detected wireless hotspot; and automatically updating a locally-stored hotspot location database (LHLD) stored on the local storage with an entry corresponding to the detected hotspot and linked GPS coordinate; automatically initiating a connection to a wireless access point associated with the detected hotspot, wherein said code that provides the function of updating the LHLD comprises code for;
storing the operating parameters and performance metrics within the entry for the hotspot; and
providing said operating parameters and performance metrics to a user when said user later requests a listing of hotspots that that results in an output the entry; anddynamically retrieving information about the hotspot during the connection, said information comprising operating characteristics and performance metrics of the hotspot and associated service from among;
name/identification (ID) of the hotspot;
name of the hotspot service provider/vendor;
cost associated with accessing the hotspot;
availability of the hotspot, including general total uptime and periods of availability for access;
bandwidth of the wireless link to the hotspot;
estimated bandwidth of the link from the hotspot to the background network;
average time to establish a connection to the hotspot, guaranteed minimum download speed and minimum upload speed;
maximum, minimum and average latency added by the hotspot link;
accessibility range of the hotspot;
wireless signal attenuation characteristics exhibited by the hotspot;
overall quality of service (QoS) of the hotspot, determined utilizing parameters that define the quality, strength, and usability of the hotspot;
overall historical and current user rating of the hotspot,wherein said code that provides the function of dynamically retrieving comprises code for;
accessing the hotspot;
transmitting one or more test packets to a backend network connected to an access device of the hotspot, said test packets causing a return packet to be generated by one or more hosts within the backend network and transmitted back to the device; and
determining operating characteristics and performance metrics of the hotspot and associated service based on the connection to the hotspot and the transmission and return of the test packets;measuring the round-trip time for the test packets to return to determine network latency over the hotspot connection; mapping bandwidth measurements, both peak and sustained, for the hotspot; storing said network latency and bandwidth measurements within the hotspot entry; comparing round-trip times of the detected hotspot against other round-trip times obtained for other hotspots in the geographical area to gauge relative performance; and providing said latency, said relative performance and said bandwidth to a user when said user later requests a listing of hotspots that results in an output of the entry; when the detected hotspot is previously identified within an existing entry of the LHLD; updating only the operating parameters and performance metrics of the existing entry whereby duplicate entries are avoided and the existing entry contains updated and current information; and storing within the existing entry a time of a last update, wherein each entry is assigned a entry creation time and a most current update time that is adjusted as updates to the existing entry occur; receiving a request for one or more hotspots within a particular geographic location; determining which acceptable entries of the multiple entries within the HLD have a geographic location in proximity to the particular geographic location; identifying those entries having proximate geographical locations as acceptable entries; providing an output of the acceptable entries to the user; when said request includes user-preferences for operating characteristics and performance metrics associated with the acceptable hotspot;
comparing the user preferred operating characteristics and performance metrics to the stored operating characteristics and performance metrics for each of the entries deemed acceptable based on their proximity to the specific geographical location; and
presenting for output only those entries that are both proximate to the specific geographic location and exhibit similar operating characteristics and performance metrics as the user-preferences, wherein when no entry that is proximate to the specific geographic location also exhibits similar operating characteristics and performance metrics, said code comprises code for displaying a result that indicates that no entries proximate to the specific geographic location exhibits the user-preferences;displaying a user interface within which a user may enter said request, said user interface being displayed locally on the device, wherein said receiving of the request occurs when the user enters and submits the request within the user interface, and wherein said providing displays said output via a graphical display associated with said user interface, and wherein for each returned acceptable entry, the output comprises one or more of;
hotspot and service identification information;
usage terms for the hotspot;
system requirements for accessing the hotspot;
known performance metrics a and operating characteristics of the hotspot;
street address;
driving directions from an origination point entered by the user within the request; and
, when graphics output is support by the user interface, a map of the location of the hotspot;a mechanism for generating and transmitting HOTs (hotspot operability transmissions) including corresponding GPS locations to a remote Provider; a mechanism for establishing communication with a second device; and wherein the wireless receiver receives operating characteristics and performance metrics of the hotspots when wireless connectivity is established by the LHSL utility, wherein said LHSL utility further comprises code that when executed performs the functions of; when the second device includes stored hotspot location data; establishing a connection to communicate with the second device; ascertaining that the hotspot location data on the second device is stored in a supported format for sharing; updating the device'"'"'s LHLD with hotspot location data from the second device that is more recent than the hotspot data currently stored within the device'"'"'s LHLD; and tagging the hotspot location data received from the second device as originating from the second device; when the second device is a peer device, dynamically establishing said connection as a peer-to-peer connection; and when a share option is turned on within the device, automatically sharing the device'"'"'s LHLD with the second device.
-
Specification