Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR EFFICIENTLY COMPRESSING ACCESS POINT IDENTIFIERS
Document Type and Number:
WIPO Patent Application WO/2015/007756
Kind Code:
A1
Abstract:
In accordance with an example embodiment of the present invention, an apparatus comprises a receiver configured to receive a list of access points to be included in a radio map, and a processor configured to compress an identifier of at least one access point in the list based at least in part on a significance data of the at least one access point.

Inventors:
WIROLA LAURI (FI)
WIROLA LAURA (FI)
SYRJÄRINNE JARI (FI)
BLOMQVIST MIKKO (FI)
Application Number:
PCT/EP2014/065195
Publication Date:
January 22, 2015
Filing Date:
July 16, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HERE GLOBAL BV (NL)
International Classes:
G01S5/02
Foreign References:
US20110227790A12011-09-22
Attorney, Agent or Firm:
TOGNETTY, Virpi (Karakaari 7, Espoo, FI)
Download PDF:
Claims:
WHAT IS CLAIMED IS

1. An apparatus, comprising:

a receiver configured to receive a list of access points to be included in a radio map; and

a processor configured to compress an identifier of at least one access point in the list based at least in part on a significance data of the at least one access point.

The apparatus of claim 1 , wherein the processor is further configured to compress the identifier of the at least one access point only if the at least one access point is not significant.

The apparatus of claim 1 , wherein the processor is further configured to compress the identifier of the at least one access point only if the at least one access point is not significant and the number of times the at least one access point is comprised in past positioning requests is less than a threshold.

The apparatus of any of claims 1-3, wherein compressing the identifier comprises reducing a number of bits needed to represent the identifier.

The apparatus of any of claims 1-4, wherein the identifier is one of a basic service set identifier and a medium access control address.

The apparatus of any of claims 1-5, wherein the processor is further configured to represent the at least one access point in the radio map using the compressed identifier.

The apparatus of claim 6, wherein a number of access point identifiers compressed is based at least in part on a desired size of the radio map.

The apparatus of any of claims 1-7, wherein a plurality of access points comprising the list of access points are associated with nodes in a grid corresponding to an area in which the plurality of access points comprising the list of access points are located and each node in the grid comprises at least a predetermined number of access points with uncompressed identifiers.

An apparatus, comprising:

a receiver configured to receive identifiers of at least two access points wherein an identifier of a first access point is not detected in a radio map and an identifier of a second access point is detected in the radio map;

a processor configured to compress the identifier of the first access point; and

the processor configured to, in response to detecting a plurality of locations of the first access point based at least in part on the compressed identifier, select at least one of the plurality of locations, based at least in part on a location of the second access point.

The apparatus of claim 9, wherein the processor is further configured to select a location of the first access point based at least in part on distances between the plurality of locations of the first access point and the location of the second access point.

A method, comprising:

receiving a list of access points to be included in a radio map; and

determining to compress an identifier of at least one access point in the list based at least in part on a significance data of the at least one access point.

The method of claim 11 , wherein the identifier of the at least one access point is compressed only if the at least one access point is not significant.

The method of claim 11 , wherein an identifier of the at least one access point is compressed only if the at least one access point is not significant and the number of times the at least one access point is comprised in past positioning requests is less than a threshold.

14. The method of any of claims 11-13, wherein compressing the identifier comprises reducing a number of bits needed to represent the identifier.

15. The method of any of claims 11-14, wherein the identifier is one of a basic service set identifier and a medium access control address.

16. The method of any of claims 11-15, further comprising representing the at least one access point in the radio map using the compressed identifier. 17. The method of claim 16, wherein a number of access point identifiers compressed is based at least in part on a desired size of the radio map.

18. The method of any of claims 11-17, wherein a plurality of access points comprising the list of access points are associated with nodes in a grid corresponding to an area in which the plurality of access points comprising the list of access points are located and each node in the grid comprises at least a predetermined number of access points with uncompressed identifiers. 19. A method, comprising:

receiving identifiers of at least two access points wherein an identifier of a first access point is not detected in a radio map and an identifier of a second access point is detected in the radio map;

compressing the identifier of the first access point; and in response to detecting a plurality of locations of the first access point based at least in part on the compressed identifier, selecting at least one of the plurality of locations, based at least in part on a location of the second access point. 20. The method of claim 19, wherein a location of the first access point is selected based at least in part on distances between the plurality of locations of the first access point and the location of the second access point. 21. An apparatus, comprising:

at least one processor; and 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 to perform at least the following:

receiving a list of access points to be included in a radio map; and

determining to compress an identifier of at least one access point in the list based at least in part on a significance data of the at least one access point.

22. An apparatus, comprising:

means for receiving a list of access points to be included in a radio map, and

means for determining to compress an identifier of at least one access point in the list based at least in part on a significance data of the at least one access point.

23. A computer program, comprising:

code for receiving a list of access points to be included in a radio map; and

code for determining to compress an identifier of at least one access point in the list based at least in part on a significance data of the at least one access point.

The computer program according to claim 23, wherein the computer program is a computer program product comprising a computer-readable medium bearing computer program code embodied therein for use with a computer.

25. A computer-readable medium encoded with instructions that, when

executed by a computer, perform:

receiving a list of access points to be included in a radio map; and determining to compress an identifier of at least one access point in the list based at least in part on a significance data of the at least one access point.

A computer program configured to cause a method according to at least one of claims 11-20 to be performed.

Description:
METHOD AND APPARATUS FOR EFFICIENTLY COMPRESSING ACCESS

POINT IDENTIFIERS

TECHNICAL FIELD

[0001] The present application relates generally to compressing identifiers of access points.

BACKGROUND

[0002] Modern global cellular and non-cellular positioning technologies are based on generating large global databases containing information on cellular and non- cellular signals. The information may originate entirely or partially from users of these positioning technologies. This approach may also be referred to as "crowd-sourcing".

[0003] Information provided by users may be in the form of "fingerprints", which contain a location that is estimated based on, for example, received satellite signals of a global navigation satellite system, GNSS, and measurements taken from one or more radio interfaces for signals of a cellular and/or non-cellular terrestrial system. A location may comprise an area surrounding a geographical position, for example. In the case of measurements on cellular signals, the results of the measurements may contain a global and/or local identification of the cellular network cells observed, their signal strengths and/or path losses and/or timing measurements like timing advance, TA, or round-trip time. For measurements on wireless local area network, WLAN, signals, as an example of signals of a non-cellular system, the results of the measurements may contain at least one of a basic service set identification, BSSID, like the medium access control, MAC, address of observed access points, APs, the service set identifier, SSID, of the access points, and the signal strengths of received signals. A received signal strength indication, RSSI, or physical reception level may be expressed in dBm units with a reference value of 1 mW, for example.

[0004] Such data may then be transferred to a server or cloud, where the data may be collected and where further models may be generated based on the data for positioning purposes. Such further models can be coverage area estimates, communication node positions and/or radio channel models, with base stations of cellular communication networks and access points of WLANs being exemplary communication nodes. In the end, these refined models, also known as radio maps, RM, may be used for estimating the position of mobile terminals. [0005] Fingerprints do not necessarily have to comprise a GNSS based position. They may also include cellular and/or WLAN measurements only. In this case the fingerprint could be assigned a position for example based on a WLAN based positioning in a server. Such self-positioned fingerprints can be used to learn cellular network information, in case there are cellular measurements in the fingerprint. Moreover, in a set of WLAN measurements in a fingerprint there may be, in addition to measurements for known WLAN access points, also measurements for unknown access points and the position of the unknown access points can be learned through these self-positioned fingerprints. Finally, more data can be learned of previously known access points based on self-positioned fingerprints.

[0006] It may be noted that even when using a mobile terminal having GNSS- capabilities, a user may benefit from using cellular/non-cellular positioning technologies in terms of time-to-first-fix and power consumption. Also, not all applications require a GNSS-based position. Furthermore, cellular/non-cellular positioning technologies work indoors as well, which is generally a challenging environment for GNSS-based technologies.

SUMMARY

[0007] Various aspects of examples of the invention are set out in the claims.

[0008] According to a first aspect of the present invention, an apparatus comprises a receiver configured to receive a list of access points to be included in a radio map, and a processor configured to compress an identifier of at least one access point in the list based at least in part on a significance value of the at least one access point.

[0009] According to a second aspect of the present invention, a method comprises receiving a list of access points to be included in a radio map, and determining to compress an identifier of at least one access point in the list based at least in part on a significance value of the at least one access point.

[0010] According to a third aspect of the present invention, a method comprises receiving identifiers of at least two access points wherein an identifier of a first access point is not detected in a radio map and an identifier of a second access point is detected in the radio map, compressing the identifier of the first access point, and in response to detecting a plurality of locations of the first access point based at least in part on the compressed identifier, selecting at least one of the plurality of locations, based at least in part on a location of the second access point. [0011] According to further aspects of the present invention, computer programs are provided that are configured to cause methods in accordance with the second, third and fourth aspects to be performed. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] For a more complete understanding of example embodiments of the present invention, reference is now made to the following descriptions taken in connection with the accompanying drawings in which:

[0013] FIGURE 1 shows an example architecture of a positioning system;

[0014] FIGURE 2 shows an example system for generating and distributing partial RMs for offline usage in user terminals;

[0015] FIGURE 3 shows an apparatus embodying a process for compressing AP identifiers according to an example embodiment of the invention;

[0016] FIGURE 4 is a flow diagram showing operations for compressing AP identifiers in accordance with at least one embodiment of the invention; and

[0017] FIGURE 5 demonstrates how a positioning request may be processed by utilizing a partial RM comprising compressed identifiers, according to an embodiment of the invention. DETAILED DESCRIPTION OF THE DRAWINGS

[0018] Positioning systems may function in two modes. The first mode is a terminal-assisted mode, in which a terminal performs measurements of cellular and/or non- cellular air interface signals and provides results of the measurements to a positioning server hosting a global cellular and/or non-cellular RM database. The server then provides a position estimate back to the terminal. This methodology is called online positioning and requires the terminal to have data connectivity whenever positioning service is needed.

[0019] The second mode is a terminal-based mode, an offline positioning technique, in which a terminal has a local copy of a RM, called a partial RM. This partial RM is a subset of the global RM in form of WLAN RM offline files, for example. These files may be in the form of a database or any other form that is readable by a computer.

There may be multiple such files, since it may be advantageous not to have a single global file, but several smaller ones so that the terminal may only download partial RM for a specific area, for example, a country or a city where a need for positioning is anticipated.

This subset can also be pre-installed on the terminal. In at least one of the downloaded and pre-installed case, data in the subset may need to be refreshed at some point. Offline positioning techniques do not require the terminal to have data connectivity whenever positioning service is needed.

[0020] Offline positioning may be advantageous from a service perspective because it helps reduce load on positioning servers. Also, since the terminals are capable of positioning themselves without contacting a positioning server, the terminals may remain location aware all the time. Additionally, time-to-first-fix may be very short, since the device does not need to contact the server.

[0021] WLAN RM offline files can be very large in size. As an example, in an urban/suburban area covering roughly 10x10 km, there can be more than 10 million APs. This results in an average density of one AP every 10 m 2 or 400,000 APs per 2x2 km tile. Transferring location information for each of these APs from a server to a terminal consumes a lot of server resources, network bandwidth, storage space in the terminal and it can also be quite expensive to the consumer in the form of data charges. Thus, it is desirable to reduce the size of a partial RM and resultantly have smaller size WLAN RM offline files while still maintaining an acceptable level of accuracy and availability in offline positioning. Availability of a positioning system is defined as the ratio of the number of successful positioning events to the total number of positioning requests. It can be appreciated that availability is an important metric affecting user experience and can be heavily affected if the number of APs in a radio map is reduced.

[0022] In a radio map file, large amount of data is consumed by identifiers of APs comprising the radio map. These AP identifiers may be BSSIDs or MAC addresses, for example. BSSIDs are 6-byte numbers which may be shortened, for example, by employing a digital compression algorithm, to reduce a size of a RM file. Various algorithms may be used to compress an AP identifier. One such algorithm is the CRC-16 ITU-T algorithm. An AP whose identifier is compressed may be called a compressed AP and an AP whose identifier has not been compressed may be called an uncompressed AP.

[0023] In a RM comprising 10 million APs, shortening of 6-byte SSIDs to 2- bytes will result in the amount of data consumed by AP identifiers being reduced from 60 M bytes to 20 M bytes. Such BSSID shortening, although very effective in reducing size of RM files, may result in ambiguities in identification of an AP. For example, shortening a 6- byte identifier to 2-bytes may result in multiple 6 byte BSSIDs mapping to the same 2 byte identifier. [0024] Embodiments of the present invention relate to reducing size of a RM by compressing identifiers of only a carefully chosen subset of APs in the RM such that ambiguities in location of the compressed APs are likely to be resolved with the knowledge of uncompressed APs. Positioning requests or fingerprints pertaining to locations with high AP density are likely to include a common large set of APs. In many cases, it may be sufficient to choose only a subset of these APs, to be able to serve a positioning request pertaining to the high AP density area. This subset of APs may be called significant APs. While selecting AP for compression of identifiers, ensuring identifiers of significant APs remain uncompressed is likely to result in minor loss in accuracy and availability of offline positioning when utilizing RMs with compressed AP identifiers.

[0025] FIGURE 1 shows an example architecture of a positioning system. The positioning system of FIGURE 1 comprises a GNSS 101, a user terminal 102, a cellular network 103, WLAN systems 104, a positioning server 105, a collection/learning server 106 and a global RM database 107. Positioning server 105 and collection/learning server 106 may be co-located in a single site or apparatus, or alternatively they may be distinct in the sense that positioning server 105 is external to collection/learning server 106 and collection/learning server 106 is external to positioning server 105. Global RM database may be a standalone node, or it may be comprised in collection/learning server 106 and/or positioning server 105. The user terminal 102 may receive its GNSS based position from the GNSS 101. The GNSS could be GPS, GLONASS or any other satellite based navigation system. The user terminal may also receive radio signals from the cellular network 103. The cellular network 103 could be based on any kind of cellular system, for instance a GSM system, a 3rd Generation Partnership Project, 3 GPP, based cellular system like a WCDMA system or a time division synchronous CDMA, TD-SCDMA, system, for example supporting high speed packet access, HSPA, a 3GPP2 system like a CDMA2000 system, a long term evolution, LTE, or LTE-Advanced system, or any other type of cellular system, like a WiMAX system. Cellular network 103 comprises a plurality of base stations or base transceiver stations as communication nodes. Furthermore, user terminal 102 may also receive signals from WLANs 104. WLANs 104 comprise at least one access point as a communication node. WLANs 104 may be based upon the IEEE 802.11 standards, for example.

[0026] The user terminal 102 comprises a processor 1021, and linked to the processor, a memory 1022. Memory 1022 stores computer program code in order to cause the user terminal 102 to perform desired actions. Processor 1021 is configured to execute computer program code stored in memory 1022. The user terminal further comprises memory 1024 to store additional data such as, for example, partial RMs. The user terminal may further include at least one antenna in communication with at least one transmitter and at least one receiver to enable communication with the GNSS 101 , cellular network 103, WLAN 104, positioning server 105 and collection/learning server 106. The mobile terminal processor 1021 may be configured to provide signals to and receive signals from the at least one transmitter and the at least one receiver, respectively.

[0027] Although not shown, the user terminal 102 may also include one or more other means for sharing and/or obtaining data. For example, the apparatus may comprise a short-range radio frequency, RF, transceiver and/or interrogator so data may be shared with and/or obtained from electronic devices in accordance with RF techniques. The user terminal may comprise other short-range transceivers, such as, for example, an infrared, IR, transceiver, a Bluetooth™' BT, transceiver operating using Bluetooth™ brand wireless technology developed by the Bluetooth™ Special Interest Group, a wireless universal serial bus, USB, transceiver and/or the like. The Bluetooth™ transceiver may be capable of operating according to low power or ultra-low power Bluetooth™ technology, for example, Bluetooth low energy, radio standards. In this regard, the user terminal 102 and, in particular, the short-range transceiver may be capable of transmitting data to and/or receiving data from electronic devices within proximity of the apparatus, such as within 10 meters, for example. The apparatus may be capable of transmitting and/or receiving data from electronic devices according to various wireless networking techniques, including 6LoWpan, Wi-Fi, Wi-Fi low power, IEEE 802.15 techniques, IEEE 802.16 techniques, and/or the like.

[0028] The user terminal further comprises a collection client 1023. Collection client 1023 may comprise, for example, a software module stored in memory 1022, or in another memory comprised in user terminal 102. The collection client 1023 may be configured to collect information comprising at least one of the following to be sent to the collection/learning server 106:

• An estimate of the user terminal's location based on, for example, received satellite signals of the GNSS 101

• Measurements taken from signals of the cellular network 103.

• Results of scanning of WLAN systems 104.

• Results of scanning of other short range radio signals. [0029] The collection/learning server 106 receives this information and based on it, builds a database of AP locations and coverage areas of cellular base stations and APs, such as for example WLAN APs. Such a database may be called a global RM database 107 since the RMs stored in this database may not be specific to a country or a city. Rather, they may be global in nature. In some embodiments, collection/learning server 106 is configured to build a database of AP locations that does not comprise information on coverage areas of cellular base stations.

[0030] Once a reliable global RM database 107 is built, the positioning server 105 may serve online positioning requests from user terminals. A user terminal may take measurements of signals from cellular networks and/or perform WLAN scans and send them to the positioning server 105. The positioning server may refer to the global RM database and based at least in part upon the information provided by the user terminal, provide an estimate of the user terminal position.

[0031] If a data connection between the positioning server and a user terminal is unavailable or is undesirable, the terminal may rely on offline positioning. For terminal based offline positioning to work, a partial RM or a subset of the global RM in form of RM offline files, such as for example WLAN offline files, may be stored in the memory 1024 of the user terminal. With a partial RM pertaining to the area in which a user terminal is presently located stored in a memory of the user terminal, the user terminal may scan the WLANs and/or signals from cellular networks at its location and after consulting a partial RM stored in its memory, find its position without sending a request to a positioning server. It should be noted that partial RMs may be based upon access points of short range wireless systems other than WLAN systems and a user terminal may scan for signals from at least one of these other short range wireless systems to estimate its position.

[0032] FIGURE 2 shows an exemplary system for generating and distributing partial RMs for offline usage in user terminals. In accordance with an embodiment of the present invention, an offline WLAN RM generator, OW-RMG, 201 takes as inputs a global RM from a global database 202 and a list of WLAN APs to be included in a partial RM from an AP selector for partial RMs 203. As discussed earlier, it is not desirable to include all APs in offline RMs to be stored on a user terminal and the AP selector for partial RMs 203 helps achieve this goal by identifying APs which are relevant to the performance of partial RMs. The AP selector for partial RMs 203 may store APs for which the significance flag is set. The AP selector for partial RMs 203 may comprise a memory. The selection of APs by the AP selector for partial RMs 203 may be based at least in part on the inputs provided by a user terminal 206. The OW-RMG 201 may further refine the list of APs received from the selector 203 based upon a set of at least one criterion. The OW-RMG 201 generates partial RMs based upon these inputs and transfers them for storage to the offline WLAN RM database 204. The partial RMs needed by the user terminal 206 are then transferred by the offline WLAN RM database 204 to the RM offline download server 205. In an embodiment of the invention, the offline WLAN RM database 204 may be absent and a partial RM file may be transmitted directly from the OW-RMG 201 to the RM offline download server 205. From the download server, a partial RM file may be downloaded by the user terminal 206 or any other user terminal. The user terminal may have the structure and circuitry of user terminal 102 of FIGURE 1, for example. The user terminal may include at least one antenna in communication with at least one transmitter and at least one receiver to enable communication with the download server. Similarly, the download server may include at least one antenna in communication with at least one transmitter and at least one receiver to enable communication with the user terminal. The download server may further include a processor configured to provide signals to and receive signals from the transmitter and receiver, respectively.

[0033] It is highly desirable to have partial RMs which result in high accuracy and availability of offline positioning and yet have as small a file size as posisble. In accordance with embodiments of the present invention, this can be achieved in part if at least a subset of identifiers of non-significant APs is compressed. Non-significant APs can be identified based upon positioning requests or fingerprints in the server.

[0034] Global RM database 202, AP selector for partial RMs 203, Offline WLAN RM generator 201, Offline WLAN RM database 204 and RM offline download server 205 may be implemented as standalone nodes in a network, or alternatively at least two and optionally even all of them may be implemented as functions in a single physical server.

[0035] FIGURE 3 shows an example apparatus embodying a process for compressing AP identifiers according to an example embodiment of the invention. As an example, FIGURE 3 may represent the Offline WLAN RM generator 201 of FIGURE 2. Apparatus 300 comprises processors 301, 303, 304, 305, 306 and, linked to these processors, a memory 307. The processors 301, 303, 304, 305, 306 may, for example, be embodied as various means including circuitry, at least one processing core, one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an application specific integrated circuit, ASIC, or field programmable gate array, FPGA, or some combination thereof. A processor comprising exactly one processing core may be referred to as a single-core processor, while a processor comprising more than one processing core may be referred to as a multi-core processor. Accordingly, although illustrated in FIGURE 3 as single processors, in some embodiments the processors 303, 304, 305, 306 may comprise a plurality of processors or processing cores. Similarly, processors 303, 304, 305, 306 may be embodied within one processor 301. In some embodiments, at least one of processors 303, 304, 305 and 306 are implemented at least in part in software, which software may be run on processor 301. Memory 307 stores computer program code for supporting compressing AP identifiers for inclusion in a partial RM. Processors 301, 303, 304, 305, 306 are configured to execute computer program code stored in memory 307 in order to cause the apparatus to perform desired actions. Apparatus 300 further comprises memory 302. Memory 302 may be used, at least in part, to store input data needed for operations of the apparatus 300 or output data resulting from operation of the apparatus 300. Apparatus 300 could be a server or any other suitable device. Apparatus 300 could equally be a module, like a chip, circuitry on a chip or a plug- in board, for a server or for any other device. Optionally, apparatus 300 could comprise various other components, such as for example at least one of a user interface, a further memory and a further processor. Memory 302 and memory 307 may be distinct memories, or alternatively memory 307 may be comprised in memory 302, or memory 302 may be comprised in memory 307.

[0036] Interface 309, which may be a data interface, may receive a list of APs selected to comprise a partial RM. The list of APs may comprise a list of at least one AP identity. An AP identity may comprise a service set identification, SSID, and/or a basic service set identifier, BSSID such as a MAC address. In some embodiments, the list comprises identities of base stations, such as for example cellular base stations. The interface 309 may receive the list of APs from an AP selector for RMs, such as AP selector for partial RMs 203 of FIGURE 2. The APs comprising the list of APs may have been comprised in one or more positioning requests comprising WLAN scan results of user terminals or they may have been comprised in one or more fingerprints received at a positioning server or a collection/learning server, for example. Once received by the apparatus 300, the list of APs may be stored in memory 302 or in memory 307, for example.

[0037] The AP list processor 303 may receive the list of APs from the interface 309 or it may retrieve the list from memory 302 and/or memory 307. Furthermore, the AP list processor determines significance data associated with the APs comprising the list of APs. The significance data may be received from a database or processor, either internal or external to the apparatus 300. For example, significance data may be received from AP selector for partial RMs 203 of FIGURE 2. The significance data may be a binary flag which may be set to either 0 or 1 , indicating whether an AP is significant or not, for example. The significance data may be stored in a memory location which may be comprised in memory 302 or in memory 307, for example.

[0038] Given a plurality of lists of APs, an AP which is comprised in a highest number of lists may be called a significant AP. In an example embodiment of the invention, to determine a set of significant APs, a processor may receive one or more lists of APs which were observed at a location. This processor may be comprised in the apparatus 300 or it may be external to the apparatus 300. The processor may reside within an AP selector for RMs, such as AP selector for partial RMS 203 of FIGURE 2 or it may reside within an offline RM generator such as offline WLAN RM generator 201 of FIGURE 2. As an example, consider the following three lists of APs, Rl, R2, R3, that are received by the processor:

Rl = (API, AP3, AP6, AP7)

R2 = (AP2, AP3, AP4)

R3 = (API, AP3, AP5, AP6)

[0039] Each of these lists may be comprised in a different positioning request and together, these lists comprise seven APs, AP1-AP7 which were observed by one or more user terminals at a location. In another embodiment of the invention, some or all of these lists may be comprised in one or more fingerprints.

[0040] The number of lists to which each AP is common is shown in Table 1.

Table 1 : Number of lists to which each AP is common

[0041] Among the seven APs that are comprised in the three AP lists, AP3 appears in each list and as such is an AP which is common to a highest number of lists. Hence, AP3 is identified as a significant AP by the processor and a significance data may be stored in a memory coupled to the processor to indicate that AP3 is a significant AP. The significance data may be a significance flag or a binary flag which may be set to either 0 or 1, indicating whether an AP is significant or not, for example.

[0042] Since AP3 appears in all three lists, it is enough to select only AP3 to serve the three positioning requests Rl, R2 and R3. Correspondingly, instead of forming a RM with all seven APs, AP1-AP7, a partial RM may be formed with only one AP, AP3, to sufficiently serve all three positioning requests.

[0043] In another embodiment of the invention, using knowledge of significant APs, the processor may remove from consideration, the lists comprising significant APs from the plurality of lists, to generate a smaller set of lists. For example, if the following four lists of APs were received at the AP list processor,

Rl = (API, AP3, AP6, AP7)

R2 = (AP2, AP3, AP4)

R3 = (API, AP3, AP5, AP6)

R4 = (AP7)

then, a table listing the number of lists to which each AP is common would look like the following:

Table 2: Number of lists to which each AP is common

[0044] As already described, the processor will determine that AP3 is a significant AP and significance data for AP3 will be updated. Further, the processor will remove Rl, R2, and R3 from the list of APs, since Rl, R2 and R3 comprise a significant AP, AP3. Only R4 will remain. The AP list processor 303 will now analyse R4, the only remaining list and will determine that R7, the only AP in the remaining list, does not have its significance flag set. Significance data of AP7 will be updated by the processor to reflect that AP7 is a significant AP. The processor will then determine that there are no more lists to be processed and the process of determining significant APs will stop.

[0045] In yet another embodiment of the invention, the plurality of lists of access points received by the processor comprises only one list of access points. If no AP comprised in the list has its significance flag set, the processor may identify any one or more APs comprised in the list as significant APs. However, in order to reduce a number of significant APs, it may be advantageous to identify only one or only a subset of APs as significant.

[0046] In another embodiment of the invention, the following five lists of APs may be received by the processor:

Rl = (API, AP3)

R2 = (API, AP3, AP4)

R3 = (AP2, AP4, AP5)

R4 = (AP4, AP5)

R5 = (AP3, AP5)

These AP lists may be part of one or more positioning requests or they may be part of one or more fingerprints, for example. These AP lists may be lists of observed APs at a location, for example.

[0047] In order to identify significant APs, an AP that is observed in most requests is identified. Table 3 shows the number of lists to which each AP is common:

Table 3: Number of lists to which each AP is common

[0048] Since each of AP3, AP4 and AP5 are observed in three lists out of five, AP3 is randomly chosen as an AP which is common to a highest number of lists.

Thereafter, only lists not comprising AP3 (R3 and R4) are considered and an AP that is common to most lists among the lists not comprising AP3 is determined. Table 4 shows the number of lists to which each AP is common, considering only R3 and R4.

Table 4: Number of lists to which each AP is common

[0049] Both AP4 and AP5 are observed highest number of times in the remaining lists and AP4 is chosen as a significant AP. Hence, two significant APs, AP3 and AP4 were identified from 5 AP lists comprising 5 APs. This also implies that positioning requests R1-R5 comprising 5 APs can be served with just two APs (AP3 and AP4). Finally, significance data is updated for AP3 and AP4 to reflect that these APs are significant APs. For example, significance flag for these two APs may be set.

[0050] To identify significant APs, AP lists may be analysed as they are received or they may be analysed in a batch mode, in which case all AP lists received over a period of time, say one month, may be analysed together, for example.

[0051] In addition to the methods described herein for identification of significant APs, there may be other mathematical algorithms such as those suitable for dimension reduction problems, which can be used to find a set of significant APs. At least one such algorithm is presented in SIAM J. Matrix Anal. AppL, vol. 21, No. 3, pp. 797- 808, titled "On the optimality of the backward greedy algorithm for the subset selection problem", by Christophe Couvreur et al.

[0052] The significance data of an AP may be divided into time periods of desired length, such as for example daily, weekly or monthly significance data. The daily, monthly or weekly significance data is saved for a desired period of time, for example, for the previous six months. The advantage of saving significance data in time periods is that it facilitates detecting changes in RM. For example, if there are changes in the significance flag between months, the AP most likely has been moved or is no longer in use. Similarly new APs may appear.

[0053] Once the AP list processor 303 has the list of APs to be included in a partial RM and significance data of these APs, the APs whose identifiers are to be compressed are selected. In an embodiment of the invention, identifiers of APs which are significant are not compressed and identifiers of one or more non-significant may be compressed. In another embodiment of the invention, identifiers of all non-significant APs may be compressed. In yet another embodiment of the invention, if a non-significant AP has occurred more than a predetermined number of times in positioning requests within a predetermined time period, its identifier is not compressed.

[0054] The AP compressor 304 receives the list of AP identifiers to be compressed from AP list processor 303, and compresses the AP identifiers. In another embodiment, the AP compressor may read the identifiers to be compressed from a memory such as memory 302 or memory 307. The AP compressor 304 may use any algorithm of choice, such as for example, the CRC-16 ITU-T algorithm to compress AP identifiers. A result of AP identifier compression is the AP identifier occupying less number of bits.

[0055] A RM generator 305 may generate a partial RM using the identifiers compressed by AP compressor 304 and identifiers of AP in the list received by AP list processor 303, which were not selected for compression. An RM thus generated may be stored in memory 302.

[0056] Various criteria may be used to choose significant APs to be excluded from identifier compression. For example, APs with significance flag set over certain period of time may be chosen. As an example, AP excluded from identifier compression may be the ones with significance flag set over the previous 3 months, for example.

Significance data of the selected APs should preferably be not too old. The limit may be that only APs that have significance flag set within the previous two, four or six months are excluded, for example. A new partial RM may be generated periodically, such as monthly or weekly or upon request. The RM generator 305 may receive additional information needed for generation of partial RMs, such as AP locations, from other sources such as a global RM database for example.

[0057] In yet another embodiment of the invention, an AP may not be selected for inclusion in a partial RM if it may not be used for position calculation.

[0058] Note that other selection methods can also be utilized and the invention is not restricted to selection methods described herein.

[0059] FIGURE 4 is a flow diagram showing operations of an offline WLAN RM generator, such as Offline WLAN RM generator 201 of FIGURE 2, according to an example embodiment of the invention. The method may be executed by an apparatus, such as for example apparatus 300 of FIGURE 3. In step 401, an offline WLAN RM generator receives information comprising a list of APs to be included in a RM. This list may comprise just one AP or it may comprise more than one APs. In step 402, a subset of APs whose identifiers were received in step 401, are selected for compression. To be able to form the subset, the offline WLAN RM generator determines which APs comprised in the list are significant. Significance data of the APs should preferably be not too old. The limit may be that only APs that have significance flag set within the previous two, four or six months may be considered significant, for example. In another embodiment of the invention, significance data updated only over a predetermined time period may be considered. For example, only APs with significance flag set over the previous 3 months may be considered significant. In addition, a number of times a non-significant AP has featured in positioning requests within a predetermined time period may also be determined. The predetermined time period may be 1 month, 3 months or 6 months, for example. In an embodiment of the invention, identifiers of APs which are significant are not compressed and identifiers of one or more non-significant may be compressed. In another embodiment of the invention, identifiers of all non-significant APs may be compressed. In yet another embodiment of the invention, if a non-significant AP has occurred more than a predetermined number of times in positioning requests within a predetermined time period, its identifier is not compressed.

[0060] In step 403, the AP identifiers determined to be compressed in step 402 are compressed. The compressed identifiers may comprise less number of bits compared to the uncompressed identifier. This compression may be performed by utilizing any digital compression algorithm, such as that the CRC-16 ITU-T algorithm, for example.

[0061] Finally in step 404, a RM is generated using the compressed identifiers and the remaining identifiers received at step 401, which were not compressed.

[0062] FIGURE 5 demonstrates how a positioning request may be processed by utilizing a partial RM comprising compressed identifiers, according to an embodiment of the invention. FIGURE 5 shows an area where eleven APs are located. APs marked by triangles are significant APs and as such a RM of the area stored on a user terminal includes their uncompressed identifiers. There are two such APs in the figure. APs marked with stars are non-significant APs and the RM stored on the user terminal includes only their compressed identifiers. There are nine such APs shown in the figure. Say, the user terminal scans for WLAN signals in the area and observes five out of these eleven APs. Two of the observed APs are the ones with uncompressed identifiers in the partial RM and as such are detected in the partial RM by the user terminal. The remaining three APs have compressed identifiers in the RM and resultantly, the user terminal does not find a match for the uncompressed identifiers that it detected as a result of the WLAN scanning. Next, the user terminal compresses the three AP identifiers using the same compression algorithm that was used to compress AP identifiers by an offline WLAN RM generator, such as the offline WLAN RM generator 201 of FIGURE 2, prior to generating the partial RM.

[0063] Upon searching for these compressed identifiers in the partial RM, the user terminal finds 9 matches as a result of non-uniqueness of compressed identifiers.

These locations are shown using stars in FIGURE 5. Based on the location of two APs with uncompressed identifiers, the user terminal may select the three APs marked with stars inside the box in the figure, as the remaining three APs detected during the WLAN scan. The selection of three APs may be based upon a distance between the 9 APs with compressed identifiers and the two APs with uncompressed identifiers. For example, three compressed APs with shortest distance from either one of the uncompressed APs may be chosen. In another embodiment, they may be chosen based upon an average of distances from the uncompressed APs. In general, any distance metric and criteria may be used to select compressed APs based upon a distance of a compressed AP from one or more uncompressed APs. Thereby, the user terminal may discard the remaining six possible AP locations and select the five APs within the box, to determine its location.

[0064] As the figure demonstrates, it may be advantageous to not compress identifiers of significant APs in a RM so as to increase the probability of detecting at least one uncompressed identifier in a scan made by a user terminal.

[0065] In an embodiment of the invention, the method of FIGURE 5 may be implemented in a user terminal, such as user terminal 102 of FIGURE 1. A partial RM may be stored in a memory of the user terminal, such as memory 1024 of FIGURE 1. The list of AP identifiers resulting from WLAN scans may be received by a WLAN receiver of the user terminal. The AP identifiers detected via a WLAN scan may be compressed by a processor, such as the processor 1021 of FIGURE 1. Selection of location of APs with compressed identifiers in a RM may be performed by a processor, such as the processor 1021 of FIGURE 1.

[0066] In an embodiment of the invention, while selecting APs whose identifiers are to be compressed prior to inclusion in a partial RM, a grid based mechanism may be used wherein an area for which the partial RM is to be generated is mapped to a grid. APs to be included in the partial RM are mapped to nodes of the grid. Then selection of AP identifiers for compression is then done in every grid node separately. For example, selection of APs to be compressed may be subject to maintaining at least a predetermined number of uncompressed APs at a grid node.

[0067] In another embodiment of the invention, it may be desirable to have at least a predetermined number of access points compressed. This predetermined number may be based upon a desired size of a partial RM file, for example.

[0068] If desired, the different functions discussed herein may be performed in a different order and/or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined.

[0069] Without in any way limiting the scope, interpretation, or application of the claims appearing below, a technical effect of one or more of the example embodiments disclosed herein is reducing a file size of a RM with minimal loss in positioning accuracy and availability. Another technical effect of one or more of the example embodiments disclosed herein is to resolve ambiguity in a location of a compressed AP by utilizing a location of an uncompressed AP.

[0070] Embodiments of the present invention may be implemented in software, hardware, application logic or a combination of software, hardware and application logic. The software, application logic and/or hardware may reside on memory 307, the processor 301 or electronic components, for example. In an example embodiment, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a "computer-readable medium" may be any media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer, with one example of a computer described and depicted in FIGURE 3. A computer-readable medium may comprise a computer-readable non-transitory storage medium that may be any media or means that can contain or store the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer. The scope of the invention comprises computer programs configured to cause methods according to embodiments of the invention to be performed.

[0071] Although various aspects of the invention are set out in the independent claims, other aspects of the invention comprise other combinations of features from the described embodiments and/or the dependent claims with the features of the independent claims, and not solely the combinations explicitly set out in the claims.

[0072] It is also noted herein that while the above describes example

embodiments of the invention, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications which may be made without departing from the scope of the present invention as defined in the appended claims.