Patent Publication Number: US-10779257-B1

Title: System and method for determining geolocation of wireless access point or wireless device

Description:
FIELD OF THE INVENTION 
     This disclosure relates to wireless network devices and in particular to location based services on wireless network devices. 
     BACKGROUND OF THE INVENTION 
     Some devices involved in a wireless network lack the hardware needed to find their location, e.g., most commercial WiFi access points lack GPS receivers, or even the ability to store manually specified geolocation coordinates. As a result, a device with WiFi networking capability cannot currently retrieve location information from a WiFi access point. 
     Most devices that need to know their location contain a GPS receiver and supporting software. The GPS hardware and software add to the cost of the device, and successfully establish a current location only if the GPS receiver can successfully receive the numerous satellite signals needed to establish a location fix. Other devices support manual specification of the device&#39;s geolocation coordinates. A limited number of mobile devices establish a current location fix using technologies other than GPS, e.g., dead reckoning from a known location, or establishing a connection to a WiFi access point whose location appears in a location database. 
     Devices that could benefit from knowing their own geolocation lack the ability. Applications, such as migratable agent applications, which may be running on a different device and which may be dependent on knowing their own location don&#39;t work when migrated because the device is ignorant of its location. Identifying a WiFi access point&#39;s location based on a database query provides an accurate location only when the access point has been entered into the database and hasn&#39;t moved since the last database update. Accessing the database requires either substantial on-device storage, or access to the Internet. 
     What is required is an improved system and method for determining locations of wireless devices and/or wireless access points. 
     SUMMARY OF THE INVENTION 
     In one aspect of the disclosure, there is provided a method for determining location. Geolocation information may be received into a wireless network device from one or more location aware transient data sources. The wireless network device may process geolocation records pertaining to the geolocation information to determine a geolocation, for example of the wireless network device. 
     In one aspect of the disclosure, there is provided a wireless access point configured to provide wireless network access to one or more wireless devices comprising one or more transient data sources and one or more transient data clients. The wireless access point comprises a location history manager configured to receive geolocation information from at least one transient data sources and store one or more geolocation records pertaining to the received geolocation information. 
     In one aspect of the disclosure, there is provided a method for determining the location of a wireless device. Initially, the wireless device accesses an access point and requests one or more geolocation records from the access point. The wireless device processes the geolocation records to calculate a geolocation of the wireless device. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Reference will now be made, by way of example only, to specific embodiments and to the accompanying drawings in which: 
         FIG. 1  schematically represents devices within a wireless network; 
         FIG. 2  depicts a method for determining geolocation of a device of the network; and 
         FIG. 3  depicts a method for determining a geolocation of a wireless device using geolocation information provided from an access point. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     In  FIG. 1 , there is shown a network device  12  that is able to communicate with one or more other wireless network devices  14 ,  16 . In one embodiment, the network device  12  may be a wireless access point that provides network access to the wireless network devices  14 ,  16  when the wireless network devices  14 ,  16  are “nearby”. Thus the wireless devices  14 ,  16  may be considered to be transient clients of the network device  12 . While the network device  12  will be referred to herein as an access point, other arrangements, such as peer-to-peer arrangements will be apparent to a person skilled in the art. 
     In the foregoing description, the wireless network devices  14  will be considered to be location aware devices, e.g. by virtue of an in-built GPS capability, a tracking capability, or other location aware mechanism. The specific mechanism by which the devices  14  are location aware is not considered to be pertinent to the present disclosure. The wireless network devices  14  will be referred to herein as transient data sources, that is, they provide a source of data to the network device  12 . The wireless devices  16  will be considered to be location unaware devices and will be referred to herein as transient data clients, that is, they receive data from the network device  12 . In embodiments of the invention, the transient data source  14  and/or the transient data client  16  may include one or more of a cellular telephone handset, a laptop or handheld computer, or similar devices with WiFi and with or without GPS capabilities. 
     A method for determining location is depicted in the flowchart  100  of  FIG. 2 . At step  101 , the access point  12  receives geolocation information from location aware transient data sources  14 . At step  102 , the access point  12  stores geolocation records pertaining to the geolocation information. At step  103 , the geolocation records are processed, e.g. by the access point  12  or by a transient data client  16  to which the geolocation records have been provided, in order to determine a geolocation of the respective device. 
     As shown in the flowchart  200  of  FIG. 3 , a wireless device such as a transient data client  16  may access the access point  12  (step  201 ) to request geolocation records (step  202 ). At step  203 , the transient data client  16  processes the geolocation records to determine the geolocation of the transient data client  16 . 
     The network device  12  records geolocation information from location-aware devices that are occasionally “nearby” and is able to store and retrieve a history of such geolocation information. In addition to providing the geolocation record history, the network device  12  may also provide a collection of services that use the geolocation history to produce location-related information upon request from a “nearby” device. 
     As shown in  FIG. 1 , the access point  12  is able to support a web browser  17  and includes a location history manager service  13  that can be invoked by sending a URL to the Web browser  17 . The location history manager  13  is configured to store data pertaining to geolocation information in a geolocation record and to write the record to storage  15 . The storage  15  may be provided within the access point  12 , or alternatively, the storage  15  may be provided remotely from the access point  12  and be accessible by the access point  12  through a suitable communications link (not shown). 
     The browser  17  supports receiving from a transient data source  14  a URL containing a GPS coordinate, timestamp, and sender id, which the browser passes to the Location History Manager service  13 . The Location History Manager  13  stores data in a collection of records in storage  15 , where each record contains the GPS coordinate, timestamp, and sender id provided by various transient data sources  14 . The Location History Manager processes the URL to extract the geolocation information, which is then formatted as a Geolocation record and stored. Any transient data client  16  can, via the Web browser, send a URL asking the Location History Manager for one or more geolocation information records, which the Location History Manager returns. The geolocation information can be provided from the access point  12  to the transient data client  16  as raw information, i.e. as the geolocation records, or as processed information, e.g. in the form of a calculated geolocation. 
     Neither the transient data source  14  nor the transient data client  16  need to be running a specific application. The application retrieving the Geolocation record need only understand the record&#39;s format. The application sends a URL to the Location History Manager via the Web browser, and the result is returned as a well-formed Web page, which the application processes to extract the Geolocation record(s). The use of a web browser to send the geolocation records is advantageous because many WiFi access points already contain a Web server. A web browser also serves as a well known API to the Location History Manager, including many libraries able to form the URL and parse the returned Web page&#39;s HTML. Other alternatives will be apparent to a person skilled in the art. For example, a similar mechanism is to use a Web service API, where the arguments and results are frequently encoded in XML. 
     The access point  12  may use the location history records to calculate the approximate location of the access point. In one embodiment, the geolocation of the access point  12  may be calculated by retrieving the most recent geolocation records from the database  15  and processing the geolocation records to infer the access point&#39;s  12  location. The geolocation may be based on the most recent geolocation record, or an average of the “x” most recent geolocation records where “x” is a predetermined number, e.g. 10, or “x” is determined by a time limit, e.g. the records received within the last 30 minutes. In one embodiment, the location history manager  13  may process the geolocation records to infer a trajectory of the access point. 
     In one embodiment, the geolocation records may include a measure of the signal strength of a communication between the respective transient data source  14  and the access point  12 . The calculation of the geolocation of the access point may therefore be based on the indicated location of one or more transient data sources  14  coupled with the recorded signal strength which provides an indication of the distance between the transient data source  14  and the access point  12 . The signal strength also aids in computing any error in the location. For example, a high signal strength will indicate that the access point  12  is within a closer vicinity of the transient data source  14  than a weaker signal strength. The error can be reduced by combining multiple geolocation records coupled with multiple signal strengths from multiple antennas. 
     In one embodiment, the access point  12  may calculate the (approximate) location of a transient data client  16 , especially when the TC contains no native GPS capability. The calculated location may then be passed to the transient data client  16  for use in location based services. In one embodiment, the transient data client&#39;s  16  location may be based on a calculated location of the access point coupled with a signal strength of a communication between the access point  12  and the transient data client. 
     In an alternative embodiment, the transient data client  16  can request geolocation records from the access point  12  and use the retrieved geolocation records to internally calculate the transient data client&#39;s own location. The location may be calculated using the access point based methods described above, including incorporating a signal strength between the transient data client  16  and the access point  12 . 
     Additional services can also be produced based on the geolocation records. In one embodiment, the geolocation records can be used to determine the number and direction of travel of the passing transient clients, in particular if the access point  12  is stationary. That is, an access point can track a transient data source  14  by receiving multiple geolocation records from the particular data source. If the access point  12  is mobile, the geolocation records can be used as a history of the access point&#39;s movements past transient clients, e.g., to document a guard&#39;s movements around a campus. 
     GPS receivers typically fail inside a building, so retrieving a preconfigured location from one or more access points can provide a valid geolocation to mobile devices as they move inside the building. The capability supports location aware applications such as tracking residents of a senior living center, including locking exterior doors when a resident who should not be outside unaccompanied approaches the exit. Similarly, a mobile device carried by a person with a mental condition leading to an inability to navigate might “call home” if the device discovers after computing its location that it is outside a predefined boundary, even if the device is inside a building. For example, some senior living facilities have a floor to which Alzheimer patients are restricted, so being on a non-Alzheimer floor but still inside the facility can be an issue. In a further example, an autonomous vehicle inside a facility might use the above described embodiments to locate itself, e.g., an automated mail cart, or a self-propelled warehouse pallet. 
     In addition to retrieving the location records from the Location History Manager, a transient data client  16  can invoke services offered by the access point  12 . For example, based on the records stored by the Location History Manager and provided to the transient data client  16 , the transient data client  16  can compute, display and provide the current location and the estimated error. The transient data client  16  can also compute and provide how frequently the transient data client  16  passes the access point  12 . 
     The above described embodiments enable geolocation information to be used by devices that are otherwise unable to access geolocation records, thereby enabling geolocation-related services that the device would otherwise not have available. 
     Although embodiments of the present invention have been illustrated in the accompanied drawings and described in the foregoing description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications, and substitutions without departing from the spirit of the invention as set forth and defined by the following claims. For example, the capabilities of the invention can be performed fully and/or partially by one or more of the blocks, modules, processors or memories. Also, these capabilities may be performed in the current manner or in a distributed manner and on, or via, any device able to provide and/or receive information. Further, although depicted in a particular manner, various modules or blocks may be repositioned without departing from the scope of the current invention. Still further, although depicted in a particular manner, a greater or lesser number of modules and connections can be utilized with the present invention in order to accomplish the present invention, to provide additional known features to the present invention, and/or to make the present invention more efficient. Also, the information sent between various modules can be sent between the modules via at least one of a data network, the Internet, an Internet Protocol network, a wireless source, and a wired source and via plurality of protocols.