ISBN: 0-471-41405 -0
Download (direct link):
Security and integrity protection will be crucial for the success of location-based services. People want the extended services but are reluctant to let everyone know their location. Everyone in the industry seems to agree on this statement, and users will be able to control when their position is available and how. As with most security aspects, it is all about making the user feel confident in the technology and trusting the operator and application provider.
We can clearly illustrate this point when the integrity issue often leads to heated debates, although the cell identity of a user is already available on existing networks.
As we mentioned in Chapter 9, ‘‘Application Architectures,” the positioning functionality will likely be located on the service network for most operators. Most of the time, the application server-side of an application will make function calls to the positioning center, but the interface is usually quite generic. You can access it conveniently from other nodes, as well.
Example of Positioning API Usage
There are two main methods for accessing positioning information, and the LIF is the driving force behind standardization on both tracks:
Terminal-based API, where an application that is running on the device accesses the positioning technology hardware/software
Service network-based API, where an application server or anyone that has the rights can fetch a user’s positioning data
All of the early entrants to the market have used the second method, because they can perform this task independently of the handset and of the positioning technology being used. It should be noted, however, that terminal -based positioning always needs to be supported in the terminal, as it will be required to report the measured position data back. The following section explains how the MPS software development kit (SDK), which is included on the accompanying CD -ROM, illustrates the thinking behind developing applications that use a server-side positioning node.
The development kit contains the following items:
A Java class library Java example programs
A protocol emulator, which is a local test server that implements interface stubs of the real MPC and can return realistic positioning information
Visual Net, a tool that you can use to build mobile networks for testing purposes User guides
MPP 3.0 documentation
The application accesses the MPC by using standard HTTP, as illustrated in Figure 13.7, and Web browsers and Java clients are examples of access methods. In the figure, a mobile client is shown (but it could as well have been a desktop PC or an application server).
HTTP GET <posilionURL>
HTTP response <positiqjndata>
Mobile Positioning Center
Figure 13.7 Positioning request/response.
In the request, nothing is mentioned about the underlying mobile network or positioning technology that is used. The requests can be complemented by TLS (SSL) security in order to ensure privacy.
The format of a request is shown as follows (an ordinary HTTP GET command to the MPC):
The parameter list is a set of parameters and their assigned values, separated by an ampersand (&):
Parameter=ParValue&Parameter2=ParValue2 . . .
An example request could be as follows:
This request asks the MPC with the address my.favoriteMPC.com to return the positioning of user JohnDoe with phone number 55512345678. The POSITIONING_TIME item specifies that the positioning request should be effective immediately. The SDK on the CD-ROM includes a complete list of available parameters.
The response from the MPC can then look something like the following:
<Head RequestID=2.873191662.1 AnswerID=1> <MS=46555303132
In this example, a GSM system with CGI-TA is used for positioning. The rows of the response should be interpreted in the following way:
MS = 55512345678 (indicates the phone number of the mobile that has been positioned)
RequestedTime = 20001120102724 (says that the positioning time requested by the user was 24 seconds past 10.27 on November 20, 2000; the +0200 indicates the GMT difference in hours)
Error=0 (indicates that the request did not return any errors)
GeoDecticDatum=WSG-84 (used to describe the format of the position used)