WO2011063833A1 - Method and apparatus for enabling location based services - Google Patents
Method and apparatus for enabling location based services Download PDFInfo
- Publication number
- WO2011063833A1 WO2011063833A1 PCT/EP2009/065828 EP2009065828W WO2011063833A1 WO 2011063833 A1 WO2011063833 A1 WO 2011063833A1 EP 2009065828 W EP2009065828 W EP 2009065828W WO 2011063833 A1 WO2011063833 A1 WO 2011063833A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- location
- modem
- library
- platform independent
- access network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/024—Guidance services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
Definitions
- the present invention relates to communications networks, in general, and in particular to providing location based service to an internet enabled device.
- GPS Global Positioning System
- GPS receivers are especially beneficial in navigation devices that help drivers getting to a desired location.
- Mass market for these solutions drove their prices down and now GPS receivers are present also in mobile phones and other devices.
- GPS systems have some drawbacks. First, they do not work inside buildings because the satellite signal is too weak. The same problem sometimes occurs in dense urban environment. Another drawback is that the GPS receiver uses power of the mobile phone battery.
- Yet another drawback is a parameter called time to first fix that may not be that significant in the case of navigation applications, but when the GPS receiver is used to determine position on an ad hoc basis (i.e. when it was switched off to save battery or simply because it was not needed) the waiting time may be frustrating and in consequence of little use for location based internet services.
- the invention seeks to preferably mitigate, alleviate or eliminate one or more of the disadvantages mentioned above singly or in any combination.
- a method of providing a location based service to a device connected to a wireless access network via a modem comprises a client-side web scripting language library with a first application programmer interface and a platform independent software library with a second application programmer interface.
- the platform independent software library is enabled to be called from the client-side web scripting language library.
- the method comprises the steps of instructing the modem by the platform independent software library to obtain identification data relating to the access network that the modem is currently connected to and inspecting by the platform independent software library the file system of the modem in order to obtain configuration files containing data related to said access network and indicative of the location of the device.
- data indicative of the location of the device is sent to the client-side web scripting language based library for use by a web application to provide location based services to the device.
- a device connected to a wireless access network via a modem.
- the device comprises a client-side web scripting language library with a first application programmer interface and a platform independent software library with a second application programmer interface.
- the platform independent software library is connected to and enabled to be called from the client-side web scripting language library.
- the platform independent software library is adapted to instruct the modem to obtain identification data related to the access network that the modem is currently connected to and to inspect 112 the file system of the modem to obtain configuration files containing data related to said access network and indicative of the location of the device.
- the device further comprises a processing unit adapted to run the client-side web scripting language library and platform independent software library.
- the client-side web scripting language based library is adapted to receive data indicative of the location of the device from the platform independent software library and to send it to a web application to provide a location based service to the device.
- the present invention provides the benefits of:
- FIG. 1 - Fig. ID are diagrams illustrating a method of providing a location based service in embodiments of the present invention
- FIG. 2 is a diagram illustrating a device in one embodiment of the present invention. Detailed description
- the present invention in its various embodiments is applicable to internet enabled devices that connect to an access network via a radio interface.
- Various services available on the Internet could be enriched by information relevant to location of the user, but in order to provide this location based service the provider of the web site offering the service has to know the location of the user. This, however, is not easy as discussed in the background section.
- the device 200 connects to the internet via a modem 212.
- the modem 212 can be a built-in modem or an external modem connected via USB port, or via a Bluetooth connection or in any other way.
- the web page sends 104 to the device 200 an instruction to determine location of the device 200.
- the instruction from the web page is intercepted by a client-side web scripting language library 202 with a first API 204 operating in a processor 210 of the device 200.
- API Application Programmer Interface
- a software library is typically a set of software components designed to be used by third parties and so by definition it must offer some form of API.
- the client-side web scripting language library 202 is used by web developers to add location features into websites.
- the first API 204 can be used to display a map with the website user's location displayed on it.
- the client-side web scripting language library 202 with the first API is a JavaScript API, which is the most common scripting language on the Web. In alternative embodiments other scripting APIs can be used. In the future it will be a W3C standard based around HTML 5 Location API.
- the client-side web scripting language library 202 After receiving the instruction from the accessed web page the client-side web scripting language library 202 processes 106 this instruction and calls the platform independent software library 206. In response to this call the platform independent software library 206 instructs 108 the modem 212 to get identification data relating to the access network that the modem 212 is currently connected to. In one embodiment the instruction is given to the modem 212 using AT commands:
- the modem 212 connects to the access network via a radio interface and receives 110 a response from the base station in the format:
- the Location Area Code (LAC) and Cell ID are in hexadecimal format and denote the GSM radio cell that the modem is currently connected to. This information is saved in configuration files stored in a file system 214 of the modem 212.
- the platform independent software library 206 with its low-level API 208 is written in any portable programming language that allows access to AT Commands, for example, Java SE. The language chosen must be portable, in order for the low-level API 208 to work on a wide variety of internet enabled devices. It is the responsibility of the platform independent software library 206 to do the grunt work of obtaining the Cell ID and resolving it into location data.
- the modem 212 may be connected to a Wi-Fi hot spot (e.g. at an airport, in a shopping mall, office, etc.) or when there is no Wi-Fi available the connection may be via a radio access network of a GSM or 3 G or 4G network.
- the radio link is to a base station.
- the platform independent software library 206 uses HTTP GET or Telnet Log On instruction in order get access to the configuration files of the modem 212. Once the platform independent software library 206 has the access to the configuration files the platform independent software library 206 inspects 112 said configuration files containing data related to the access network.
- a configuration file is an XML configuration file containing LAC the current Cell ID and Signal Strength. This XML configuration file is stored in the file system 214 of the modem/router 212. Another example is reading a local cache of a Cell ID look up map that has been stored on the file system 214 of a modem/router 212.
- These configuration files typically are dynamically updated by the modem/router, so that they have real-time up to date information about the location of the user device.
- the platform independent software library 206 preferably resolves 114 these identification data into recognisable location information.
- the translation of the LAC and Cell ID into location data is performed by the platform independent software library 206 on the host processor 210 of the internet-enabled device 200.
- the device 200 is a PC with a mobile broadband dongle and the low-level second API 208 (i.e. the one of the platform independent software library 206) is written as a Java SE application then the LAC and Cell ID will be translated with the Java SE application, within the Java SE Virtual Machine, running on the core processor of the PC.
- the device 200 is not limited to personal computers and in other embodiments can be a mobile phone, PDA or any other device that accesses internet.
- the step of resolving 114 can be carried out in one of at least two possible ways, as illustrated in Fig. 1 A.
- the platform independent software library 206 makes a network call to a web service 122 that host a global Cell ID look up database.
- the LAC and Cell ID codes are sent.
- the platform independent software library 206 receives location information converted to a different format.
- the available web based services that provide translation of cell identification data use Cell ID, LAC, MCC (Mobile Country Code) and MNC (Mobile Network Code) - however most systems work just with Cell ID.
- the platform independent software library 206 may use 124 said database 216 to translate the Cell ID.
- the local database 216 should be updated regularly to have up to date information about location of newly added base stations and removed information about base stations taken out of service.
- the results of the translation are returned in one of the following formats:
- NMEA 0183 'navigation sentences' as from real GPS hardware; custom HTTP header for use with location aware services, e.g. GPS:
- the platform independent software library 206 sends 116 said data, preferably in an asynchronous fashion, to the client-side web scripting language based library 202 for use by a web application to provide location based services to the device 200.
- any method call that is blocking or can potentially block for long periods of time has to be asynchronous. This is in relation to the program code running in both the low-level 208 and high-level 204 scripting API. In fact both APIs can also offer a blocking synchronous method call additionally, but it is not really recommended because the code will just freeze until the method call has returned - which with a location look up could be a few seconds.
- the high level scripting API 204 can offer both synchronous and asynchronous method calls.
- the location information When the location information is received by the client-side web scripting language based library 202 it is available to the JavaScript Virtual Machine running said client-side web scripting language based library 202 and can be easily accessed and used by a JavaScript API. In consequence the location is available to the accessed web site that initiated the method. Having the user's location information the web site can provide a service that is specific to the current location of the user.
- the platform independent software library 206 does not resolve the LAC and Cell ID information, but sends 116 this data to the client-side web scripting language based library 202. This unprocessed information is then provided to the web application that initially sent the instruction 104 to determine the location of the device 200. Once the web application has the LAC and Cell ID data it resolves it to a required format. The web application uses for this operation either one of the available internet services or its own database.
- Fig. 1 illustrates the step of resolving 114 carried out before the step of sending as optional (dashed line).
- the difference between the two APIs is that the low-level API 208 never needs to expose its functionality directly to the web programmer. This means that it can work with the W3C HTML 5 Location API in the future. All the low-level API 208 does is to provide the information in to the JavaScript Virtual Machine running the high level API 204. Therefore, by having two separate APIs there is much more flexibility in the implementation and it eases integration with future scripting standards. The objective is to provide the location information directly into the JavaScript Virtual Machine and in this way allow any JavaScript API to access it. Providing the location information into the JavaScript VM ensures freedom for web programmers to design JavaScript APIs that can access it. Another way to view this is that there are two separate pieces of functionality and it has been chosen to locate these functionalities in different places for flexibility of integration.
- the device 200 In determining location of the device for the purpose of providing location based service the location of the user does not have to be very precise and in many situations coarse location information will be sufficient. However, the more accurate the location information is the better the service can be. Additionally, improved precision can allow for offering services not known today. Therefore, as shown in Fig IB, in order to determine location with improved accuracy the device 200 should check what networks are available for connection. If the device 200 can connect from its current location to more than one base station of different networks or more than one base stations (access points) 130 of the same network then the steps leading to determining location are activated for the base station with the shortest range 132. This is, for example, for a situation that the device in the same place can be connected to a cellular telephone network and to a Wi-Fi hot spot.
- the range of the Wi-Fi hotspot is much shorter than that of a cellular telephone network base station, location of the device determined based on the location of the Wi-Fi hotspot will be more accurate. Similarly, if the device 200 from its current location can connect to different base stations of the same cellular telephone network 130 the device should choose the base station with the shortest range 132 for the process of location fixing. It is known to classify cells of a cellular telephone network based on the radius of the cell. In one of the classifications macro-cells are cells with radius 1 km - 30 km, micro-cells are cells with radius 200 m - 2 km and pico-cells are cells with radius 4 m - 200 m.
- the device 200 can connect from its current location to a micro-cell A and a pico-cell B the device should determine its position with reference to the pico-cell B.
- the cells available for connection and in consequence for determination of the position of the device 200 in a preferred embodiment belong to the same operator, preferably the network to which the user device 200 is subscribed to.
- the base stations belong to different operators.
- the device when the device can connect from its current location to more than one base station 130 and the base stations offer radio interfaces operating in the same technology, and the signals received are from the same type of cells (macro, micro or pico-cells) the connection with the base station with the strongest signal is used 136 to determine location of the device 200.
- the configuration files in the modem's 212 file system 214 contain not only the current Cell ID but also signal strength value. When inspecting 112 the configuration file the signal strength value can also be retrieved and compared with signal strength values from other base stations. If there is only one base station (access point) in the range of the device 200 this one base station is used 134 in determining the position of the device 200.
- Fig. ID multilateration technique is used 142 to determine the position of the user device 200.
- This embodiment requires connection to at least three base stations 140 and requires computing a time difference of arrival (TDOA) of signals transmitted from three or more base stations (transmitters) and received by the user device 200.
- TDOA time difference of arrival
- the detailed technique will not be discussed here as it is known in the art. It is important that in the embodiments of the present invention the calculations of the position are performed within the device 200 in order to make this service cheap (by minimising the use of network resources) and in consequence popular amongst users.
- the device 200 can determine which of the available approaches should be used, wherein the user may configure the device to use the cheapest available service or the most accurate one, or in any other way.
- the web service in the instruction that initiates the method, identifies the required accuracy level and this level determines which one of the described embodiments should be used.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A method of providing a location based service to a device connected to a wireless access network via a modem. Said device comprises a client-side web scripting language library and a platform independent software library enabled to be called from the client-side web scripting language library. The method comprises the steps of instructing (108) the modem by the platform independent software library to obtain (HO) identification data related to the access network that the modem is currently connected to; inspecting (112) the file system of the modem to obtain configuration files containing data related to said access network and sending (116) data indicative of the location of the device to the client-side web scripting language based library for use by a web application to provide location based services to the device.
Description
Method and Apparatus for Enabling Location Based Services
Technical Field
The present invention relates to communications networks, in general, and in particular to providing location based service to an internet enabled device.
Background
When location needs to be determined systems like GPS (Global Positioning System) or its equivalents using constellation of satellites to calculate position of a receiver of the satellites' signals are successfully used. Using GPS receivers is especially beneficial in navigation devices that help drivers getting to a desired location. Mass market for these solutions drove their prices down and now GPS receivers are present also in mobile phones and other devices. Although very good for in-car navigation the GPS systems have some drawbacks. First, they do not work inside buildings because the satellite signal is too weak. The same problem sometimes occurs in dense urban environment. Another drawback is that the GPS receiver uses power of the mobile phone battery. Yet another drawback is a parameter called time to first fix that may not be that significant in the case of navigation applications, but when the GPS receiver is used to determine position on an ad hoc basis (i.e. when it was switched off to save battery or simply because it was not needed) the waiting time may be frustrating and in consequence of little use for location based internet services.
There are also known solutions in which when an emergency call is made from a mobile phone the network infrastructure determines position of the mobile phone based on signal pattern matching, observed timing differences between received signals. All these methods are implemented at the network side and require information available only in the network infrastructure. Because these methods are implemented on the network side and consume computing resources of the network any non-emergency service based on these solutions is a paid service.
Summary
It is the object of the present invention to obviate at least some of the above disadvantages and provide an improved method for providing location based service to an internet enabled device.
Accordingly, the invention seeks to preferably mitigate, alleviate or eliminate one or more of the disadvantages mentioned above singly or in any combination.
According to a first aspect of the present invention there is provided a method of providing a location based service to a device connected to a wireless access network via a modem. The device comprises a client-side web scripting language library with a first application programmer interface and a platform independent software library with a second application programmer interface. The platform independent software library is enabled to be called from the client-side web scripting language library. The method comprises the steps of instructing the modem by the platform independent software library to obtain identification data relating to the access network that the modem is currently connected to and inspecting by the platform independent software library the file system of the modem in order to obtain configuration files containing data related to said access network and indicative of the location of the device. In the following step data indicative of the location of the device is sent to the client-side web scripting language based library for use by a web application to provide location based services to the device.
According to a second aspect of the present invention there is provided a device connected to a wireless access network via a modem. The device comprises a client-side web scripting language library with a first application programmer interface and a platform independent software library with a second application programmer interface. The platform independent software library is connected to and enabled to be called from the client-side web scripting language library. The platform independent software
library is adapted to instruct the modem to obtain identification data related to the access network that the modem is currently connected to and to inspect 112 the file system of the modem to obtain configuration files containing data related to said access network and indicative of the location of the device. The device further comprises a processing unit adapted to run the client-side web scripting language library and platform independent software library. The client-side web scripting language based library is adapted to receive data indicative of the location of the device from the platform independent software library and to send it to a web application to provide a location based service to the device.
Further features of the present invention are as claimed in the dependent claims.
The present invention provides the benefits of:
fast provision of location based service;
- reduced power consumption compared to GPS based solutions;
- reliability of service inside buildings;
- reduced use of network resources.
Brief description of the drawings
The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings in which:
FIG. 1 - Fig. ID are diagrams illustrating a method of providing a location based service in embodiments of the present invention;
FIG. 2 is a diagram illustrating a device in one embodiment of the present invention.
Detailed description
The present invention in its various embodiments is applicable to internet enabled devices that connect to an access network via a radio interface. Various services available on the Internet could be enriched by information relevant to location of the user, but in order to provide this location based service the provider of the web site offering the service has to know the location of the user. This, however, is not easy as discussed in the background section.
With reference to Fig. 1 one embodiment of a method of providing a location based service to a device connected to a wireless access network is presented. The device 200, illustrated in Fig. 2, connects to the internet via a modem 212. The modem 212 can be a built-in modem or an external modem connected via USB port, or via a Bluetooth connection or in any other way. When the user accesses 102 a web page that offers a location based service the web page sends 104 to the device 200 an instruction to determine location of the device 200. The instruction from the web page is intercepted by a client-side web scripting language library 202 with a first API 204 operating in a processor 210 of the device 200. There is also a second library operating in the processor 210 - a platform independent software library 206 with a second API 208 which can be called from the client-side web scripting language library 202.
Application Programmer Interface (API) normally means that a software programmer has a freely available interface to the software component(s). The interface is well documented and allows a third party to interface with it. A software library is typically a set of software components designed to be used by third parties and so by definition it must offer some form of API. In the case of both libraries operating in the device in embodiments of the present invention two different APIs 204 and 208 are implemented.
The client-side web scripting language library 202 is used by web developers to add location features into websites. For example, the first API 204 can be used to display a map with the website user's location displayed on it. In one embodiment the client-side web scripting language library 202 with the first API is a JavaScript API, which is the most common scripting language on the Web. In alternative embodiments other scripting APIs can be used. In the future it will be a W3C standard based around HTML 5 Location API.
After receiving the instruction from the accessed web page the client-side web scripting language library 202 processes 106 this instruction and calls the platform independent software library 206. In response to this call the platform independent software library 206 instructs 108 the modem 212 to get identification data relating to the access network that the modem 212 is currently connected to. In one embodiment the instruction is given to the modem 212 using AT commands:
AT+CREG=?
AT+CREG=2
The modem 212 connects to the access network via a radio interface and receives 110 a response from the base station in the format:
+CREG: <CREG Setting>,<Registration Code>,<LAC>, <Cell ID>, e.g. +CREG: 2,1,048A,58B2
The Location Area Code (LAC) and Cell ID are in hexadecimal format and denote the GSM radio cell that the modem is currently connected to. This information is saved in configuration files stored in a file system 214 of the modem 212.
The platform independent software library 206 with its low-level API 208 is written in any portable programming language that allows access to AT Commands, for example, Java SE. The language chosen must be portable, in order for the low-level API 208 to work on a wide variety of internet enabled devices. It is the responsibility of the platform independent software library 206 to do the grunt work of obtaining the Cell ID and resolving it into location data.
To simplify the drawings only the transmitter/receiver and antenna block 218 is presented in Fig. 2. Depending on the location the modem 212 may be connected to a Wi-Fi hot spot (e.g. at an airport, in a shopping mall, office, etc.) or when there is no Wi-Fi available the connection may be via a radio access network of a GSM or 3 G or 4G network. In a basic embodiment the radio link is to a base station.
Data in the configuration files is not directly available/visible to the client-side web scripting language based library 202. Therefore the platform independent software library 206 uses HTTP GET or Telnet Log On instruction in order get access to the configuration files of the modem 212. Once the platform independent software library 206 has the access to the configuration files the platform independent software library 206 inspects 112 said configuration files containing data related to the access network. One example of a configuration file is an XML configuration file containing LAC the current Cell ID and Signal Strength. This XML configuration file is stored in the file system 214 of the modem/router 212. Another example is reading a local cache of a Cell ID look up map that has been stored on the file system 214 of a modem/router 212. These configuration files typically are dynamically updated by the modem/router, so that they have real-time up to date information about the location of the user device.
Although the LAC and Cell ID codes define the location of the user device the format of these codes makes them unusable in providing the location based services. In order to get a useable location data the platform independent software library 206
preferably resolves 114 these identification data into recognisable location information. The translation of the LAC and Cell ID into location data is performed by the platform independent software library 206 on the host processor 210 of the internet-enabled device 200. For example if the device 200 is a PC with a mobile broadband dongle and the low-level second API 208 (i.e. the one of the platform independent software library 206) is written as a Java SE application then the LAC and Cell ID will be translated with the Java SE application, within the Java SE Virtual Machine, running on the core processor of the PC. The device 200 is not limited to personal computers and in other embodiments can be a mobile phone, PDA or any other device that accesses internet.
The step of resolving 114 can be carried out in one of at least two possible ways, as illustrated in Fig. 1 A. In a first method the platform independent software library 206 makes a network call to a web service 122 that host a global Cell ID look up database. In this call to said web service the LAC and Cell ID codes are sent. In response from the web service the platform independent software library 206 receives location information converted to a different format. The available web based services that provide translation of cell identification data use Cell ID, LAC, MCC (Mobile Country Code) and MNC (Mobile Network Code) - however most systems work just with Cell ID. Alternatively, if the device 200 comprises a local database 216 having information about location of base stations 120, the platform independent software library 206 may use 124 said database 216 to translate the Cell ID. The local database 216 should be updated regularly to have up to date information about location of newly added base stations and removed information about base stations taken out of service. Preferably the results of the translation are returned in one of the following formats:
<latitude>,<longitude> form of GPS co-ordinates;
- named location and address;
NMEA 0183 'navigation sentences' as from real GPS hardware;
custom HTTP header for use with location aware services, e.g. GPS:
<latitude>,<longitude>.
Once the platform independent software library 206 have the translated location data it sends 116 said data, preferably in an asynchronous fashion, to the client-side web scripting language based library 202 for use by a web application to provide location based services to the device 200. Normally, in programming terms, any method call that is blocking or can potentially block for long periods of time has to be asynchronous. This is in relation to the program code running in both the low-level 208 and high-level 204 scripting API. In fact both APIs can also offer a blocking synchronous method call additionally, but it is not really recommended because the code will just freeze until the method call has returned - which with a location look up could be a few seconds. The high level scripting API 204 can offer both synchronous and asynchronous method calls.
When the location information is received by the client-side web scripting language based library 202 it is available to the JavaScript Virtual Machine running said client-side web scripting language based library 202 and can be easily accessed and used by a JavaScript API. In consequence the location is available to the accessed web site that initiated the method. Having the user's location information the web site can provide a service that is specific to the current location of the user.
In yet another alternative embodiment the platform independent software library 206 does not resolve the LAC and Cell ID information, but sends 116 this data to the client-side web scripting language based library 202. This unprocessed information is then provided to the web application that initially sent the instruction 104 to determine the location of the device 200. Once the web application has the LAC and Cell ID data it resolves it to a required format. The web application uses for this operation either one of
the available internet services or its own database. Fig. 1 illustrates the step of resolving 114 carried out before the step of sending as optional (dashed line).
The difference between the two APIs is that the low-level API 208 never needs to expose its functionality directly to the web programmer. This means that it can work with the W3C HTML 5 Location API in the future. All the low-level API 208 does is to provide the information in to the JavaScript Virtual Machine running the high level API 204. Therefore, by having two separate APIs there is much more flexibility in the implementation and it eases integration with future scripting standards. The objective is to provide the location information directly into the JavaScript Virtual Machine and in this way allow any JavaScript API to access it. Providing the location information into the JavaScript VM ensures freedom for web programmers to design JavaScript APIs that can access it. Another way to view this is that there are two separate pieces of functionality and it has been chosen to locate these functionalities in different places for flexibility of integration.
In determining location of the device for the purpose of providing location based service the location of the user does not have to be very precise and in many situations coarse location information will be sufficient. However, the more accurate the location information is the better the service can be. Additionally, improved precision can allow for offering services not known today. Therefore, as shown in Fig IB, in order to determine location with improved accuracy the device 200 should check what networks are available for connection. If the device 200 can connect from its current location to more than one base station of different networks or more than one base stations (access points) 130 of the same network then the steps leading to determining location are activated for the base station with the shortest range 132. This is, for example, for a situation that the device in the same place can be connected to a cellular telephone network and to a Wi-Fi hot spot. Because the range of the Wi-Fi hotspot is much shorter than that of a cellular telephone network base station, location of the device determined
based on the location of the Wi-Fi hotspot will be more accurate. Similarly, if the device 200 from its current location can connect to different base stations of the same cellular telephone network 130 the device should choose the base station with the shortest range 132 for the process of location fixing. It is known to classify cells of a cellular telephone network based on the radius of the cell. In one of the classifications macro-cells are cells with radius 1 km - 30 km, micro-cells are cells with radius 200 m - 2 km and pico-cells are cells with radius 4 m - 200 m. Therefore, if the device 200 can connect from its current location to a micro-cell A and a pico-cell B the device should determine its position with reference to the pico-cell B. The cells available for connection and in consequence for determination of the position of the device 200 in a preferred embodiment belong to the same operator, preferably the network to which the user device 200 is subscribed to. However, in alternative embodiments the base stations belong to different operators. In another embodiment, shown in Fig. 1C, when the device can connect from its current location to more than one base station 130 and the base stations offer radio interfaces operating in the same technology, and the signals received are from the same type of cells (macro, micro or pico-cells) the connection with the base station with the strongest signal is used 136 to determine location of the device 200. This is applicable in the situation when the device 200 can connect to two (or more) different base stations 130 or even networks (e.g. GSM or 3G networks) and signal from one base station is stronger than the signal from the other base stations. This means that the user is closer to the base station giving the stronger signal and therefore this should be taken as its location 136. The problem with this approach is that accuracy of this embodiment would be reduced in the cities where the buildings reduce signal strength. As discussed earlier, the configuration files in the modem's 212 file system 214 contain not only the current Cell ID but also signal strength value. When inspecting 112 the configuration file the signal strength value can also be retrieved and compared with signal strength values from other base stations. If there is only one base station (access point) in the
range of the device 200 this one base station is used 134 in determining the position of the device 200.
If no short-range cell is available for connection and the accuracy of location determined based only on the available cell is not good enough in one embodiment of the present invention, Fig. ID, multilateration technique is used 142 to determine the position of the user device 200. This embodiment requires connection to at least three base stations 140 and requires computing a time difference of arrival (TDOA) of signals transmitted from three or more base stations (transmitters) and received by the user device 200. Alternatively, it is also possible to locate a transmitter (user device 200) by measuring the TDOA of a signal emitted from the user device 200 to three or more base stations (receivers) 140. The detailed technique will not be discussed here as it is known in the art. It is important that in the embodiments of the present invention the calculations of the position are performed within the device 200 in order to make this service cheap (by minimising the use of network resources) and in consequence popular amongst users.
Depending on the accuracy required by the web service the device 200 can determine which of the available approaches should be used, wherein the user may configure the device to use the cheapest available service or the most accurate one, or in any other way. Alternatively, the web service, in the instruction that initiates the method, identifies the required accuracy level and this level determines which one of the described embodiments should be used.
Claims
1. A method of providing a location based service to a device connected to a wireless access network via a modem, wherein said device comprises a client-side web scripting language library with a first application programmer interface and a platform independent software library with a second application programmer interface enabled to be called from the client-side web scripting language library; the method comprising the steps of:
instructing (108) the modem by the platform independent software library to obtain (110) identification data related to the access network that the modem is currently connected to;
inspecting (112) by the platform independent software library the file system of the modem to obtain configuration files containing identification data related to said access network and indicative of the location of the device;
sending (116) data indicative of the location of the device to the client-side web scripting language based library for use by a web application to provide location based services to the device.
2. The method according to claim 1 comprising a step of resolving (114) the identification data related to said access network into recognisable location information before the step of sending (116).
3. The method according to claim 2, wherein in the step of resolving (114) a network based database is used (124) to translate the information data into the recognisable location information.
4. The method according to claim 2 wherein the step of resolving (114) uses (122) a database stored locally within the device to translate the information data into the recognisable location information.
5. The method according to any one of claims 1 - 4, wherein if the device can connect from its current location to more than one base station (130) the steps of the method are activated for the network with the shortest range (132).
6. The method according to any one of claims 1 - 4, wherein if the device can connect from its current location to more than one base station (130) and the base stations offer radio interfaces operating in the same technology the steps of the method are activated for the connection with the base station with the strongest signal (136).
7. The method according to any one of claims 1 - 4, wherein if the device can connect from its current location to at least three base stations (140) the steps of the method leading to resolving the identification data are activated for at least three of these base stations and further comprise determining the position of the device by multilateration (142).
8. The method according to any one of claims 1 - 7, initiated by an instruction (104) received by the device from an internet site accessed by the device.
9. A device (200) connected to a wireless access network via a modem (212), wherein said device (200) comprises a client-side web scripting language library (202) with a first application programmer interface (204) and a platform independent software library (206) with a second application programmer interface (208) connected to and enabled to be called from the client-side web scripting language library (202) and the platform
independent software library (206) being adapted to instruct the modem (212) to obtain identification data related to the access network that the modem (212) is currently connected to and to inspect the file system (214) of the modem (212) to obtain
configuration files containing data related to said access network and indicative of the location of the device; the device (200) further comprises a processing unit (210) adapted to run the two libraries (202, 206), wherein the client-side web scripting language based library (202) is adapted to receive from the platform independent software library (206) data indicative of the location of the device (200) and to send it to a web application to provide a location based service to the device (200).
10. The device (200) according to claim 9, wherein the processing unit (210) is adapted to be used in resolving the identification data related to said access network into recognisable location information.
11. The device (200) according to claim 10 adapted to use in resolving the
identification data a network based database to translate the information data into the recognisable location information.
12. The device (200) according to claim 10 comprising a data database (216) stored locally within the device (200) adapted to be used in translating the information data into the recognisable location information.
13. The device (200) according to any one of claims 9 - 12, wherein if the device (200) can connect from its current location to more than one access network the platform independent software library (206) is adapted to instruct the modem (212) to obtain identification data of the network with the shortest range.
14. The device (200) according to any one of claims 9 - 12, wherein if the device can connect from its current location to more than one base station and the base stations offer radio interfaces operating in the same technology the platform independent software library is adapted to instruct the modem (212) to obtain identification data for the connection with the base station having the strongest signal.
15. The device (200) according to any one of claims 9 - 12, wherein if the device can connect from its current location to at least three base stations the platform independent software library (206) is adapted to instruct the modem (212) to obtain identification data based on connections with at least three of these base stations and the processor (210) is adapted to determine the position of the device by multilateration.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/EP2009/065828 WO2011063833A1 (en) | 2009-11-25 | 2009-11-25 | Method and apparatus for enabling location based services |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/EP2009/065828 WO2011063833A1 (en) | 2009-11-25 | 2009-11-25 | Method and apparatus for enabling location based services |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2011063833A1 true WO2011063833A1 (en) | 2011-06-03 |
Family
ID=42635180
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2009/065828 Ceased WO2011063833A1 (en) | 2009-11-25 | 2009-11-25 | Method and apparatus for enabling location based services |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2011063833A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8812705B1 (en) | 2013-10-15 | 2014-08-19 | Google Inc. | Accessing location-based content |
Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2364617A (en) * | 2000-02-03 | 2002-01-30 | Smartone Mobile Comm Ltd | Locating system |
| WO2002078375A1 (en) * | 2001-03-22 | 2002-10-03 | Wavecom Sa | Radiocommunication module hosting and executing a client software, and corresponding method for implementing a driving client software |
| US20030148771A1 (en) * | 2002-02-07 | 2003-08-07 | De Verteuil Andre Laurent | Efficient location determination for mobile units |
| USRE38267E1 (en) * | 1994-06-22 | 2003-10-07 | Verizon Laboratories, Inc. | Cellular network-based geographic coverage area reporting method and apparatus |
| US20030224806A1 (en) * | 2002-06-03 | 2003-12-04 | Igal Hebron | System and method for network data quality measurement |
| EP1494387A1 (en) * | 2003-06-30 | 2005-01-05 | Research In Motion Limited | Methods and apparatus for processing radio modem commands during network data sessions |
| US20080070572A1 (en) * | 2006-09-19 | 2008-03-20 | Roy Shkedi | Signal Comparison-Based Location Determining Method |
| US7463188B1 (en) * | 2007-04-03 | 2008-12-09 | Eride, Inc. | Wireless CPU GPS application |
| US20090106778A1 (en) * | 2007-06-29 | 2009-04-23 | France Telecom | Method, interface and apparatus for discovering a location of a device |
| US20090143018A1 (en) * | 2007-11-30 | 2009-06-04 | Trueposition, Inc. | Automated Configuration of a Wireless Location System |
| WO2009067766A1 (en) * | 2007-11-26 | 2009-06-04 | Seeker Wireless Pty Limited | Methods and systems for zone creation and adaption |
-
2009
- 2009-11-25 WO PCT/EP2009/065828 patent/WO2011063833A1/en not_active Ceased
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| USRE38267E1 (en) * | 1994-06-22 | 2003-10-07 | Verizon Laboratories, Inc. | Cellular network-based geographic coverage area reporting method and apparatus |
| GB2364617A (en) * | 2000-02-03 | 2002-01-30 | Smartone Mobile Comm Ltd | Locating system |
| WO2002078375A1 (en) * | 2001-03-22 | 2002-10-03 | Wavecom Sa | Radiocommunication module hosting and executing a client software, and corresponding method for implementing a driving client software |
| US20030148771A1 (en) * | 2002-02-07 | 2003-08-07 | De Verteuil Andre Laurent | Efficient location determination for mobile units |
| US20030224806A1 (en) * | 2002-06-03 | 2003-12-04 | Igal Hebron | System and method for network data quality measurement |
| EP1494387A1 (en) * | 2003-06-30 | 2005-01-05 | Research In Motion Limited | Methods and apparatus for processing radio modem commands during network data sessions |
| US20080070572A1 (en) * | 2006-09-19 | 2008-03-20 | Roy Shkedi | Signal Comparison-Based Location Determining Method |
| US7463188B1 (en) * | 2007-04-03 | 2008-12-09 | Eride, Inc. | Wireless CPU GPS application |
| US20090106778A1 (en) * | 2007-06-29 | 2009-04-23 | France Telecom | Method, interface and apparatus for discovering a location of a device |
| WO2009067766A1 (en) * | 2007-11-26 | 2009-06-04 | Seeker Wireless Pty Limited | Methods and systems for zone creation and adaption |
| US20090143018A1 (en) * | 2007-11-30 | 2009-06-04 | Trueposition, Inc. | Automated Configuration of a Wireless Location System |
Non-Patent Citations (1)
| Title |
|---|
| "Digital cellular telecommunications system (Phase 2+); AT command set for GSM Mobile Equipment (ME) (3GPP TS 07.07 version 7.7.0 Release 1998); ETSI TS 100 916", ETSI STANDARDS, LIS, SOPHIA ANTIPOLIS CEDEX, FRANCE, vol. 3-T2;SMG4, no. V7.7.0, 1 December 2001 (2001-12-01), XP014005684, ISSN: 0000-0001 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8812705B1 (en) | 2013-10-15 | 2014-08-19 | Google Inc. | Accessing location-based content |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11503564B2 (en) | Measurement systems and methods for fingerprinting positioning | |
| US7495608B1 (en) | Position determination using almanac for virtual base stations | |
| US10278016B2 (en) | Systems and methods for position estimation using proximity devices | |
| US8897807B2 (en) | Using mobile messaging service message(s) as bearer for location related communications during voice call | |
| US7218275B2 (en) | Test apparatus and control method thereof for use with location based service system capable of optimizing location based service by adjusting maximum antenna range | |
| US8670785B2 (en) | Method and system for acquiring position of terminal | |
| US8391893B2 (en) | Devices, systems and methods for SMS-based location querying | |
| US10212546B2 (en) | Collaborative positioning method and wireless terminal | |
| CN103119966A (en) | Language Dependent Positioning and Signaling | |
| CN113784276A (en) | Positioning method, relay device, IoT device and network device | |
| CN103969670A (en) | Mobile terminal satellite positioning method and mobile network terminal | |
| JP2017500589A (en) | Method and apparatus for delivering assistance data from a server to a device identifying a virtual access point | |
| CN101442729A (en) | Method and system for locating device | |
| FI110895B (en) | Assisted GPS positioning | |
| US9210680B2 (en) | Method and apparatus for selecting a real time location service provider | |
| WO2011063833A1 (en) | Method and apparatus for enabling location based services | |
| KR100703189B1 (en) | Safe driving helper service method and system using Ms-pedest gps method | |
| KR100590678B1 (en) | Method and system for providing terminal-based PS service for updating location information of mobile communication terminal | |
| KR100573181B1 (en) | Location-based information service method using an MSSPAPDPSPS | |
| KR20060010961A (en) | Method and system using position data of GPS mobile communication terminal in navigation device | |
| US20180227703A1 (en) | Systems and methods for position estimation using proximity devices | |
| KR101087664B1 (en) | Method and system for providing navigation service using short message service | |
| KR100682281B1 (en) | Mobile station based GPS terminal and its method to secure positioning accuracy by controlling quality of service level according to movement speed | |
| KR20060033661A (en) | Method and system for providing a fare information service using the GPS method when using a bus | |
| KR20050083494A (en) | Method and system for position determination of mobile communication terminal by using mobile communication network and assisted-global positioning system in in-building environment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09759735 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 09759735 Country of ref document: EP Kind code of ref document: A1 |