Zoeken Afbeeldingen Maps Play YouTube Nieuws Gmail Drive Meer »
Inloggen
Gebruikers van een schermlezer: klik op deze link voor de toegankelijkheidsmodus. De toegankelijkheidsmodus beschikt over dezelfde essentiŽle functies, maar werkt beter met je lezer.

Patenten

  1. Geavanceerd zoeken naar patenten
PublicatienummerWO2013117966 A1
PublicatietypeAanvraag
AanvraagnummerPCT/IB2012/050618
Publicatiedatum15 aug 2013
Aanvraagdatum10 feb 2012
Prioriteitsdatum10 feb 2012
PublicatienummerPCT/2012/50618, PCT/IB/12/050618, PCT/IB/12/50618, PCT/IB/2012/050618, PCT/IB/2012/50618, PCT/IB12/050618, PCT/IB12/50618, PCT/IB12050618, PCT/IB1250618, PCT/IB2012/050618, PCT/IB2012/50618, PCT/IB2012050618, PCT/IB201250618, WO 2013/117966 A1, WO 2013117966 A1, WO 2013117966A1, WO-A1-2013117966, WO2013/117966A1, WO2013117966 A1, WO2013117966A1
UitvindersJari Tappani SYRJARINNE, Mikko Juhani Blomqvist
AanvragerNokia Corporation, Nokia Inc.
Citatie exporterenBiBTeX, EndNote, RefMan
Externe links:  Patentscope, Espacenet
Method, apparatus, and computer program product for wlan positioning with an active cache
WO 2013117966 A1
Samenvatting
Method, apparatus, and computer program product example embodiments provide wireless position determination. According to an example embodiment of the invention, a method comprises scanning, by a wireless device (100), for signals from other wireless devices (150A, 150B, 150C), including identification information of the other wireless devices (150A, 150B, 150C); accumulating in a cache (1 14), identification information from the scanned signals for a plurality of the other wireless devices (150A, 150B, 150C); sending a request including the identification information for the plurality of other wireless devices (150A, 150B, 150C), to a positioning server (160), requesting location information corresponding to the identification information for the plurality of other wireless devices (150A, 150B, 150C); receiving from the positioning server (160) location information corresponding to the identification information for the plurality of other wireless devices (150A, 150B, 150C); and determining a current location of the wireless device (100) based on the received location information.
Claims  (OCR-tekst kan fouten bevatten)
CLAIMS: What is claimed is:
1. A method, comprising: scanning, by a wireless device, for signals from other wireless devices, including identification information of the other wireless devices; accumulating in a cache, identification information from the scanned signals for a plurality of the other wireless devices; sending a request including the identification information for the plurality of other wireless devices, to a positioning server, requesting location information corresponding to the identification information for the plurality of other wireless devices; receiving from the positioning server location information corresponding to the identification information for the plurality of other wireless devices; and determining a current location of the wireless device based on the received location information.
2. The method of claim 1, further comprising: accumulating in the cache, a history of identification information from the scanned signals from a plurality of the other wireless devices.
3. The method of claim 1, further comprising: accumulating in the cache, a history of identification information from the scanned signals from a plurality of the other wireless devices in a background interval as an ongoing process while other processes are running on the wireless device.
4. The method of claim 1, further comprising: accumulating in the cache, a history of identification information from the scanned signals, including at least one of MAC addresses, received signal strength indication (RSSI), and frequency (F).
5. The method of claim 1, further comprising: sending the request when ever there is an opportunity to communicate with the positioning server, in a background interval as an ongoing process while other processes are running on the wireless device.
6. The method of claim 1, further comprising: sending the request to a nearby access point for forwarding over a backbone link to the positioning server.
7. The method of claim 1, further comprising: sending the request, including identification information for a plurality the scanned other devices whose identification information has been accumulated in the cache and which are not duplicates.
8. The method of claim 1, further comprising: conducting, by the wireless device, scanning at intervals in a background process, scanning beacon and probe packets from the other wireless devices.
9. The method of claim 1, further comprising: storing, by the wireless device, scanning results in the cache, including an observed MAC address and a time stamp for each scan.
10. The method of claim 1, further comprising: establishing, by the wireless device, a connection to the positioning server and sending a positioning request based for a current scan and positioning requests for all scans stored in the cache.
11. The method of claim 1 , further comprising: receiving, by the wireless device from the positioning server, a plurality of location responses, one for each identification information from the scanned signals for a plurality of the other wireless devices.
12. The method of claim 1, further comprising: receiving, by the wireless device from the positioning server, a plurality of location responses, one for each of a plurality of location requests, the location responses being linked to corresponding identification information in the cache.
13. The method of claim 1, further comprising: receiving, by the wireless device from the positioning server, a plurality of location responses, one for each of a plurality of location requests, the location requests being for unduplicated identification information in the cache.
14. The method of claim 1, further comprising: accessing the cache of the wireless device, with a location request when a scanned MAC address is a duplicate of a MAC address in identification information already in the cache.
15. The method of claim 1, further comprising: calculating, by wireless device, the location information if a new MAC address in new identification information is similar to one or more MAC addresses associated with location information in a local location database of the wireless device.
16. An apparatus, comprising : at least one processor; at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: scan for signals from other wireless devices, including identification information of the other wireless devices; accumulate in a cache, identification information from the scanned signals for a plurality of the other wireless devices; send a request including the identification information for the plurality of other wireless devices, to a positioning server, requesting location information corresponding to the identification information for the plurality of other wireless devices; receive from the positioning server location information corresponding to the identification information for the plurality of other wireless devices; and determine a current location of the apparatus based on the received location information.
17. A computer program product comprising computer executable program code recorded on a computer readable non-transitory storage medium, the computer executable program code comprising: code for scanning, by a wireless device, for signals from other wireless devices, including identification information of the other wireless devices; code for accumulating in a cache, identification information from the scanned signals for a plurality of the other wireless devices; code for sending a request including the identification information for the plurality of other wireless devices, to a positioning server, requesting location information corresponding to the identification information for the plurality of other wireless devices; code for receiving from the positioning server location information corresponding to the identification information for the plurality of other wireless devices; and code for determining a current location of the wireless device based on the received location information.
18. A metho d, comprising : receiving in a server, a request including identification information for a plurality of wireless devices, requesting location information corresponding to the identification information for the plurality of other wireless devices; and sending by the server, to the requester, location information corresponding to the identification information for the plurality of wireless devices.
19. The method of claim 18, further comprising: receiving the request including at least one of MAC addresses, received signal strength indication (RSSI), and frequency (F) for the plurality of wireless devices.
20. An apparatus, comprising: at least one processor; at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: receive a request including identification information for a plurality of wireless devices, requesting location information corresponding to the identification information for the plurality of other wireless devices; and send to the requester, location information corresponding to the identification information for the plurality of wireless devices.
21. A computer program product comprising computer executable program code recorded on a computer readable non-transitory storage medium, the computer executable program code comprising: code for receiving in a server, a request including identification information for a plurality of wireless devices, requesting location information corresponding to the identification information for the plurality of other wireless devices; and code for sending by the server, to the requester, location information corresponding to the identification information for the plurality of wireless devices.
Beschrijving  (OCR-tekst kan fouten bevatten)

TITLE: METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR WLAN POSITIONING WITH AN ACTIVE CACHE

INVENTORS: Jari SYRJARINNE and Mikko BLOMQVIST FIELD:

The field of the invention relates to electronic positioning, and more particularly to wireless position determination.

BACKGROUND:

Modern society has adopted, and is becoming reliant upon, wireless

communication devices for various purposes, such as connecting users of the wireless communication devices with other users. Wireless communication devices can vary from battery powered handheld devices to stationary household and/or commercial devices utilizing an electrical network as a power source. Due to rapid development of the wireless communication devices, a number of areas capable of enabling entirely new types of communication applications have emerged.

Cellular networks facilitate communication over large geographic areas. These network technologies have commonly been divided by generations, starting in the late 1970s to early 1980s with first generation (1G) analog cellular telephones that provided baseline voice communications, to modern digital cellular telephones. GSM is an example of a widely employed 2G digital cellular network communicating in the 900 MHZ/1.8 GHZ bands in Europe and at 850 MHz and 1.9 GHZ in the United States. While long-range communication networks, like GSM, are a well-accepted means for transmitting and receiving data, due to cost, traffic and legislative concerns, these networks may not be appropriate for all data applications.

Short-range communication technologies provide communication solutions that avoid some of the problems seen in large cellular networks. Bluetooth™ is an example of a short-range wireless technology quickly gaining acceptance in the marketplace. In addition to Bluetooth™ other popular short-range communication technologies include Bluetooth™ Low Energy, IEEE 802.11 wireless local area network (WLAN), Wireless USB (WUSB), Ultra Wide-band (UWB), ZigBee (IEEE 802.15.4, IEEE 802.15.4a), and ultra-high frequency radio frequency identification (UHF RFID) technologies. All of these wireless communication technologies have features and advantages that make them appropriate for various applications.

At least one communication-related application currently being offered in various forms is electronic positioning. Basic electronic positioning may provide the current location of a device in terms of coordinates, in relation to a visual map. However, the means by which the raw positioning information is obtained may vary. Offerings may include the incorporation of Global Positioning System (GPS) receivers in a device for obtaining the electronic positioning information from satellites. Further, long range wireless communication systems, such as cellular telephony, may also provide electronic positioning information through methods such as cell-based triangulation. Short-range wireless systems may be able to provide similar information through a determination of proximity of a device to a particular wireless access point.

SUMMARY:

Method, apparatus, and computer program product example embodiments provide wireless position determination.

In an example embodiment of the invention, a method comprises: scanning, by a wireless device, for signals from other wireless devices, including identification information of the other wireless devices; accumulating in a cache, identification information from the scanned signals for a plurality of the other wireless devices; sending a request including the identification information for the plurality of other wireless devices, to a positioning server, requesting location information corresponding to the identification information for the plurality of other wireless devices; receiving from the positioning server location information corresponding to the identification information for the plurality of other wireless devices; and determining a current location of the wireless device based on the received location information. In an example embodiment of the invention, the method further comprises: accumulating in the cache, a history of identification information from the scanned signals from a plurality of the other wireless devices.

In an example embodiment of the invention, the method further comprises: accumulating in the cache, a history of identification information from the scanned signals from a plurality of the other wireless devices in a background interval as an ongoing process while other processes are running on the wireless device.

In an example embodiment of the invention, the method further comprises: accumulating in the cache, a history of identification information from the scanned signals, including at least one of MAC addresses, received signal strength indication (RSSI), and frequency (F).

In an example embodiment of the invention, the method further comprises: sending the request when ever there is an opportunity to communicate with the positioning server, in a background interval as an ongoing process while other processes are running on the wireless device.

In an example embodiment of the invention, the method further comprises: sending the request to a nearby access point for forwarding over a backbone link to the positioning server.

In an example embodiment of the invention, the method further comprises: sending the request, including identification information for a plurality the scanned other devices whose identification information has been accumulated in the cache and which are not duplicates.

In an example embodiment of the invention, the method further comprises: conducting, by the wireless device, scanning at intervals in a background process, scanning beacon and probe packets from the other wireless devices.

In an example embodiment of the invention, the method further comprises: storing, by the wireless device, scanning results in the cache, including an observed MAC address and a time stamp for each scan. In an example embodiment of the invention, the method further comprises: establishing, by the wireless device, a connection to the positioning server and sending a positioning request based for a current scan and positioning requests for all scans stored in the cache.

In an example embodiment of the invention, the method further comprises: receiving, by the wireless device from the positioning server, a plurality of location responses, one for each identification information from the scanned signals for a plurality of the other wireless devices.

In an example embodiment of the invention, the method further comprises: receiving, by the wireless device from the positioning server, a plurality of location responses, one for each of a plurality of location requests, the location responses being linked to corresponding identification information in the cache.

In an example embodiment of the invention, the method further comprises: receiving, by the wireless device from the positioning server, a plurality of location responses, one for each of a plurality of location requests, the location requests being for unduplicated identification information in the cache.

In an example embodiment of the invention, the method further comprises: accessing the cache of the wireless device, with a location request when a scanned MAC address is a duplicate of a MAC address in identification information already in the cache.

In an example embodiment of the invention, the method further comprises: calculating, by the wireless device, the location information if a new MAC address in new identification information is similar to one or more MAC addresses associated with location information in a local location database of the wireless device.

In an example embodiment of the invention, an apparatus comprises: at least one processor; at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: scan for signals from other wireless devices, including identification information of the other wireless devices; accumulate in a cache, identification information from the scanned signals for a plurality of the other wireless devices; send a request including the identification information for the plurality of other wireless devices, to a positioning server, requesting location information corresponding to the identification information for the plurality of other wireless devices; receive from the positioning server location information corresponding to the identification information for the plurality of other wireless devices; and determine a current location of the apparatus based on the received location information.

In an example embodiment of the invention, a computer program product comprises computer executable program code recorded on a computer readable non- transitory storage medium, the computer executable program code comprising: code for scanning, by wireless device, for signals from other wireless devices, including identification information of the other wireless devices; code for accumulating in a cache, identification information from the scanned signals for a plurality of the other wireless devices; code for sending a request including the identification information for the plurality of other wireless devices, to a positioning server, requesting location information corresponding to the identification information for the plurality of other wireless devices; code for receiving from the positioning server location information corresponding to the identification information for the plurality of other wireless devices; and code for determining a current location of the wireless device based on the received location information. In an example embodiment of the invention, a method comprises: receiving in a server, a request including identification information for a plurality of wireless devices, requesting location information corresponding to the identification information for the plurality of other wireless devices; and sending by the server, to the requester, location information corresponding to the identification information for the plurality of wireless devices.

In an example embodiment of the invention, the method further comprises: receiving the request including at least one of MAC addresses, received signal strength indication (RSSI), and frequency (F) for the plurality of wireless devices.

In an example embodiment of the invention, an apparatus comprises: at least one processor; at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: receive a request including identification information for a plurality of wireless devices, requesting location information corresponding to the identification information for the plurality of other wireless devices; and send to the requester, location information corresponding to the identification information for the plurality of wireless devices.

In an example embodiment of the invention, a computer program product comprises computer executable program code recorded on a computer readable non- transitory storage medium, the computer executable program code comprising: code for receiving in a server, a request including identification information for a plurality of wireless devices, requesting location information corresponding to the identification information for the plurality of other wireless devices; and code for sending by the server, to the requester, location information

corresponding to the identification information for the plurality of wireless devices.

The example embodiments of the invention provide wireless position

determination. DESCRIPTION OF THE FIGURES:

Figure 1 A illustrates an example embodiment of the invention, depicting an example network diagram showing a mobile wireless device including an active cache and a local database for scanning in the background for signals from other wireless devices, including identification information of the other wireless devices and

accumulating in the active cache, identification information from the scanned signals for a plurality of the wireless access point devices, in accordance with at least one

embodiment of the present invention.

Figure IB illustrates an example embodiment of the invention, depicting a first stage in the active cache accumulating identification information from the scanned signals for a plurality of the wireless access point devices and sending a positioning request for location information about two or more of the scanned access point devices for which locations are not currently known, in accordance with at least one embodiment of the present invention.

Figure 1C illustrates an example embodiment of the invention, depicting a second stage in the active cache accumulating identification information from the scanned signals for a plurality of the wireless access point devices and sending a second positioning request for location information about additional scanned access point devices for which locations are not currently known, in accordance with at least one embodiment of the present invention.

Figure ID illustrates an example embodiment of the invention, depicting a third stage in the active cache accumulating identification information from the scanned signals for a plurality of the wireless access point devices and avoiding sending a positioning request for location information about additional scanned access point devices with duplicate identification information, in accordance with at least one embodiment of the present invention.

Figure 2A illustrates an example embodiment of the invention, depicting the example network diagram of Figure 1 A, showing the mobile wireless device sending a request including the identification information for the plurality of other wireless devices, to a positioning server, requesting location information corresponding to the identification information for the plurality of other wireless devices, in accordance with at least one embodiment of the present invention.

Figure 2B illustrates an example embodiment of the invention, depicting the positioning server and global database receiving a request including identification information for a plurality of wireless devices, requesting location information corresponding to the identification information for the plurality of other wireless devices and sending to the requester, the location information corresponding to the identification information for the plurality of wireless devices, in accordance with at least one embodiment of the present invention.

Figure 3A illustrates an example embodiment of the invention, depicting a request packet including the identification information for the plurality of other wireless devices, sent by the mobile wireless device to an access point connected to the positioning server, in accordance with at least one embodiment of the present invention.

Figure 3B illustrates an example embodiment of the invention, depicting a response packet including location information corresponding to the identification information for the plurality of wireless devices, sent by the positioning server through an access point to the mobile wireless device, in accordance with at least one embodiment of the present invention.

Figure 4 illustrates an example embodiment of the invention, depicting an example flow diagram of an example method, from the point of view of the mobile wireless device, in accordance with at least one embodiment of the present invention.

Figure 5 illustrates an example embodiment of the invention, depicting an example flow diagram of an example method, from the point of view of the positioning sever and database, in accordance with at least one embodiment of the present invention.

Figure 6A illustrates a network of access points distributed at known locations in a ceiling, showing the mobile wireless device at floor level beneath the ceiling, sending a positioning request to one of the access points, which is forwarded over a backbone link to the positioning server and database, in accordance with at least one embodiment of the present invention. Figure 6B illustrates the network of access points distributed in the ceiling of Figure 6 A, showing the positioning server sending location responses to the mobile wireless device, in accordance with at least one embodiment of the present invention.

Figure 7 illustrates an example embodiment of the invention, wherein examples of removable storage media are shown, based on magnetic, electronic and/or optical technologies, such as magnetic disks, optical disks, semiconductor memory circuit devices, and micro-SD memory cards for storing data and/or computer program code as an example computer program product, in accordance with at least one embodiment of the present invention.

DISCUSSION OF EXAMPLE EMBODIMENTS OF THE INVENTION:

Example communication technologies that may benefit from example

embodiments of the invention, are organized into the following topics:

A. WLAN Communication Technology

1. IEEE 802.11 MAC Frames and Information Elements

2. IEEE 802.11 Beacon, Probe Request and Response

3. Generic Advertisement Service (GAS)

4. Wi-Fi Direct - Software Access Points

5. IEEE 802.11 Mesh Networks

B. WLAN Positioning with an Active Cache

A. WLAN COMMUNICATION TECHNOLOGY

An example wireless network, such as a Wireless Local Area Network (WLAN) may be organized as an independent basic service set (IBSS), mesh basic service set (MBSS) or an infrastructure basic service set (BSS). Wireless devices in an independent basic service set (IBSS) communicate directly with one another and there is no access point (AP) in the IBSS. A mesh basic service set (MBSS) consists of autonomous wireless devices that establish peer-to-peer wireless links that provide means for multi- hop communication. An infrastructure basic service set (BSS) includes a wireless access point that may be connected to one or more servers and peripheral devices by a wired backbone connection. In an infrastructure BSS, the access point is a central hub to which mobile wireless devices are wirelessly connected. The mobile wireless devices typically do not communicate directly with one another, but communicate indirectly through the access point. An access point may be connected to other access points by a wired backbone connection in an extended service set (ESS). Mobile wireless devices may roam from one wireless connection with one access point to a second wireless connection with a second access point in the ESS, and still be linked to the first access point in the ESS via the wired backbone connection.

The IEEE 802.11 standard specifies methods and techniques of wireless local area network (WLAN) operation. Examples include the IEEE 802.1 lb and 802.1 lg wireless local area network specifications, which have been a staple technology for traditional WLAN applications in the 2.4 GHz ISM band. The various amendments to the IEEE 802.11 standard were consolidated for IEEE 802.1 la, b, d, e, g, h, i, j protocols, into the base standard IEEE 802.11-2007. Wireless Medium Access Control (MAO and Physical Layer (PHY) Specifications. June 2007. Since then, emerging broadband applications have stimulated interest in developing very high-speed wireless networks for short range communication, for example, the IEEE 802.1 In, the planned IEEE 802.1 lac, and the planned IEEE 802.1 lad WLAN specifications that are to provide a very high throughput in higher frequency bands. Applications of these IEEE 802.11 standards include products such as consumer electronics, telephones, personal computers, and access points for both for home and office.

According to an example embodiment, wireless local area networks (WLANs) typically operate in unlicensed bands. IEEE 802.1 lb and 802.1 lg WLANs have been a staple technology for traditional WLAN applications in the 2.4 GHz ISM band and have a nominal range of 100 meters. The IEEE 802.1 lah WLAN standard is being developed for operation in the 900 MHz ISM band and will have a greater range and lower obstruction losses due to its longer wavelength. 1 IEEE 802.11 MAC Frames and Information Elements

There are three major types of medium access control (MAC) frames in the IEEE 802.11 protocol: the management frame, the control frame, and the data frame.

Management frames provide management services. Data frames carry payload data. Control frames assist in the delivery of data frames. Each of these types of MAC frame consists of a MAC header, a frame body, and a frame check sequence (FCS). The header contains control information used for defining the type of 802.11 MAC frame and providing information necessary to process the MAC frame, including the 48-bit MAC address of the sender. The frame body contains the data or information included in either management type or data type frames. The frame check sequence is a value representing a cyclic redundancy check (CRC) over all the fields of the MAC header and the frame body field.

MAC addresses are 48-bits long and are included in a field of the header of a MAC frame. MAC addresses provide a unique identification of the transmitting device. The MAC addresses may be universally administered addresses or locally administered addresses. A universally administered address is uniquely assigned to a device by its manufacturer as an Organizationally Unique Identifier (OUI). The first three octets in transmission order identify the organization that issued the identifier. The next three octets are assigned by that organization as unique address values. A locally administered address may be assigned to a device by a network administrator, overriding the OUI. Universally administered and locally administered addresses are distinguished by setting a particular bit of the address. If the least significant bit of the most significant octet of an address is set to (zero, the frame is a unicast frame. If the least significant bit of the most significant address octet is set to one, the frame is a multicast MAC frame.

Management frames are used to provide management services that may be specified by variable-length fields called information elements included in the MAC frame body. An information element includes three fields: its function is identified by an element ID field, its size is provided by a length field, and the information to deliver to the recipient is provided in a variable-length information field. 2, IEEE 802.11 Beacon, Probe Request and Response a. Beacon

The beacon frame is a management frame that is transmitted periodically to allow wireless devices to locate and identify a network. The beacon frame includes the fields: timestamp, beacon interval, and capability information. The timestamp contains the value of the device's synchronization timer at the time that the frame was transmitted. The capability information field is a 16-bit field that identifies the capabilities of the device. The information elements in a beacon frame are the service set identifier (SSID), the supported rates, one or more physical parameter sets, an optional contention- free parameter set, and an optional traffic indication map. i. Infrastructure BSS Networks with Access Point

In an infrastructure BSS networks with an Access Point, beacon frames are used for enabling wireless devices to establish and maintain orderly communications. The beacon frames are transmitted by the Access Points at regular intervals and include a frame header and a body with various information, including a SSID identifying the name of a specific WLAN and a beacon interval specifying the intended time interval between two beacon transmissions. One purpose of the beacon frames is to inform the wireless devices about the presence of an Access Point in the area. The access point in an infrastructure BSS IEEE 802.11 WLAN network, may be a central hub that relays all communication between the mobile wireless devices (STAs) in an infrastructure BSS. If a STA in an infrastructure BSS wishes to communicate a frame of data to a second STA, the communication may take two hops. First, the originating STA may transfer the frame to the AP. Second, the AP may transfer the frame to the second STA. In an

infrastructure BSS, the AP may transmit beacons or respond to probes received from STAs. After a possible authentication of a STA that may be conducted by the AP, an association may occur between the AP and a STA enabling data traffic to be exchanged with the AP. The Access Point in an Infrastructure BSS may bridge traffic out of the BSS onto a distribution network. STAs that are members of the BSS may exchange packets with the AP. ii. Ad Hoc IBSS Networks

The first ad hoc wireless device to become active establishes an IBSS and starts sending beacons to inform the other wireless devices about the presence of an ad hoc network in the area. Other ad hoc wireless devices may join the network after receiving a beacon and accepting the IBSS parameters, such as the beacon interval, found in the beacon frame.

Each wireless device that joins the ad hoc network may send a beacon periodically if it doesn't hear a beacon from another device within a short random delay period after the beacon is supposed to be sent. If a wireless device doesn't hear a beacon within the random delay period, then the wireless device assumes that no other wireless devices are active in the ad hoc network and a beacon needs to be sent.

A beacon signal is periodically transmitted from the ad hoc network. The beacon frame is transmitted periodically and includes the address of the sending device. b. Probe Request

The probe request frame is a management frame that is transmitted by a wireless device attempting to quickly locate a wireless local area network (LAN). It may be used to locate independent basic service sets (IBSSs), infrastructure basic service sets (BSSs) or mesh basic service sets (MBSSs) only or any of them, . It may be used to locate a wireless LAN with a particular SSID or to locate any wireless LAN. The probe request frame may contain a service attribute request.

For active scans, the wireless device either broadcasts or unicasts a probe request on the channel it is scanning. It may set the SSID in the probe request to a wildcard SSID or to a specific SSID value. It may set the BSSID in the probe request a wildcard BSSID or to a specific BSSID value. With these options the wireless device can look for any SSID or BSSID, any representative of a specific SSID or a specific BSSID. The wireless device will add any received beacons or probe responses to a cached BSSID scan list. For passive scans, the wireless device does not send a probe request, but instead, listens on a channel for a period of time and adds any received beacons or probe responses to its cached BSSID scan list. The wireless device may scan both infrastructure and ad hoc networks, regardless of the current setting of its network mode. The wireless device may use either the active or passive scanning methods, or a combination of both scanning methods. The wireless device performs the scan across all the frequency channels and bands that it supports. i. Infrastructure BSS Networks with Access Point

The wireless device may transmit a probe request and receive a probe response from the access point in the BSS. The probe request is transmitted by a wireless device to obtain information from another station or access point. For example, a wireless device may transmit a probe request to determine whether a certain access point is available. In the infrastructure BSS, only the AP responds to probe requests. The probe response sent back by the AP contains a timestamp, beacon interval, and capability information. It also includes the SSID of the BSS, supported rates, and PHY parameters. The wireless device STA may learn that the access point AP will accept the STA's credentials.

Exemplary rules applied by the scanning wireless device (i.e. scanner) and the APs with active scanning are as follows:

1) Scanner (for each channel to be scanned):

a. Transmit a probe request frame (or multiple of thereof) with the SSID and the BSSID fields set as per the scan command;

b. Reset ProbeTimer to zero and start it upon the probe request transmission; c. If nothing is detected (any signal with high enough energy) on the channel before the ProbeTimer reaches MinChannelTime (a.k.a.

Min Probe Response Time), then go to scan the next channel (if any), else when the ProbeTimer reaches MaxChannelTime (i.e.,

Max Probe Response Time), process all received probe responses and go to scan the next channel ( if any).

2) APs:

a. An AP may respond with a probe response only if:

i. The Address 1 field in the probe request frame is the broadcast address or the specific MAC address of the AP; and

ii. The SSID in the probe request is the wildcard SSID, the SSID in the probe request is the specific SSID of the AP, or the specific SSID of the AP is included in the SSID list element of the probe request, or the Address 3 field in the probe request is the wildcard BSSID or the BSSID of the AP.

b. Some further conditions may be set as well for the generation of a probe response.

In general, the probe request transmitter specifies the conditions that wireless devices need to meet in order to respond to with a probe response. All wireless devices that fulfill the condition try to send a probe response frame. The active scanning mechanism defines the signaling. ii. Ad Hoc IBSS Networks

The effect of receiving a probe request is to cause the wireless device to respond with a probe response if the conditions indicated in the probe request are met. When a wireless device arrives within the communication range of any member of an ad hoc network, its probe request frame inquiry signals are answered by a member of the ad hoc network detecting the inquiry. A device in an ad hoc network that broadcasted the latest beacon in the network responds to the probe request frame inquiry signals with a probe response containing the address of the responding device. The probe response frame also includes the timestamp, beacon interval, capability information, information elements of the SSID, supported rates, one or more physical parameter sets, the optional contention- free parameter set, and the optional ad hoc network parameter set.

Once a device has performed an inquiry that results in one or more ad hoc network descriptions, the device may choose to join one of the ad hoc networks. The joining process may be a purely local process that occurs entirely internal to the wireless device. There may be no indication to the outside world that a device has joined a particular ad hoc network. Joining an ad hoc network may require that all of the wireless device's MAC and physical parameters be synchronized with the desired ad hoc network. To do this, the device may update its timer with the value of the timer from the ad hoc network description, modified by adding the time elapsed since the description was acquired. This will synchronize the timer to the ad hoc network. The BSSID of the ad hoc network may be adopted, as well as the parameters in the capability information field. Once this process is complete, the wireless device has joined the ad hoc network and is ready to begin communicating with the devices in the ad hoc network. c. Probe Response

The probe response sent back by a wireless device that met the conditions set by the received probe request contains a timestamp, beacon interval, and capability information. It also includes the SSID of the BSS, supported rates, and PHY parameters.

According to an example embodiment, standard spacing intervals are defined in the IEEE 802.11 specification, which delay a station's access to the medium, between the end of the last symbol of the previous frame and the beginning of the first symbol of the next frame. The short interframe space (SIFS), the shortest of the interframe spaces, may allow acknowledgement (ACK) frames and clear to send (CTS) frames to have access to the medium before others. The longer duration distributed coordination function (DCF) interframe space (IFS) or DCF Interframe Space (DIFS) interval may be used for transmitting data frames and management frames.

According to an example embodiment, after the channel has been released, IEEE 802.11 and before a probe response is transmitted, wireless devices normally employ a spectrum sensing capability during the SIFS interval or DIFS interval, to detect whether the channel is busy. A carrier sensing scheme may be used wherein a node wishing to transmit a probe response has to first listen to the channel for a predetermined amount of time to determine whether or not another node is transmitting on the channel within the wireless range. If the channel is sensed to be idle, then the node may be permitted to begin the transmission process. If the channel is sensed to be busy, then the node may delay its transmission of a probe response for a random period of time called the backoff interval. In the DCF protocol used in IEEE 802.11 networks, the stations, on sensing a channel idle for DIFS interval, may enter the backoff phase with a random value between 0 and a maximum value CWmin. The backoff counter may be decremented from this selected value as long as the channel is sensed idle for a predetermined time interval. After every received frame one may however wait for a DIFS before sensing the channel status and resuming backoff counter update.

3. Generic Advertisement Service (GAS)

IEEE 802.1 lu-2011 is an amendment to the IEEE 802.11-2007 base standard published as IEEE 802.1 lu-2011. Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. Amendment 9: Interworking with External Networks. February 25, 2011. IEEE 802.1 lu-2011 adds features to improve interworking with external networks. IEEE 802.1 lu-2011 amendment establishes MAC and physical layer PHY protocols for an interworking service to permit a wireless device to exchange information with an external network, to enable the selection of networks to connect to, and to enable access to emergency services. A GAS is specified in the IEEE 802.1 lu amendment to enable mobile wireless devices or ST As to discover the availability of information related to desired network services. For example, the GAS enables discovery of information about services provided in an infrastructure basic service set, information about local access services, information from available Subscription Service Providers (SSP) and/or Subscription Service Provider Networks (SSPNs) or other external networks. GAS enables a wireless device to transmit a generic advertisement service initial request frame to request information about network services from access points and it enables an access point to use a generic container, a GAS initial response frame, to advertise information about network services over an IEEE 802.11 network. The GAS protocol has been proposed to be updated to operate with broadcast request and response messages. Public action frames are used to transport the GAS initial request frame and the GAS initial response frame.

4. Wi-Fi Direct

The Wi-Fi Alliance has developed a Wi-Fi Peer-to-Peer technology named Wi-Fi Direct™ that is specified in the Wi-Fi Alliance Peer-to-Peer Specification. October 2010. Wi-Fi Direct is also referred to herein as Peer-to-Peer (P2P) or Device-to-Device (D2D). Wi-Fi Direct enables IEEE 802.1 la, g, or n devices to connect to one another, peer-to- peer, without prior setup or the need for wireless access points. Devices that support Wi- Fi Direct may discover one another and advertise available services. Wi-Fi Direct devices support typical Wi-Fi ranges and the same data rates as can be achieved with an 802.1 la, g, or n infrastructure connection. When a device enters the range of the Wi-Fi Direct device, it may connect to it using the specified protocol.

Wi-Fi Direct enables wireless devices that support Wi-Fi Direct, to connect to one another, point-to-point, without joining an infrastructure network. Wireless devices that support the specification will be able to discover one another and advertise available services. Wi-Fi Direct devices will support typical Wi-Fi ranges and the same data rates as can be achieved with an infrastructure connection. Wi-Fi Direct provides point-to- point connections for networks by embedding a software access point into any Wi-Fi Direct devices.

Wi-Fi Direct-certified devices may create direct connections between each other without requiring the presence of a traditional Wi-Fi infrastructure network of an access point or router. Wi-Fi Direct Device Discovery and Service Discovery features allow users to identify available devices and services before establishing a connection, for example, discovering which Wi-Fi Direct devices have a printer. Wi-Fi Direct devices may use Wi-Fi Protected Setup to create connections between devices.

A Wi-Fi Direct device is capable of a peer-to-peer connection and may support either an infrastructure network of an access point or router or a peer-to-peer connection. Wi-Fi Direct devices may join infrastructure networks as stations (STAs). Wi-Fi Direct devices may connect by forming groups in a one-to-one or one-to-many topology. The groups functions in a manner similar to an infrastructure basic service set. A single Wi-Fi Direct device will be the group owner that manages the group, including controlling which devices are allowed to join and when the group is started or terminated. The group owner is responsible for responding to probe requests in a similar manner as an AP of an infrastructure BSS. The group owner will appear as an access point to legacy client devices. A significant difference between a group owner and an access point is that it is optional for the group owner to route and forward traffic between clients associated to it.

Wi-Fi Direct devices include Wi-Fi Protected Setup Internal Registrar

functionality. A Wi-Fi Direct device may be a group owner of a group and may be able to negotiate which device adopts this role when forming a group with another Wi-Fi Direct device. A group may include both Wi-Fi Direct devices and legacy devices (i.e., that are not compliant with the Wi-Fi Alliance Peer-to-Peer Specification). Legacy devices may only function as clients within a group.

Wi-Fi Direct devices may support discovery mechanisms. Device discovery is used to identify other Wi-Fi Direct devices and establish a connection by using a scan similar to that used to discover infrastructure access points. If the target is not already part of a group, a new group may be formed. If the target is already part of a group, the searching Wi-Fi Direct device may attempt to join the existing group. Wi-Fi Protected Setup may be used to obtain credentials from the group owner and authenticate the searching Wi-Fi Direct device. Wi-Fi Direct devices may include service discovery that enables the advertisement of services supported by higher layer applications to other Wi- Fi Direct devices. Service discovery may be performed at any time (e.g. even before a connection is formed) with any other discovered Wi-Fi Direct device.

A Group may be created by a single Wi-Fi Direct device. When forming a connection between two Wi-Fi Direct devices, a group may be formed automatically and the devices may negotiate to determine which device is the group owner. The group owner may decide if this is a temporary (single instance) or persistent (multiple, recurring use) group. After a group is formed, a Wi-Fi Direct device may invite another Wi-Fi Direct device to join the group. The decision of whether or not to accept an invitation may be left to the invited Wi-Fi Direct device.

5. IEEE 802.11 Mesh Networks

IEEE 802.1 Is is an IEEE 802.11 amendment for mesh networking, defining how wireless devices may interconnect to create a WLAN mesh network. In IEEE 802. l is networks, a wireless distribution system (DS) to which an access point (AP) connects may be replaced by a mesh of interoperable wireless links or multi-hop paths. End stations may establish interoperable peer-to-peer wireless links with neighboring end stations and APs in an 802.11 wireless mesh network. Mesh stations or mesh points may support mesh services in interoperable formation and operation of a Mesh Basic Service Set (MBSS). A mesh basic service set (MBSS) is a basic service set (BSS) that forms a self-contained network of mesh points, and which may be used as a distribution system (DS).

Mesh points that are members in an 802.11 WLAN mesh network, broadcast probe requests to discover candidate neighbors and obtain information about neighbors based on information elements (IEs) in probe response frames and in beacons. A mesh point performs passive or active scans to discover neighbor mesh points. A discovered mesh point may be considered a candidate peer mesh point if:

1. A beacon or probe response frame is received from the discovered mesh point;

2. The received beacon or probe response frame contains a mesh ID that matches the mesh ID of the scanning mesh point's mesh profile; and 3. The received beacon or probe response frame contains an appropriate mesh configuration element.

All mesh point devices have the same capability and each mesh point is capable of forward traffic. Each mesh point transmits Beacons as per beacon interval determined by each mesh point individually. Mesh points authenticate each other and provide a means to establish and manage links and peerings between mesh points. Peering is a logical relationship between two neighboring mesh points. A mesh network operates on the medium access control (MAC)-level and may operate as a bridge. Data type frame transmissions occur in links that a mesh point establishes with neighbor mesh points. A link is a result of a peering in which two neighboring mesh points authenticate each other. Actual data delivery occurs across paths that are established on top of links. Paths are either single-hop or multi-hop paths depending on the number of links along the path. Any higher layer, e.g. the internet protocol (IP) layer for networking, considers a mesh as a single hop and does not need to be aware of mesh operations.

A logical peering: relationship is established from one mesh point to another mesh point with a mesh peering management protocol. Mesh points participate with other mesh points in mesh functionalities such as path selection and forwarding. Mesh points may propagate mesh frames over multiple hops and connectivity is provided to all member mesh points.

IEEE 802. l is networks are described in the IEEE P802. l is™/ Standard for Information Technology- Telecommunications and information exchange between systems- Local and metropolitan area networks- Specific requirements- Part 11 : Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications

Amendment 10: Mesh Networking, dated September 2011.

B. WLAN Positioning With An Active Cache

Wireless local area networks (WLANs) are an example environment that may be used in the following example embodiments of the invention. However, example embodiments of the invention are applicable to other environments as well.

Example WLANs that may be available for WLAN positioning include, for example, IEEE 802.11, Digital Enhanced Cordless Telecommunications (DECT), and HiperLAN networks. WLA discovery mechanisms include passive and active scanning. A device or station that uses the discovery mechanisms is said to be in discovery state. In the passive scanning mode, a device or station in the discovery state listens to a channel for no longer than an interval determined for the scan. In practice, the passively scanning device looks for beacon frames from any wireless networks or representatives of wireless networks or alternatively beacon frames that meet a given criterion, such as a device address or network ID. When a device in the discovery state uses the active scanning, it generates probe request frames and transmits them to request APs to reply with probe response frames, as discovery responses, providing requested information.

The Generic Advertisement Service is an active discovery mechanism wherein mobile wireless devices or ST As in the discovery state may discover the availability of information related to desired network services. Generic Advertisement Service enables a wireless device to transmit a Generic Advertisement Service initial request frame to request information about network services from devices representing the network (as an example, access points) and it enables the devices to use a generic container, a Generic Advertisement Service initial response frame, as discovery responses, to advertise information about network services over an IEEE 802.11 network.

Wireless networks have been used for positioning by mapping their locations, such as the latitude and longitude coordinates, with their unique IDs, such as their MAC addresses. Usually, the mapping is either done by crowd-sourcing, where voluntary users/co Hectors are contributing to the mapping with their own devices. Another technique is wardriving, where the data collection is done in a managed and coordinated manner to gather all of the relevant data by carefully mapping a pre-defined

region/city/country, with equipment dedicated for that purpose.

Once the mapping data is collected, it is stored in global databases that may consist of millions of entries describing the identified network nodes, such as the location, ID type, frequency, and the like.

In principle, any wireless network may be mapped and used for positioning.

However, in practice, fixed network infrastructures are primarily used for mapping, such as cellular networks and WLAN infrastructure networks.

The database servers containing the location information of the nodes, typically reside in data centers that have collected and maintain the data. The mapping data in the global databases that may be used for: 1) On-line positioning - Device is sending the ID(s) of the observed node(s) to the global database server and the server converts this into actual coordinates/estimate of the device's location and sends it back to the device

2) Off-line positioning - Device has a pre-installed/downloaded database covering, for example, just one country or a region, that may be used for positioning without constant communication with the global mapping servers. The device resident database is typically just a subset of the database in the global mapping servers. For example, the total number of WLAN nodes in the world is estimated to several hundreds of millions, so it is virtually impossible to fit all the location data of the WLAN nodes into the device's memory.

Figure 1 A illustrates an example embodiment of the invention, depicting an example network diagram showing a mobile wireless device 100 including an active cache 114 and a local database 120 for scanning in the background for signals from other wireless devices, such as the access points 150A, 150B, and 150C. The signals may be WLAN probe or beacon packets 120A, 120B, and 120C including identification information of the other wireless devices, such as their MAC addresses. The signals 120A, 120B, and 120C may also be characterized by their received signal strength indication (RSSI), an indication of the power level being received by the antenna. The signals 120A, 120B, and 120C may also be characterized by their frequency (F) or other physical or informational attributes. The signals 120A, 120B, and 120C may be scanned during sampling intervals, for example a sampling interval of several second conducted periodically every minute in the background as an ongoing process while other processes may be running on the wireless device 100. Each sampling interval may be time stamped. During a sampling interval, each of the signals 120A, 120B, and 120C may be detected and identification information, such as its MAC address, received signal strength indication (RSSI), frequency (F) or other physical and/or informational attributes, may be recorded and time stamped in the active cache 114.

The active cache 114 accumulates a history of identification information from the scanned signals for a plurality of the wireless access point devices 150A, 150B, and 150C. The accumulation of the history of the identification information is conducted in the background as an ongoing process while other processes may be running on the wireless device 100, in accordance with at least one embodiment of the present invention. In an example embodiment of the invention, the mobile wireless device 100 may request location data for all MAC addresses of the WLAN nodes that it detects by scanning, for those detected nodes that are currently without location data in the cache. The scanning and detection is performed and the MAC address, received signal strength indication (RSSI), frequency (F) may be accumulated in the background. When ever there is an opportunity to communicate with the positioning server and database 160, the mobile wireless device 100 prepares a positioning request packet that includes a plurality of all identification information of the WLAN nodes that it detects that are not duplicates. The positioning request packet is then sent to a nearby access point, such as 150A, and the request is forwarded over the backbone link 105 to the positioning server and database 160. Thus, instead of requesting a single location for a single node whose MAC address, received signal strength indication (RSSI), and frequency (F) is currently detected, a plurality of the locations are requested for all the detected WLAN nodes accumulated in the cache, which are not duplicates. The scanning, detection, and accumulation of identification information, such as MAC address, received signal strength indication (RSSI), frequency (F), is an ongoing background process, that runs even though the device 100 is not in a positioning or navigation mode. Moreover, the preparation and sending of the positioning request packet to the positioning server and database 160 is opportunistic, taking place when a suitable connection to an access point, such as 150A, is available. In this manner, the coverage of the active cache is expanded and mapping data is immediately available for rapid navigation and other applications. The location data requested from the position server 160, which has been accumulated in the active cache 114 during background operation of the cache, is based not only on the current location of the device, but on the history of locations visited by the device.

In an example embodiment of the invention, may include the following features:

A. The device may carry out WLAN scans in the background e.g. at a reasonable interval (e.g. once a minute or even more infrequently). It is also possible to use only the scans done by the WLAN-only device by default e.g. for WLAN

connectivity management.

B. The scan results (observed MAC addresses) may be stored in a local database (cache). C. When the device makes a positioning request to the servers, the WLANs in the current scan and also all the WLAN nodes (MAC addresses) in the cache without location may be sent to the server to obtain their location data.

D. The server may send the locations for all the MAC addresses included in the request back to the device.

E. The device may calculate its current position based on the returned location data. The WLAN nodes (MAC addresses) in the cache may be updated with location data (coordinates) for possible future.

In an example embodiment of the invention, may include the following features:

A. The device may carry out WLAN scans in the background e.g. at a reasonable interval (e.g. once a minute or even more infrequently). It may also be possible to use only the scans done by the WLAN-only device by default e.g. for connectivity management.

B. The scan results may be stored in a local database (cache) as such i.e. the observed MAC address per each scan are e.g. time stamped or otherwise linked to each other.

C. When the device has a connection to the positioning server, the device may not only send a positioning request based on the current scan, but it may also send positioning requests for all the scans stored in the cache.

D. The server may send the locations responses back to the device, one response per request (scan).

E. The location responses may be linked to the cached scans. If a new positioning request is done roughly at the same location than any of the cached scans i.e. the observed WLAN nodes (MAC addresses) are substantially the same, the location request may not sent to the server, but the location response (coordinates) may be taken from the cache.

In an example embodiment of the invention, may include the following features: A. The device may carry out WLAN scans in the background e.g. at a reasonable interval (e.g. once a minute or even more infrequently). It may also be possible to use only the scans done by the WLAN-only device by default e.g. for connectivity management. B. The scan results may be stored in a local database (cache) as such i.e. the observed MAC address per each scan may be e.g. time stamped or otherwise linked to each other.

C. When the device has a connection to the positioning server, the device may not only send a positioning request based on the current scan, but it may also send positioning requests for all the scans stored in the cache.

D. The server may send the locations responses back to the device, one response per request (scan).

E. The location responses may be used to define approximate locations for all the MACs in the cached scans and the locations may be stored in the local WLAN node location database. If the WLAN node (MAC address) already exists in the location database, the location may be updated based on the latest information.

F. If a new positioning request is done and the majority of the MAC addresses are in the local location database, the position may be calculated in the device without any interaction with the servers.

The mobile wireless device 100 of Figure 1 A includes processor 122 that may access random access memory RAM 126 and/or read only memory ROM 127 in order to obtain stored program code and data for use during processing. RAM 126 or ROM 127 may generally include removable or imbedded memories that operate in a static or dynamic mode. Further, RAM 126 or ROM 127 may include rewritable memories such as Flash, EPROM, etc. Examples of removable storage media based on magnetic, electronic and/or optical technologies such as magnetic disks, optical disks,

semiconductor memory circuit devices, and micro-SD memory cards are shown at 135 and in Figure 7, and may serve, for instance, as a program code and data input/output means. Code may include any interpreted or compiled computer language including computer-executable instructions. The code and/or data may be used to create software modules such as operating systems, communication utilities, user interfaces, more specialized program modules, etc.

The mobile wireless device 100 may be, for example, a miniature device such as a key fob, smart card, jewelry, or the like. The mobile wireless device 100 may be, for example, a larger device such as a cell phone, smart phone, flip-phone, PDA, graphic pad, or even larger devices such as a laptop computer, an automobile dashboard, and the like. Figure IB illustrates an example embodiment of the invention, depicting a first stage in the active cache 114 accumulating identification information in the background, such as MAC address, received signal strength indication (RSSI), and/or frequency (F) from the scanned probe or beacon signals 120A, 120B, and 120C for a plurality of the wireless access point devices 150A, 150B, and 150C. The mobile wireless device 100, at an opportune moment when wireless connectivity to an access point is available, sends a positioning request 102 to the positioning server and database 160 via an access point, such as 150A, and via the backbone link 105, for location information about two or more of the scanned access point devices that are not duplicates, for which locations are not currently known. The positioning server and database 160 is shown responding with a location response 104 to the mobile wireless device 100 via an access point.

Figure 1C illustrates an example embodiment of the invention, depicting a second stage in the active cache 114 accumulating identification information in the background, such as MAC address, received signal strength indication (RSSI), and/or frequency (F), from the scanned probe or beacon signals 120A, 120B, and 120C for a plurality of the wireless access point devices 150A, 150B, and 150C. The mobile wireless device 100, at an opportune moment when wireless connectivity to an access point is available, sends a second positioning request 102 for location information about additional scanned access point devices that are not duplicates, for which locations are not currently known, in accordance with at least one embodiment of the present invention. The positioning server and database 160 is shown responding with a location response 104 to the mobile wireless device 100 via an access point.

Figure ID illustrates an example embodiment of the invention, depicting a third stage in the active cache 114 accumulating identification information in the background, such as MAC address, received signal strength indication (RSSI), and/or frequency (F), from the scanned probe or beacon signals 120A, 120B, and 120C for a plurality of the wireless access point devices 150A, 150B, and 150C. The mobile wireless device 100 avoids sending a positioning request 102 for location information about additional scanned access point devices with duplicate identification information, in accordance with at least one embodiment of the present invention.

Figure 2A illustrates an example embodiment of the invention, depicting the example network diagram of Figure 1 A, showing the mobile wireless device 100 sending a positioning request 102 including the identification information for the plurality of other wireless devices, to a positioning server and database 160 via the access point 150A. The positioning request 102 requests location information corresponding to the identification information for the plurality of other wireless devices, in accordance with at least one embodiment of the present invention. The positioning server and database 160 is shown responding with a location response 104 to the mobile wireless device 100 via the access point 150A.

In an example embodiment of the invention, the positioning server and database 160 of Figure 2 A includes processor 122' that may access random access memory RAM 126' and/or read only memory ROM 127' in order to obtain stored program code and data for use during processing. RAM 126' or ROM 127' may generally include removable or imbedded memories that operate in a static or dynamic mode. Further, RAM 126' or ROM 127' may include rewritable memories such as Flash, EPROM, etc. Examples of removable storage media based on magnetic, electronic and/or optical technologies such as magnetic disks, optical disks, semiconductor memory circuit devices, and micro-SD memory cards are shown at 135 and in Figure 7, and may serve, for instance, as a program code and data input/output means. Code may include any interpreted or compiled computer language including computer-executable instructions. The code and/or data may be used to create software modules such as operating systems, communication utilities, user interfaces, more specialized program modules, etc.

Figure 2B illustrates an example embodiment of the invention, depicting the positioning server 170 receiving a positioning request 102 including MAC address, received signal strength indication (RSSI), and/or frequency (F) as identification information for a plurality of wireless access point devices 150A, 150B, and 150C, requesting location information corresponding to the identification information for the plurality of devices 150A, 150B, and 150C. The positioning server 170 is shown processing the MAC address identification information and outputting location-related data to the global database 140. The positioning request 102 may include identification information received from multiple devices 150A, 150B, and 150C during a sampling interval at the mobile wireless device 100. The positioning request 102 may include identification information, such as MAC address, received signal strength indication (RSSI), frequency (F) and/or other physical and/or informational attributes, received in the signals 120 A, 120B, and 120C in a sampling interval by the mobile wireless device 100. The pattern of this identification information, analogous to a fingerprint, may characterize the location of the mobile wireless device 100 during the time stamped sampling interval. The positioning server 170 receiving the positioning request 102, may analyze the patterns of this identification information and generate probability values of the location of the mobile wireless device 100 during the time stamped sampling interval. This location-related data may then be output to the global database 140.

The global database 140 may include data representing Wi-Fi hot spot maps of certain geographic areas, including the interiors of buildings. Figure 2B depicts a Wi-Fi hot spot map of Washington, DC, which correlates the location-related data of wireless access points with the latitude and longitude of the locations of the access points. The figure shows the global database 140 sending to the requester, the location response 104 with the location information corresponding to the identification information for the plurality of wireless devices, in accordance with at least one embodiment of the present invention.

Figure 3A illustrates an example embodiment of the invention, depicting a request packet 102 that may include the MAC address, received signal strength indication (RSSI), frequency (F) and/or other physical and/or informational attributes of the identification information for the plurality of wireless access point devices 150B and 150C, sent by the mobile wireless device 100 to an access point 150A connected to the positioning server and global database 160, in accordance with at least one embodiment of the present invention.

Figure 3B illustrates an example embodiment of the invention, depicting a response packet 104 including latitude and longitude coordinate location information corresponding to the identification information for the plurality of wireless access point devices 150B and 150C, sent by the positioning server and global database 160 through the access point 150A to the mobile wireless device 100, in accordance with at least one embodiment of the present invention.

Figure 4 illustrates an example embodiment of the invention, depicting an example flow diagram 320 of an example method, from the point of view of the mobile device 100, in accordance with at least one embodiment of the present invention. The steps of the flow diagram represent computer code instructions stored in the RAM and/or ROM memory of the device, which when executed by the central processing units (CPU) 124 and/or 125, carry out the functions of the example embodiments of the invention. The steps may be carried out in another order than shown and individual steps may be combined or separated into component steps. The flow diagram has the following steps:

Step 322: scanning, by a wireless device, for signals from other wireless devices, including identification information of the other wireless devices;

Step 324: accumulating in a cache, identification information from the scanned signals for a plurality of the other wireless devices;

Step 326: sending a request including the identification information for the plurality of other wireless devices, to a positioning server, requesting location information corresponding to the identification information for the plurality of other wireless devices;

Step 328: receiving from the positioning server location information

corresponding to the identification information for the plurality of other wireless devices; and

Step 330: determining a current location of the wireless device based on the received location information.

Figure 5 illustrates an example embodiment of the invention, depicting an example flow diagram 620 of an example method, from the point of view of the positioning sever and database 160, in accordance with at least one embodiment of the present invention. The steps of the flow diagram represent computer code instructions stored in the RAM and/or ROM memory of the apparatus, which when executed by the central processing units (CPU) 124 and/or 125, carry out the functions of the example embodiments of the invention. The steps may be carried out in another order than shown and individual steps may be combined or separated into component steps. The flow diagram has the following steps:

Step 622: receiving a request including identification information for a plurality of wireless devices, requesting location information corresponding to the identification information for the plurality of other wireless devices; and

Step 624: sending to the requester, location information corresponding to the identification information for the plurality of wireless devices. Figure 6A illustrates a network of access points 150A, 150B, 150C, 150D distributed at known locations in a ceiling 1002, showing the mobile wireless device 100 at floor level beneath the ceiling, sending a positioning request 102 to one of the access points 150A, which is forwarded over a backbone link 105 to the positioning server and database 160, in accordance with at least one embodiment of the present invention.

The mobile wireless device 100 of Figure 6 A may include removable or imbedded memories that operate in a static or dynamic mode. The mobile wireless device 100 of Figure 6A may include rewritable memories such as Flash, EPROM, etc. Examples of removable storage media based on magnetic, electronic and/or optical technologies such as magnetic disks, optical disks, semiconductor memory circuit devices, and micro-SD memory cards are shown at 135 and in Figure 7, and may serve, for instance, as a program code and data input/output means. Code may include any interpreted or compiled computer language including computer-executable instructions. The code and/or data may be used to create software modules such as operating systems, communication utilities, user interfaces, more specialized program modules, etc.

Figure 6B illustrates the network of access points 50A, 150B, 150C, 150D distributed in the ceiling 1002 of Figure 6 A, showing the positioning server and database 160 sending location responses 104 to the mobile wireless device 100 via the backbone link 105 and access point 150A, in accordance with at least one embodiment of the present invention.

Figure 7 illustrates an example embodiment of the invention, wherein examples of removable storage media 135 are shown, based on magnetic, electronic and/or optical technologies, such as magnetic disks, optical disks, semiconductor memory circuit devices, and micro-SD memory cards, for storing data and/or computer program code as an example computer program product, in accordance with at least one embodiment of the present invention.

Using the description provided herein, the embodiments may be implemented as a machine, process, or article of manufacture by using standard programming and/or engineering techniques to produce programming software, firmware, hardware or any combination thereof. Any resulting program(s), having computer-readable program code, may be embodied on one or more computer-usable media such as resident memory devices, smart cards or other removable memory devices, or transmitting devices, thereby making a computer program product or article of manufacture according to the embodiments. As such, the terms "article of manufacture" and "computer program product" as used herein are intended to encompass a computer program that exists permanently or temporarily on any computer-usable non-transitory medium.

As indicated above, memory/storage devices include, but are not limited to, disks, optical disks, removable memory devices such as smart cards, SIMs, WIMs,

semiconductor memories such as RAM, ROM, PROMS, etc. Transmitting mediums include, but are not limited to, transmissions via wireless communication networks, the Internet, intranets, telephone/modem-based network communication, hard- wired/cab led communication network, satellite communication, and other stationary or mobile network systems/communication links.

Although specific example embodiments have been disclosed, a person skilled in the art will understand that changes can be made to the specific example embodiments without departing from the spirit and scope of the invention.

Patentcitaties
Geciteerd patent Aanvraagdatum Publicatiedatum Aanvrager Titel
WO2008006077A2 *6 juli 200710 jan 2008Skyhook Wireless Inc.Systems and methods of gathering information from wlan- enabled access points to estimate position of a wlan positioning device
US20040078151 *18 okt 200222 april 2004Daniel AljadeffWireless local area network (WLAN) channel radio-frequency identification (RFID) tag system and method therefor
US20040162896 *14 feb 200319 aug 2004Shanwei CenEstimating the location of a network client using a media access control address
US20040203904 *27 dec 200214 okt 2004Docomo Communications Laboratories Usa, Inc.Selective fusion location estimation (SELFLOC) for wireless access technologies
US20060095349 *28 okt 20054 mei 2006Skyhook Wireless, Inc.Method and system for building a location beacon database
Verwijzingen naar dit patent
Citerend patent Aanvraagdatum Publicatiedatum Aanvrager Titel
WO2015127423A1 *24 feb 201527 aug 2015Skyhook Wireless, Inc.Certified location for mobile devices
US93325238 mei 20143 mei 2016Qualcomm, IncorporatedSystems and methods of offloaded positioning for determining location of WLAN nodes
US981710124 feb 201514 nov 2017Skyhook Wireless, Inc.Certified location for mobile devices
Classificaties
Internationale classificatieG01S1/68, G06F17/30, H04W64/00, G01S5/00, G01S5/02
CoŲperatieve classificatieH04W64/00, G01S5/02, G01S1/68, G01S5/0236
Juridische gebeurtenissen
DatumCodeGebeurtenisBeschrijving
2 okt 2013121Ep: the epo has been informed by wipo that ep was designated in this application
Ref document number: 12868204
Country of ref document: EP
Kind code of ref document: A1
11 aug 2014NENPNon-entry into the national phase in:
Ref country code: DE
11 maart 2015122Ep: pct app. not ent. europ. phase
Ref document number: 12868204
Country of ref document: EP
Kind code of ref document: A1