POSITIONING OF MOBILE DEVICES
PPoossiittiioonneerriinngg aavv m
moobbiillaa tteerrm
miinnaalleerr
A study of techniques and services
for geographical positioning of mobile devices,
and development of a positioning application.
En studie av tekniker och tjänster
för geografisk positionering av mobila terminaler,
samt utveckling av en positioneringstjänst.
Master’s Thesis by Stefan Åkerberg 18 July 2001
Royal Institute of Technology
NADA/Media Technology and Graphic Arts
Drottning Kristinas väg 47, 100 44 Stockholm
Phone: +46 8 790 60 42
Fax: +46 8 791 87 93
Examiner KTH:
Roger Wallis
Supervisor KTH:
Jonas Rehn
By direction of
Mobile Media Group
Rosenlundsgatan 29 A
Phone: +46 8 556 06 800
Supervisor Mobile Media Group:
Magnus Danielsson
Abstract
New technologies that make it possible to locate cell phones have
emerged the last years. These technologies combined with other
technologies such as Internet, wireless communications, and portable
devices have given rise to exciting new types of information utilities
that may be referred to simply as location services. Also called
positioning services, mobile location services, wireless location
services or location-based services.
Knowing where a person or object is offers a great number of
interesting and useful services to all possible kinds of users.
This thesis is mainly divided into two parts. The first part will
illustrate theory, possibilities, difficulties and practical solutions
within the area of mobile positioning. The second part describes the
accomplishment of a well functioning product that is able to position
granted users in a GSM-network.
Sammanfattning
Många nya tekniker som möjliggör positionsbestämning av mobila
terminaler har utvecklats de senaste åren. Dessa teknologier
kombinerade med andra teknologier så som Internet, trådlös
kommunikation och mobila terminaler har gett upphov till ny typ av
spännande information som brukar sammanfattas under namnet
positioneringstjänster eller positionsbaserade tjänster.
Att veta var en person eller ett objekt befinner sig erbjuder en mängd
intressanta och användbara tjänster för alla tänkbara typer av
användare.
Denna uppsats är huvudsakligen uppdelad i två delar. Den första
delen belyser teori, möjligheter, svårigheter, marknad och
beskrivningar av tjänster inom området mobil positionering. Den
andra delen beskriver framtagandet av en väl fungerande tillämpning
som gör det möjligt att postionsbestämma användare, som medgivit
detta, i ett GSM-nät.
ii
Table of contents
1
2
3
4
5
6
Introduction....................................................................................................................................1
1.1
Background............................................................................................................................2
1.2
Purpose...................................................................................................................................2
1.3
Problem..................................................................................................................................2
1.3.1 Mobile Positioning ...........................................................................................................3
1.3.2 Product development ......................................................................................................3
1.4
Target audience .....................................................................................................................3
1.5
Method ...................................................................................................................................3
1.6
Limitations .............................................................................................................................4
Basic positioning theory................................................................................................................5
2.1
GSM – Fundamental description .......................................................................................5
2.1.1 Mobile station ...................................................................................................................6
2.1.2 Base transceiver station ...................................................................................................6
2.1.3 Base station controller .....................................................................................................6
2.2
Existing positioning techniques..........................................................................................6
2.2.1 Terminal based solutions ................................................................................................6
2.2.2 Network-based solutions ................................................................................................9
2.3
Future techniques ...............................................................................................................10
2.4
The Ericsson MPS..............................................................................................................11
2.4.1 The Mobile Positioning Center (MPC).......................................................................11
2.4.2 Advantages ......................................................................................................................12
2.4.3 Disadvantages .................................................................................................................12
Market............................................................................................................................................13
3.1
Price models ........................................................................................................................14
3.2
Market summary .................................................................................................................15
Positioning services .....................................................................................................................16
4.1
Ways to group positioning services..................................................................................16
4.1.1 Types of positioning services .......................................................................................16
4.1.2 Positioning frequency ....................................................................................................19
4.1.3 Accuracy ..........................................................................................................................20
4.2
Services summary................................................................................................................20
4.3
Today ....................................................................................................................................21
4.4
Tomorrow............................................................................................................................21
4.5
To think of...........................................................................................................................22
The personal integrity..................................................................................................................23
5.1
Privacy ..................................................................................................................................23
5.2
Security .................................................................................................................................24
System specification.....................................................................................................................25
6.1
System Overview ................................................................................................................26
6.2
The client .............................................................................................................................28
6.3
The server ............................................................................................................................29
6.3.1 The presentation layer ...................................................................................................30
6.3.2 The logic layer.................................................................................................................30
6.3.3 The communication layer..............................................................................................31
iii
6.4
7
8
The database........................................................................................................................31
System development....................................................................................................................32
7.1
Why Java?.............................................................................................................................32
7.2
Tools and environment......................................................................................................32
7.2.1 Runtime environment....................................................................................................32
7.2.2 Development environment...........................................................................................33
7.3
The user interface ...............................................................................................................33
7.3.1 Mockup............................................................................................................................34
7.3.2 Usability testing ..............................................................................................................34
7.3.3 Qualitative interviews ....................................................................................................34
7.3.4 Results..............................................................................................................................35
7.4
The database........................................................................................................................35
7.5
The server ............................................................................................................................35
Conclusions...................................................................................................................................37
8.1
Mobile Positioning..............................................................................................................37
8.2
Product Development........................................................................................................38
9 Abbreviations ...............................................................................................................................39
10 References ................................................................................................................................41
11 Appendix ..................................................................................................................................43
11.1
11.2
Appendix A Qualitative interviews
Appendix B Function specification for Tracey version 1.0
iv
1 • Introduction
Positioning of Mobile Units
1
Introduction
- Where are you?
This is the far most asked question using mobile telephony. This
indicates that something is missing when we are using mobile phones.
Since about hundred years ago we have had the geographical location
built into wire line telephony. When you call someone you are not
sure he will answer but if he does you definitively know where he is.
The mobile phones totally turned this upside down. You know whom
you are calling but not where.
The location is lost!
This problem has emerged lots of new techniques that make it
possible to locate a mobile phone. And the new techniques evolved
have brought lots of new services to the humanity. Some people have
a need for these services today, but most people have not. On the
other hand all people have some fundamental needs that has always
been the same, such as love, comfort, respect and so forth. New
needs do not arise by it self; it has to be created. This means that a
need has to be created by letting the people use the services and get
used to it, just as for the mobile phones. In the beginning no one
needed it, now “no one” can live without it.
Worth to mention about the human needs is that there is a difference
between needs and needs [18]. The basic needs mentioned above are
fundamental while the need of a mobile phone is not. This is
experienced as a need since it satisfies some of the fundamental needs
such as the need of communication, comfort and respect.
The location is very important to many types of business areas such
as transportation, fleet management, logistics and other areas where it
is important to know where someone or something is for the
moment.
Location is also central to how people organize and relate to their
world [2]. As an information-based society, we value systems and
services that can tell us about the location of people and objects. Our
existing information systems reflect this, as most of the contents in
databases today are linked to some kind of location or geographic
components.
1
1 • Introduction
Positioning of Mobile Units
1.1
Background
This is a master’s thesis written at the Royal Institute of Technology,
department of Media Technology and Graphic Arts, by Stefan
Åkerberg. This thesis corresponds to 20 of the total 180 university
points required and concludes our Master of Science. This thesis was
conducted at Mobile Media Group during the end of 2000 and the
beginning 2001.
The thesis will end up with a real application for mobile positioning.
That includes learning about GSM-networks, positioning techniques,
human-computer interaction and location services. Further it includes
practical development of the application itself. This and an interesting
company, Mobile Media Group, to work for made the decision to go
on with it very easy.
Mobile Media Group develops standard software used for wireless
applications. The company was founded in 1999 and consists of
about 25 persons today.
The main product of Mobile Media Group is the mApplicator
Advanced Server, a platform for optimizing content, appearance and
usability of mobile applications for each mobile device. In the
summer of 2000 the company wanted to extend their product
portfolio with mobile positioning. They wanted a product that could
both add value to the existing platform, mApplicator Advanced
Server, and could work as a stand-alone product for mobile
positioning. That was where the discussions of this thesis started.
1.2
Purpose
The purpose with this thesis is to illustrate theory, possibilities,
difficulties and practical solutions within the area of mobile
positioning1. The report shall describe the development of a working
product that supplies positioning services to the user. The
specification for this product is a combination of demands from
Mobile Media Group and the author.
The goal is to accomplish a well functioning product that shall be able
to position granted persons. It shall also constitute a ground for
future expansion of the positioning services.
The author also wants to create an interesting and exhaustive report
that fulfills the demands of the target audience.
1.3
Problem
This thesis can be divided into two parts. The first is a general part
about mobile positioning and the second part concerns the
development of a real positioning application.
1
Geographical positioning of mobile terminals.
2
1 • Introduction
Positioning of Mobile Units
1.3.1
Mobile Positioning
The development of products for geographical positioning has
increased the last years and is likely to explode the following years.
What products and services are there today and what are they going
to look like in the future?
What does the market look like for this type of products and what
positioning services are likely to be used in the future?
The positioning technique means a possibility to smoothly identify
where a person (with a GSM-unit2) is at present. This possibility
involves lots of benefits, but how will it affect the personal integrity?
1.3.2
Product development
The development of this product includes making a good and simple
user interface, building a database for user-, rights- and geographical
information. It also involves the communication between different
parts in the system as well as system logics.
1.4
Target audience
This thesis is primary for persons and companies interested in mobile
services, especially positioning services, and with a basic knowledge in
mobile communication. Among these are first of all concerned people
at Mobile Media Group that has lots of interest in the project since
they have ordered it. Other concerned people might be some mobile
service providers and transportation companies with the need of
vehicle tracking and other positioning services.
1.5
Method
The author’s intention regarding the work with this thesis is to first
search information and make necessary literature studies. The
literature is primarily material from Ericsson regarding positioning in
GSM-networks and products related to mobile positioning. Other
material is Java-literature, information about geographical systems3,
related articles and thesis. In cases the literature is from the Internet
the sources has been examined and secured.
When a satisfying knowledge is achieved a comprehensive functionand system specification, that unambiguous describes the system,
shall be written. After that a mockup shall be developed and evaluated
with qualitative interviews. Subsequently follows the development of
the server and the database.
Once the product is considered done, tests and evaluations follows as
well as an ending analysis and discussion that will complete the thesis.
2
3
Ericsson’s MPS works with any existing GSM network (other systems are under development)[3].
Map- and coordinate systems for example.
3
1 • Introduction
Positioning of Mobile Units
1.6
Limitations
The research of systems and services is primarily done on the Swedish
market; this is not much of a set back since Sweden is one of the
countries leading the development in this area.
The developed product will be limited to only handle positioning
within the Storstockholm area. It shall though be developed in a way
that allows easy expansion4 in the future.
Further it will be limited to only support Ericsson’s MPS that delivers
the positioning information from the GSM-network. This is because
Ericsson’s MPS is the only one tested, but other systems can be used
with smaller modifications of the application.
4
For example to support new positioning areas.
4
2 • Basic positioning theory
Positioning of Mobile Units
2
Basic positioning theory
This chapter is meant to give the reader a fundamental overview
regarding techniques used in mobile positioning. In some places of
this chapter accuracy and error margins are given. These are
continuously changing, as techniques are getting better. The reader
should have that in mind when reading this chapter.
2.1
GSM – Fundamental description
Today there are approximately 105 countries with GSM networks or
planned networks with around 32 million subscribers worldwide on
the 139 networks. This accounts for over 25% of the world's cellular
market [4].
The GSM Network comprises three parts, Mobile Station (MS) that is
similar to a cordless phone or similar terminal, the Base Transceiver
Station (BTS) that controls the connection with the Mobile Station,
the Base Station Controller (BSC) that controls multiple Base
Transceiver Stations and then the rest of the network. The rest of the
network is not covered in this context since it is not of great relevance
for the mobile positioning techniques.
MS
Figure 1. Overview of the GSM base station subsystem.
5
2 • Basic positioning theory
Positioning of Mobile Units
2.1.1
Mobile station
A Digital Mobile Phone and a SIM card make up the Mobile Station.
The SIM (Subscriber Identity Module) is a card that fits into the
handset and contains all identification details [17] such as the IMSI
(International Mobile Subscriber Identity5), phone memories, billing
information, SMS text messages, pin numbers and international
roaming information. The physical phone also contains an IMEI
(International Mobile Equipment Identity) that is the serial number of
the GSM phone. Usually the positioning methods use the IMSI to
identify the user, but in some cases the IMEI identifies the phone, for
example if the phone was stolen.
2.1.2
Base transceiver station
The Base Transceiver Station (BTS) consists of a radio transceiver
with an antenna that covers a single cell. It handles the
communications with the MS via radio interface.
All BTS are connected together to allow the user to move from one
cell to another.
2.1.3
Base station controller
The Base Station Controller (BSC) establishes, supervises and releases
channels for the BTS. It is also responsible for handovers between
cells. Each BSC is usually connected to multiple BTSs.
2.2
Existing positioning techniques
The main actor in the standardization of GSM positioning is the
Federal Communications Commission (FCC)[1]. The FCC regulations
differentiate between terminal based solutions (handset-based) and
network-based solutions.
2.2.1
Terminal based solutions
In a terminal based positioning solution all the positioning intelligence
is stored in the terminal or in its SIM card. This method require that
the user has a device or SIM card that contains all necessary logics
that can calculate the requested position. At present this is an
expensive solution since the user must do new investments. But if this
technique gets enough market penetration in a few years it could
become a standard that will be included in most new devices. If this
will happen depends mainly on factors as: needs, prices, services,
availability and advertising. Göran Swedberg wrote in [1] 1999 that
this probably would happen in four or five years.
This is a numeric string, where the first 3 digits represent the country where the SIM is from and the next digit
represent the operator in that specific country. The other digits represent the subscriber’s identity in his homenetwork.
5
6
2 • Basic positioning theory
Positioning of Mobile Units
Examples of terminal based solutions are the network-Assisted
Global Positioning System (A-GPS), SIM Toolkit and Enhanced
Observed Time Difference (E-OTD). Worth to mention is that EOTD can be considered both network- and terminal based depending
on where the calculating software is located. It can be located in the
phone - terminal based, or in the network - network based. In both
cases modified software is needed in the handset, for the time
difference measurements.
2.2.1.1
A-GPS
Standard GPS receivers use four GPS satellites to determine its
position. The receiver gets the time difference and the position of the
satellites and then calculates its own location with very good
precision, often less than 10 meters. The drawback with this
technique is that the signals from the satellites are quite weak and do
not provide adequate coverage in some environments. For example,
the GPS is useless indoors since the signals cannot reach there. It also
happens quite often that the GPS does not work in big cities where
high buildings block the signals from the satellites.
The network-assisted global positioning system A-GPS combines the
GPS information with assistance information from the Base
Transceiver Stations in the GSM network. This results in positioning
system with better coverage than usual GPS.
Figure 2. Overview of the network-assisted GPS (A-GPS).
7
2 • Basic positioning theory
Positioning of Mobile Units
2.2.1.2
SIM Toolkit
The SIM card in GSM mobile phones can hold customized
applications for special purposes. The provider can make an
application that is well suited to the customers need, for example
mobile positioning and bank services. In the case of mobile
positioning the application sends the positioning information to the
network via SMS. Then a server application can use this information
in, for example, a vehicle tracking system.
2.2.1.3
E-OTD
The Enhanced Observed Time Difference can be based on one of
two possible types; known as Hyperbolic and Circular. Both methods
are based on the time elapsed between that the base station sendsand the mobile terminal receives the signal. A minimum of three
distinct base stations are required to accomplish a positioning request.
Hyperbolic type
The hyperbolic technique measures the time difference between
signals received from two nearby base stations. This time difference is
only possible on a specific line, the hyperbolic curve, between the two
base stations.
To get the right position one more pair of base stations, that creates
another hyperbolic curve, is needed. This other pair might include
one of the base stations from the first pair. The interception of the
two curves gives the right position.
Figure 3. Description of the location finding using E-OTD and UL-TOA.
8
2 • Basic positioning theory
Positioning of Mobile Units
If the network is synchronized6 this is all that is needed to find out
the position. But in non-synchronized networks the time difference is
not that easy to measure since the two signals are not sent at the same
time. Therefore the relative synchronization difference, Real Time
Difference (RTD), between the two used base stations is needed.
When the RTD is known the time difference can be calculated and
the position can be located in the same way as for the synchronized
network.
To get the RTD a Location Measurement Unit (LMU) is used. The
LMU is a fixed measurement point whose location is known. It
calculates the RTD and sends it to the terminal.
Circular type
The circular type does not measure the time difference of pairs of
base stations; rather it measures the time of arrival of each signal
individually. This results in a circle around each base station indicating
possible locations. The interception of three or more circles then
gives the actual position of the mobile phone.
Even in this case LMUs are required if the network is
unsynchronized.
2.2.2
Network-based solutions
The network-based solutions have all intelligence placed in the
network; no intelligence is required to be built into the terminals. This
is good for the end users but often results in a bigger investment for
the network operator.
A network-based solution is the best way to get a quick and wide
penetration of the mobile positioning system (MPS), since the
customers are probably not willing to spend a lot of money on
something they do not even know if they need.
Examples of the network-based solutions are the cell global identity
and Timing Advance (CGI+TA) and UpLink Time Of Arrival (ULTOA).
2.2.2.1
CGI+TA
The Cell Global Identity (CGI) identifies in which cell the terminal is
located. Out of this information the position is known with certain
accuracy depending on the cell radius, usually between 100 meters in
urban areas and 35 km in rural areas. The cell can be either a circular
or triangular sector.
The CGI is often combined with the timing advance (TA) method.
This technique measures the delay from the beginning of a time slot
and the arrival of bursts from the terminal. The delay makes an
estimate of the distance (in increments of 550 m) between the BTS
and the terminal.
6
The signals are sent at the same time from all base stations.
9
2 • Basic positioning theory
Positioning of Mobile Units
Figure 4. The four CGI positioning techniques. The upper pictures shows
triangular sector cells and the lower shows omni (circular) cells.
2.2.2.2
UL-TOA
The uplink time of arrival (UL-TOA) uses three or more
measurement units, located at the base stations, to find the position
of the terminal. Each unit measures the time of arrival of a signal
burst from the terminal. The mobile positioning center MPC then
calculates the time difference by subtracting pairs of UL-TOA values.
Then the position can be calculated if the positions of the base
stations are known. This method looks much like the E-OTD with
the difference of the directions of the signals; see Figure 3.
The timing difference between measurement units has to be known
to get a good result. This is done by the use of absolute GPS time at
the measurement units or by the use of reference measurement units
that determines the real time difference (RTD).
Accuracy of this method is usually between 50 and 150 meters. The
MPC that gives the result also delivers an uncertainty estimate to the
requesting application. The accuracy of the result and the uncertainty
depends on the environment in which the terminal is located.
2.3
Future techniques
Positioning techniques using the GSM network will probably never
achieve as good accuracy as GPS does, mainly because of two
reasons. First, to get good accuracy with GSM positioning three or
four BTSs has to be in sight of the terminal, this is not always the
case. Second, the distance between the terminal and the BTSs is much
smaller than the distance between the terminal and the GPS satellites.
That causes a bigger error in the time measurement for the GSM
positioning.
10
2 • Basic positioning theory
Positioning of Mobile Units
On the other hand, GPS will not achieve as good coverage as
positioning through the GSM network does since GPS requires free
sight to the satellites. Therefore a combination of the two methods
would be optimal. Another problem with today’s GPS equipment is
the relative high power consumption.
In a press release [5] in October 2000, Infineon and Trimble
announced the smallest and lowest power integrated chipset and
software solution for GPS applications. The solution, based on
Trimble’s FirstGPS technology, allows high-volume manufacturers of
consumer products to add GPS location with minimal impact on
device size or battery life. Further they announce that this hardware
and software solution makes it possible to equip a wide range of
mobile devices, specifically mobile phones, with GPS functionality.
Since the technique has several sleep and low-power modes it is ideal
for applications that only require manual/event-based positioning.
2.4
The Ericsson MPS
The Ericsson Mobile Positioning System consists of two main parts.
2.4.1
•
Added functionality in the GSM network (HLR, MSC and
BSC software).
•
The Mobile Positioning Center – MPC.
The Mobile Positioning Center (MPC)
The MPC is a gateway that enables easy access to location
information. The positioning applications access the location
information via the MPS API7.
Ericsson Mobile Positioning System
GPS
Internet
Mobile
Network
API
MP C
WAP
O/M Center
Billing Center
Customer Administration Center
Figure 5. The Ericsson Mobile Positioning System, including the MPC.
7
Included in the MPS-SDK (Software Developer’s Kit), available at Ericsson Developers’ Zone.
11
2 • Basic positioning theory
Positioning of Mobile Units
The MPC supports different positioning methods, as E-OTD,
CGI+TA and A-GPS. Then it is up to the operator to decide what
method to use.
2.4.2
Advantages
The MPS works with usual mobile phones; no extra hardware or
software is needed. In other words, no additional costs for the
consumer.
The MPS works with any existing GSM systems [6], which enables
roaming between different networks and different countries using the
GSM network. Provided that the network operator has implemented
the MPS into the network.
The operator can charge the users very easily viewing the fact that the
operator has the ability to log every position request since it is a
network-based technique. Of course this first of all is a benefit for the
operator and not the consumer. But, in the long run this will probably
benefit the consumer as well since it will result in better services.
The API8 delivered with the MPS-SDK9 makes it easy for service
providers to use the MPS and make their own applications.
2.4.3
Disadvantages
Some installations have to be done on the network and that means a
cost for the network operator at first, and the consumer in the end.
The accuracy is not very high, especially not on the countryside. But,
it will get better as technology goes forward. In the next generation’s
networks, the 3G networks, the base stations will be placed closer to
each other which will give higher accuracy.
The consumers have to pay for positioning information, which is not
the case for GPS. Note though, that the prize paid for a positioning
service is not only for the positioning information, but also for other
content combined with the positioning information. Such as map
information and other information that adds additional value to the
service.
8
9
Application Programming Interface
Software Development Kit
12
3 • Market
Positioning of Mobile Units
3
Market
Trying to value the market of mobile positioning is definitively not an
easy task. Many attempts have been done and they vary in a wide
range [1][7][8]. One thing though, that they all have in common is
that the market will increase rapidly in the next few years.
The Strategies Group made a survey regarding what plans European
mobile operators had to implement positioning techniques into their
networks. The interviews covered approximately 75 percent of the 40
mobile operators in Europe’s top 12 markets. This corresponds to 81
percent of all Eastern and Western European subscribers. 38 percent
of the operators stated that they were seriously evaluating networkbased solutions for mobile positioning. 28 percent also said that they
were evaluating a GPS solution and 9 percent stated that CGI
technology could be used in the future.
Torsten Millqvist at Kipling10 believes that consumer services such as
information services and games will bring many times more revenues
than fleet- and asset management together [13]. This might be true in
the beginning but when the positioning methods are standardized and
generally accepted the scenario will be different.
Since the consumers does not have to make big investments to get
access to the services the use of consumer services will increase
rapidly. The cost to develop a consumer service is relative small,
which means that there will be many actors on the market and the
prices will start to decrease after a while.
Business services on the other hand follow the same development
cycle but will not go that fast. The revenues involved are of another
dimension since the companies are willing to pay a lot for achieved
benefits. This scenario can be illustrated in two schematic diagrams,
Figure 6. They show the relation revenue – time, and number of users
– time. Note that the author’s intensions with these diagrams are to
show an outline of the likely development of location services, not to
give an exact prognosis.
10
Kipling built Europolitan’s positioning platform.
13
3 • Market
Positioning of Mobile Units
revenues
2001
2005
2010
2005
2010
time
users
2001
time
Figure 6. Outline of the expected development for positioning services. Solid
line represents private services and dashed line represents business
services.
3.1
Price models
In the network-based positioning services it is very easy to log the use
of the service in many ways. That gives the operator the opportunity
to charge the user in different manners. At present the operators have
not presented any price models to be used, but they are working hard
on it.
Telia/Ericsson says [13] that before the end year 2001 they will try a
model where they charge the user each time the service is used, via
the phone bill. This method works well for the existing services, but it
does not work very well for services where you can position other
persons. Who should pay then? Hopefully the person who makes the
positioning request. But, when you send a positioning request to the
operator the id of the positioned terminal is sent [12]. Therefore this
pricing model does not work for all services.
14
3 • Market
Positioning of Mobile Units
In a discussion with Jörgen Jonsson, Manager Location Services at
Telia, he says that Telia is not interested in just selling the positioning
data as a x-, y-coordinate to third part. They prefer selling the services
them selves. That means that it is hard for a third part company to
develop a location service if they cannot get cooperation with Telia.
3.2
Market summary
It is not very easy to make a summary of the market of something
that has almost not started yet. But one thing is for sure; there is a
potential market for positioning services. If the actors of this area
handle there cards right and do not frighten the future customers with
too high prices, not enough security/privacy and so on the market
will grow rapidly.
A statement from Jeremy Green at Ovum [7] makes a pretty good
ending and summary of this market chapter. He says: “Although no
clear-cut business models have emerged it is still important that
companies involved in mobile location services get the ball rolling
now. There are a number of low cost technologies that can be
implemented allowing operators, technology vendors and content
providers to start working together to determine effective business
models.”
15
4 • Positioning services
Positioning of Mobile Units
4
Positioning services
Simply knowing where you are, or how far you are from someone or
something is typically not valuable by itself. Relating location to other
pertinent information gives it meaning and value. For example,
knowing that you are one mile from a particular facility may give
some small comfort, but obtaining a travel path to that point adds
value. Obtaining a valid or reliable route adds even more value.
This chapter describes and analyses different types of positioning
services. Table 1, at the end of this chapter, summarizes the
mentioned services and their properties. What location based
applications all have in common is a requirement to determine the
position of a mobile unit, although perhaps with various degrees of
accuracy, and with various response times, etc.
The services described herein are not intended to provide an
exhaustive list of possible location services, but rather are intended to
provide representative examples.
4.1
Ways to group positioning services
To facilitate the understanding of different positioning services a
couple of ways to divide them into groups are presented below. The
different manners of grouping are each based on one specific
property of the services. The first and most obvious way to group the
services is by the type of the service it self. Other ways to group
positioning services are by positioning frequency and accuracy.
4.1.1
Types of positioning services
The grouping in different types of positioning services is based on the
way of use. Four groups, Safety, Information, Billing and Tracking are
mentioned in “Mobile Positioning, An Introduction to Mobile
Positioning” [9]. These groups cover most positioning services but
not all. Therefore a fifth group, Network enhancing [10] is added as a
complement here.
4.1.1.1
Safety
This group represents services that are used for a safety reason or
assistance of any kind. Services of this type are:
16
4 • Positioning services
Positioning of Mobile Units
4.1.1.2
•
Emergency service.
When an emergency call is made from a mobile phone to an
emergency central they can trace the location of the calling
person and therefore shorten the response time.
•
Assault alarm service.
If a person is attacked and presses some kind of alarm button
on the phone the emergency service can trace the location and
notify the police.
•
Assistance requesting service.
When a car breaks down and a call is made to the assistance
service the position of the wrecked car can easily be found
and help can be there in a short time. Of course this service is
applicable to other types of assistance services as well.
Information
The information services represent all services where the purpose is
to inform the user of something. Location based information can be
divided into to subcategories that represents two different ways of
why the information is sent, Pull and Push oriented information.
Pull oriented information
The information is considered pull oriented when the information
receiver has made an explicit request for the information. An example
of this is the mobile Yellow pages service where the user can send a
request for nearby restaurants and get a list of restaurants located
inside a specified radius from his present location.
Push oriented information
When the information is sent without an explicit request from the
receiver it is considered pushed. The receiver should be able to
choose weather he wants to receive this type of information or even
from whom he wants it. Examples of push oriented information
services could be:
•
Traffic information.
If there is a traffic jam where you are heading, the service
should warn you about it and suggest a better way, if there are
any available.
•
Location based advertising.
When you pass by the cinema you might get a message that
offers you last minute tickets for half the price. These services
are preferably combined with a user profile where the user
can specify what advertising he is interested in.
•
City sightseeing.
This service guides the user through a predefined city tour. It
should inform the user about where to go and give
information about sights worth seeing.
17
4 • Positioning services
Positioning of Mobile Units
4.1.1.3
4.1.1.4
Billing
Location based billing allows a subscriber to be charged different
rates depending on the subscriber’s location or geographical zone.
This billing service can be applied in different ways. Here are some
examples:
•
Location based charge.
The operator charges the subscriber different depending on
where the subscriber is. The charge could depend on traffic
load, capacity, time and more. Low charge if low traffic and
vice versa, hopefully spreads the traffic so overloads can be
avoided. The subscriber shall be able to see the current
charge all the time.
•
Zone based charge.
Special price agreements with the operator can be signed to
give the subscriber a good price within a certain area. For
example a company might have special price in the office area
where they make most of their calls. Then the operator can
customize the network for heavy load in this area.
Tracking
The tracking services are the ones that most people think of when
talking about mobile positioning, probably because most GPS
services is of this type and are well known. There are at least four
subcategories of this type:
•
Fleet management.
There are lots of practical applications of this type. One
example is a dispatcher service for a delivery company that
shows the location and status of couriers. These types of
services are usually connected to some kind of Geographic
Information System (GIS) that presents the information to
the user.
•
Asset tracking.
Tracking of assets is possible if the asset includes a GSM
terminal. If a car with a built in GSM unit is stolen it can
easily be tracked and returned to the owner.
•
People tracking.
Worried parents might want to keep track of their children
playing outside. Or imagine that you are supposed to meet a
friend who is at a noisy place and do not hear when you are
calling. Then you are able to position him and meet him there
anyway.
18
4 • Positioning services
Positioning of Mobile Units
•
4.1.1.5
4.1.2
Traffic monitoring.
The average velocity of a vehicle is possible to find out if two
positions and the elapsed time are known. That means that
the traffic flow can be monitored very easily if people all
around the city allow the service to position them.
Network enhancing
The methods described here are primarily meant for network
operators.
•
Network planning.
The network operator may be able to use location
information to aid network planning. The operator can locate
calls in certain areas and track the network loads to improve
future capacity. The service can even be used for user
behavior modeling.
•
Quality of service improvements.
The location service may be able to track dropped calls to
identify problematic areas.
•
Improved radio resource management.
The location of the mobile unit may be used for more
intelligent handovers and more efficient channel allocation
techniques.
Positioning frequency
The positioning frequency of a location service is of great concern
since every positioning request uses network resources. Therefore it is
important to not use higher frequency than necessary. Mainly the
positioning requests can be of two types, periodical and
manual/event-based. Combinations of the two exist in many services;
it could be a service with time-limited periodical positioning that is
initiated by a manual event. The combinations are good for
minimizing network load but remain the necessary quality of service.
4.1.2.1
Manual/Event-based
Services that do not need any kind of continuous positioning are
considered manual or event-based. That means that every positioning
request is triggered by either a manual event or a specific event in the
application.
4.1.2.2
Periodical
Periodical positioning means continuous positioning request with a
certain frequency. The network load is generally higher than for
manual/event-based positioning, but of course depends on the
frequency. Because of the higher network load and the higher
numbers of positioning requests this method is more expensive. But
different price models customized for this type of services will
probably be used.
19
4 • Positioning services
Positioning of Mobile Units
Typical services that use periodical positioning is guiding services,
traffic monitoring and push oriented information.
4.1.3
Accuracy
Different location based applications require different levels of
accuracy. It is obvious that the captain of a ship needs high accuracy
(a few meters or less) when navigating in the archipelago, whereas for
people tracking location accuracies of a hundred meters or so would
often be acceptable.
Jeremy Green, Principal Consultant, Ovum says about accuracy [7]:
“Ovum’s research shows that the importance of accuracy is
overstated in the industry. Many applications can be well supported
with low levels of measurement accuracy; if the applications and user
interfaces are well designed.”
4.2
Services summary
Table 1 below summarizes the above-mentioned services and their
main properties. The accuracy values are estimated to fit the service
and not be unnecessary precise. The mentioned services can have
different areas of use and therefore the accuracy and frequency might
not fit all areas.
Service
Type
Frequency
Accuracy
Emergency service
Safety
Manual/Event-based
~50 m
Assault alarm service
Safety
Manual/Event-based
~50 m
Assistance requesting
service
Mobile Yellow Pages
Safety
Manual/Event-based
~250 m
Manual/Event-based
0,25 * radius11
~5 min /
Manual/Event-based
>5 min
Cell/Sector
~1 min /
Manual/Event-based
Event-based (by calls)
< 30 m
Location based charge
Information
(pull)
Information
(push/pull)
Information
(push)
Information
(push/pull)
Billing
Zone based charge
Billing
Event-based (by calls)
Cell/Sector
Fleet management
Tracking
~50 m - 1 km
Asset tracking
Tracking
~5 min /
Manual/Event-based
~5 min /
Manual/Event-based
Traffic information
Location based
advertising
City sightseeing
11
The specified radius for the Yellow Pages service.
20
~250 m
~150 m
~250 m
4 • Positioning services
Positioning of Mobile Units
People tracking
Tracking
Manual/Event-based
~50 - 100 m
Traffic monitoring
Tracking
~5 -15 min
~500 m
Network planning
Network
enhancing
Network
enhancing
Network
enhancing
Event-based (by calls)
~200 m
Event-based (by calls)
Cell/Sector
Event-based (by calls)
~200 m
Quality of service
improvements
Improved radio
resource management
Table 1. Positioning services summary.
4.3
Today
At present there are a couple of positioning services on the market;
Nära Dig12 [19] and BotFighters13 [20] for example. Most of them, if
not all, are still in an initial state and there is not much experience of
this type of services. The lack of experience is a problem since we do
not know what services the market wants. Even though lots of
evaluations have been done in this area it still is speculations.
The accuracy is not very good at present, but is still enough for many
business and consumer applications.
For example, a company that provides copier maintenance can
receive wireless short burst messages from a specific unit that the
toner level is becoming critically low and the unit is about to shut
down. The origin of the message can be located and a nearby service
technician can be dispatched.
4.4
Tomorrow
In the future positioning services will get more integrated into other,
more complex systems that could be leveraged by location
information. The problem today is that there are no specified
standards that are necessary for these complex solutions.
For example, customer relationship management (CRM) systems
integrated with location services can enable organizations to close the
information gap between service providers and their customers or
constituencies. By tying ubiquitous geographic location information
with all aspects of business activity, service agents, marketers,
planners, analysts, and managers can detect patterns and trends in the
data that may otherwise have been missed.
12
13
A positioning service that allows finding, for example, gas stations that are close to you for the moment.
A position based game where you fight against other players (by sending SMS) that are close to you.
21
4 • Positioning services
Positioning of Mobile Units
4.5
To think of
When implementing a positioning service there are some basic things
to think about. First of all; which is the target group and what are
their needs? Is the target group big enough and can we fulfill the
expected needs of the group? It is essential to develop services that
address customer usage scenarios by taking into account the enduser’s mode or context to integrate the content and service delivery
platform into their lifestyle needs and changing usage patterns.
Some services require high accuracy and others do not. It is important
to determine what accuracy is needed and make sure that the
positioning areas supply enough accuracy. Satisfied customers are
always important, but when a new service is introduced it is even
more important. Otherwise the whole concept is threatened to end up
in the grave. Therefore it is of high importance to notify the
customers of the correct accuracy in the beginning so they will not be
disappointed.
The last basic prerequisite is a well-designed and easy to use interface.
Even this is extra important in the beginning of a new service when
the users are not used to the product. If they do not like it or are not
able to use it they might not try again, ever!
22
5 • The personal integrity
Positioning of Mobile Units
5
The personal integrity
Of all the challenges facing location service providers, privacy is
undoubtedly the biggest single potential barrier to market take-up.
Consequently, the operators must implement absolute physical
separation of location data from the various applications over which
it is run.
People in general found this type of services interesting but they get
very skeptical because of the privacy and integrity problems it brings.
Therefore it is very important that people get confidence in this
technique and its services already from the beginning. Otherwise it
can be hard to get enough penetration of the services that is required
to start getting revenues of it.
5.1
Privacy
The European Telecommunications Standards Institute (ETSI) says
[14] that if not required by local regulatory requirements, or
overridden by the target mobile terminal user, the target mobile user
may be positioned only if allowed in the subscription profile14.
Further, the subscriber shall be able to restrict access to the location
information, permanently or per attempt basis. The access to the
location information shall be restricted unless otherwise stated in the
user’s subscription profile.
For emergency services (where required by local regulatory
requirements) mobile terminals making an emergency call may be
positioned regardless of the privacy attribute value of the subscriber
associated with the mobile terminal making the call.
The default treatment in the absence of the information to the
contrary in the subscription profile shall be to assume that access is
restricted to all mobile terminals. That means that no one can be
positioned without explicit admitting it in his or her subscription
profile.
When talking to people, regarding privacy for mobile positioning,
there is one thing that almost everyone mentions; they want to be
able to turn off the positioning ability temporarily through the phone
without switching the phone off.
A collection of subscription attributes of location services related parameters that have been agreed for a
contractual period of time between the user and the service provider.
14
23
5 • The personal integrity
Positioning of Mobile Units
5.2
Security
ETSI has stated [14] that only authorized LCS15 Clients shall be able
to access the LCS Server. Before providing the location of a mobile
terminal to any authorized LCS Client, the LCS Server shall verify
both the identity and authorization privileges of the LCS Client.
When verified, the request shall be done in a secure and reliable
manner.
The security concerns regarding to the personal integrity can be
divided into three fundamental parts. LIF16 presented these in [16]:
•
Data Security; developing secure and effective methods for
interfacing to subscriber profiles, location information, billing,
etc.
•
Access Security; secure the APIs between the application and
the network.
•
Satisfy regulatory guidelines.
Another important thing regarding security is mentioned in [10], from
“The North American Interest Group of the GSM MoU
Association”. It says that audit records should be maintained of
positioning requests and responses to facilitate resolution of security
violation.
Location Services
A global industry initiative, formed jointly by Ericsson, Motorola and Nokia in September 2000 with the
purpose of developing and promoting common and ubiquitous solutions for Mobile Location Services (MLS).
15
16
24
6 • System specification
Positioning of Mobile Units
6
System specification
This chapter describes how the system is intended to work, which
parts that are included and which are not. This shall be seen as an
overview that gives the reader a good insight into the positioning
system. For a more complete specification, that describes all
functionality of the system, the “Function specification for Tracey
version 1.0” [11] is recommended. The system developed below goes
under the project name Tracey.
This positioning service is built using the Ericsson Mobile Positioning
System that is implemented in the GSM network of Telia.
The main components in this solution are:
• The mobile system provider’s17 network with Ericsson’s MPC
implemented
• Communication layer (API)
• Logic layer that handles the positioning information.
• Presentation layer for user interaction with the positioning
data.
17
In this case Telia’s GSM network is used, but could as well have been any other operator with a MPS.
25
6 • System specification
Positioning of Mobile Units
Operator/M PC
Client
Inter/Intra-net
Application server:
• Presentation layer
• Communication
layer
• Logic layer
Database:
• User data
• Geographic data (long/lat)
• Geographic data
(Graphical)
Figure 7. The main components of the implemented positioning service.
6.1
System Overview
The heart in the positioning application is the application server that
manages all communication, logics and presentation. This application
is a Java Servlet18 that is invoked when a client makes a request. All
data about the users, the system, maps, rights and more are stored in a
database that is accessed by the servlet application.
Since the application only is available for authorized users an
authorization must be done for every request to the system. The first
request to the system in the present session forces the user to login in
order to use the system. The user information is then stored until the
user logs out or the session is closed.
18
An application that executes by a web-server and can communicate via the web-server and the HTTP.
26
6 • System specification
Positioning of Mobile Units
Log In Data Flow
1. Log in Request
2. Log in Query
Servlet
Application
Client
4. Log in Result
Database
3. Log in Response
Figure 8. Dataflow for a log in request.
When a user wants to find out the position of another user that he is
allowed to position, a request is sent to the application. The
application makes sure that the user is allowed to do this request and
if he is the request is sent to the MPC. There is only information19
about the person who will be positioned that is sent in the request to
the MPC and no information about the person that is requesting the
position. That means that all security regarding who is allowed to
position whom is located in the servlet application and its belonging
database.
When the MPC gets the request it tries to locate the requested
terminal. This procedure takes 2 – 8 seconds and an average request is
5 seconds according to [12]. If the request succeeded the position is
sent as a result back to the application. See [12] for more information
about the protocol20 used between the application and the MPC.
When the position is known there is one thing left, to present the
result to the user. This is done graphically with a map from the
database. The next step is to send a query that gets the right map
from the database. The application then marks the position on the
map and sends it as a result to the client.
19
20
Phone number, user name and password.
Mobile Positioning Protocol, MPP.
27
6 • System specification
Positioning of Mobile Units
Position Request
Data Flow
1. Position Request
2. Position Request
Servlet
Application
Client
6. Position Result with Map
MPC
3. Position Response
4. Map Query
5. Map Response
Database
Figure 9. Data flow description of a positioning request.
6.2
The client
Tracey shall be administrated of persons with administrator rights and
used by registered users via the user interface on the client.
The client shall:
•
Work with Netscape 4.0 or higher and Internet Explorer 4.0
or higher.
•
Ask the user to log in when using the session for the first
time. The user will be redirected to a log in page if not yet
logged in.
•
Be intuitive and easy to use and follow elementary rules of
HCI21.
- As far as possible the same look on all supported browsers.
- No misuse of HTML, all pages shall be validated.
- Fast-loading page, send small amount of data.
There are a few main functions included in this positioning
application. The application can be divided into two parts, the
administration- and the positioning part.
21
Human Computer Interaction.
28
6 • System specification
Positioning of Mobile Units
The administration part takes care of all tasks regarding the
administration. That could be adding/deleting/updating users and
groups. It also handles everything regarding to rights, for example
who shall have right to get my position. The client also includes a list
where the user can see every user and group that has right to get his
position. Anyone that wants can create a new group and invite other
users into it. Everyone that accepts the invitation gives the other
members of the group right to get their position. For a complete
description on groups and rights, see “Function specification for
Tracey version 1.0” [11].
The positioning part is where the user can locate other users that he is
allowed to position. There is a function where the user can search for
other users if there are many or select a group to see the members of
the group. By selecting the user(s) to locate and pressing the “Get
Positions”-button a map shows the present positions of the users.
Figure 10. Screen shot of the positioning interface.
6.3
The server
The server handles all communication between the MPC, the
database and the client; see Figure 7. When the server receives a
request it collects all necessary information and generates a result for
the requesting client.
29
6 • System specification
Positioning of Mobile Units
The server can be divided into three different layers that handle their
specific tasks. The three layers are; the presentation layer, the logic
layer and the communication layer.
6.3.1
The presentation layer
The presentation layer shall generate the code (HTML 4.0) that builds
the client. See [11] for an accurate description of the client.
One Java class, see HTML Generator in Figure 11, includes standard
methods for generating different parts of the client, like:
6.3.2
•
The positioning list (the list of persons allowed to be
positioned)
•
The map
•
The menu
The logic layer
The logic layer shall:
•
Manage user security. User information from the database (via
the communication layer) shall set the users group belongings,
security and rights.
Ex:
Is USER1 allowed to position USER2?
Is USER1 allowed to position GROUP3?
Is USER1 allowed to log in?
When a user logs in, a new session will be started for the user
and necessary identification variables will be stored.
•
Handle position requests from the client.
When the user sends a request, the session creates a position
request object that handles the request.
•
Handle positioning data received from the MPC (via the
communication layer).
When a position request is sent to the MPC a position result
object that takes care of the result is created.
•
Decide which map image to use and calculate the position on
the map.
An image object is created out of the received position and an
image from the database.
•
Encrypt the passwords before they are sent to the database
and decrypt them when received from the database.
30
6 • System specification
Positioning of Mobile Units
6.3.3
The communication layer
The communication layer shall:
6.4
•
Contain necessary functions for communication with the
MPC via MPP [12]. Java-classes for this purpose exists in the
API included in MPS-SDK 1.1 from Ericsson.
•
Contain necessary functions for communication with the
database.
•
Contain necessary functions for communication with the
client via HTTPS22. The web server handles the secure
communication with the client. And the communication
classes in MPS-SDK23 handles the secure communication with
the MPC.
The database
The database includes four main parts: general user information, users
and group information, authority information and geographic
information. For further information about the database, please refer
to the “Function specification for Tracey version 1.0” [11].
22
23
Hyper Text Transfer Protocol Secure.
Not supported in MPS-SDK version 1.1 that was used during this work. Next release, version 3.0 does.
31
7 • System development
Positioning of Mobile Units
7
System development
This chapter describes briefly how the development of the
positioning service was done and why it was done in the way it was.
The main purpose of this chapter is to show how the system was built
and why it looks the way it does. The intention is to describe it in a
way easy to read and therefore no code is included here. The code
would not add any important information anyway, and is not the
important thing here.
7.1
Why Java?
Primarily the choice was between ASP24 and Java since the user
terminal should be a thin client, a web browser. There are a couple of
reasons why the choice of programming language fell on Java. The
main reason is that the intention was to build a platform that could be
used for other positioning services in the future. ASP code is
integrated into the HTML code and cannot be used in other
applications, whereas Java servlets are based on usual Java classes that
generate HTML code dynamically. If the positioning methods are
placed in separate classes they can be reused in the future.
A good alternative to Java servlets is JSP25. JSP integrates Java servlets
into the HTML code, but still uses usual Java classes. The reason JSP
was not considered an alternative is the lack of experience.
7.2
Tools and environment
The environment can be divided into runtime environment and
development environment. The runtime environment is the
environment in which the application is run. The development
environment is the environment in which the application is
developed.
7.2.1
Runtime environment
The general environment needed to run the positioning application
constitutes of a database server, a web server, a servlets engine and a
user client.
24
25
Active Server Pages.
Java Servlet Pages.
32
7 • System development
Positioning of Mobile Units
In the beginning of the project the Java Web Server 2.0 and its
included servlet engine was used. The Java Web server was chosen
because of its easy installation and configuration thanks to the
included servlet engine. Unfortunately there were some problems
with the servlet engine that complicated the development. Therefore
the Apache HTTP Server 1.3 and Resin 1.1.3 servlet engine replaced
it. This combination worked out much better and with better
performance, but the configuration was a little more complicated.
The database used is Microsoft SQL Server 7.0. Other databases are
intended to work but are not yet tested.
Netscape Navigator 4.03 and Microsoft Internet Explorer 5.00 were
used as clients during the software development. The requirements of
the clients are 4.0 or higher.
7.2.2
Development environment
The development of this application was done using a couple of
different tools. The most important tool is the IDE26 used for
creating the Java code. Two different IDEs were used, first Oracle
JDeveloper and later Sun’s Forte Community Edition.
The prototyping was done using Microsoft Visual InterDev and
Microsoft FrontPage, two good tools for quick and easy creation of
HTML-based prototypes.
The database layout was done with Microsoft Visio that is a great tool
for doing database layouts. The layout can then be used to
automatically create the database in Microsoft SQL Server. The
Enterprise Manager included in SQL Server was used to manage the
database.
During the development a positioning emulator was used that
simulated a MPC. To do this emulation a scenario has to be set up
that simulates mobile terminals moving around. This is set up using
VisualNet that is delivered in the MPS-SDK version 1.1 from
Ericsson.
7.3
The user interface
When making the user interface it is important to always have the
user in mind. First of all you have to know who the user will be and
work from that point of view. The intention is that this application
shall be used of many different types of users with a varying
experience of computers and applications like this. Therefore a very
basic interface that is easy to understand is required.
26
Integrated Development Environment.
33
7 • System development
Positioning of Mobile Units
The choice of layout fell on a, from the Internet, well known interface
with a menu on the left that always will be there no matter what the
user do. This is important since if the users feel lost they will lose the
interest for the application [15] faster then you might think and then
it does not matter how many great functions there is.
7.3.1
Mockup
A very realistic prototype was created. It looked just as the finished
product was supposed to do but without all the functionality. A very
good technique to make a realistic mockup is to let a couple of
persons with different backgrounds perform some tasks in the
application. Then you can easily find out where the users have
problems.
In this case a screen cam27 was used to register every move the users
made. This is very effective since you can watch the behavior over
and over again and see things you might miss if you only watch the
user live. This technique also has a good side effect. The users that are
ordinary human beings are affected of lots of things in their
environment. One thing that most likely will affect them is a person
watching every move over their shoulder. That is avoided using the
screen cam and the best effect is achieved if the users do not know
about the screen cam.
7.3.2
Usability testing
In this usability test the users were told that there were going to be a
test where they should go through a list of tasks and then answer
some questions about them afterwards. In other words, they did not
know anything about the screen cam watching all their moves.
Before the users were allowed to start a short briefing about the
application was given. They were told what type of application it was
and what they could do with it. But nothing was told about what the
application looked like and how to do things in it. The test persons
were also given a username and password for login.
The test was done in an isolated room with as few disturbing
elements as possible and of course without any contact to other
persons.
7.3.3
Qualitative interviews
Directly after the usability test the user had to go through an
interview. The purpose of the interview was to get the users opinion
about the user interface. The interviews were free where the users
were allowed to talk about the things he came to think of regarding
the user interface. The person holding the interview just tried to keep
the conversation to stay about the application interface. This
technique was chosen since otherwise it is very easy to affect the user
in some direction with, for example, leading questions.
27
Screen cam is an application for making sequential screen shots and putting them together to a movie.
34
7 • System development
Positioning of Mobile Units
7.3.4
Results
Overall the interview persons were satisfied with the user interface.
But some good suggestions for improvements were mentioned during
the interviews. Some of the things mentioned are already known and
not yet implemented in this prototype used during the interviews.
A complete summary of the results of the qualitative interviews is
presented in Appendix A. The most important things mentioned
there are:
•
Difficult to use “Grant Rights”, it is not intuitive.
•
No feedback while waiting for the requested location.
•
Positions hard to see on map sometimes.
•
Information about showed position on map.
After watching the users behaviour recorded with the screen cam one
thing that needs to be improved was discovered. All three users had
some problems while granting rights to other users or groups, this
was also mentioned in the interview. This has to be more intuitive in
the future.
7.4
The database
The database was developed in a way to fit with the main database of
mApplicator28 ™. The mApplicator™ database stores the general
information about the users and the user table in the Tracey database
adds additional information regarding to the positioning.
In this first version of Tracey all the information is stored in the same
database, even the geographical information. But, the intention is that
the geographical information shall be stored in an independent
database handled by the provider of the geographical information.
7.5
The server
As mentioned before the server was developed in a way that makes it
easy to reuse parts of it in other applications, and easy to rebuild if
necessary. The structure is shown in Figure 11 below.
The server is built with a servlet that handles the connection between
the web server and the rest of the server application. For the database
connection it uses connection pooling, which means that when the
servlet starts a number of connections are created and stored in the
pool. When the server needs connection with database it gets one
connection from the pool instead of creating a new one. This
technique results in much better performance in runtime, but makes
the initialization of the servlet a little more time consuming.
28
mApplicator is a platform from Mobile Media Group for creating terminal independent services.
35
7 • System development
Positioning of Mobile Units
When the servlet is initialized it invokes the main application of the
server. The purpose of the main application is to authorize users and
create a user session if the user is valid. The main application also
handles the HTML Generator class that creates all the results sent to
the client.
The position requests are then handled by the user session through
the positioning result class. When a result is received from the MPC it
is stored in the positioning results class that is also handled by the
user session. The user session also holds the user class that keeps all
necessary information about the current user.
DB Connection
Pool
Main
Servlet
HTML
Generator
Main
Application
One-to-Many
relation
User Session
One-to-One relation
User
Positioning
Request
Positioning
Results
Figure 11. Class structure of the positioning application Tracey .
36
8 • Conclusions
Positioning of Mobile Units
8
8.1
Conclusions
Mobile Positioning
Today there are a few location services available for mobile terminals
used in the GSM network. These services are still in their initial state
and most people don’t know much about them. The accuracy is not
very good yet, although enough for many services.
In the future the accuracy will be better and the services more
advanced and useful. The services will be integrated to other systems
that can take advantage of location information. This type of services
is very useful for business applications but requires well-defined
standards that are not available today.
If or when we will see location services as a normal part of our daily
life is impossible to predict, but if the actors handle their cards right it
could very well be. There are mainly five things that will decide if
positioning services will change from a technology to a mass market:
•
Privacy/Integrity/Security
If these issues are not solved the services will only be used by
a few that really needs it and can live with the lack of security.
But users in general wont accept that and will not use it.
•
Usability
No matter how good the service is it won’t be used if the user
does not know how to use it. To reach the mass market
services must be very easy to use.
•
Billing/Revenues
If there is no way for the service- and network providers to
get paid for the positioning services they provide they won’t
do it. And the users have to be willing to pay for the services
in some way.
•
Quality of Service
If the service does not adds enough value to the users they
wont be willing to pay for it.
37
8 • Conclusions
Positioning of Mobile Units
•
Interoperability
The GSM network consists of different network providers. If
the positioning services shall reach a mass market it has to be
possible to position users in other networks. This requires
specified standards for the techniques used.
When all this is fulfilled the number of users of positioning services
will most likely increase rapidly, both for business- and private
consumers.
It is important that local regulations regarding the privacy and
integrity go along with the development of the positioning
techniques. It is also very important that the providers take their
responsibility in these issues, so the users feel confident with the
matter that others might be able to see their current location.
Finally, if everything work out the way it should we will see a great
amount of positioning services and users in a couple of years.
8.2
Product Development
The development of the positioning service ended up in a well
functioning application29. For the moment no help is available; see
“Function specification for Tracey version 1.0” [11] for further
information about the functionality. This application does not use real
positions from the GSM-network, but simulates the user’s positions
using the positioning emulator, from Ericsson, that acts just a real
one.
To use Java for the development turned out to be a very good choice.
Though my lack of experience of the language in the beginning I
managed to solve everything that I planned to do. Nothing was
changed cause of scarcity in the programming language. However, it
might have been a good idea to use JSP since the generation of
HTML-code in servlets is a little clumsy. JSP handles this in a much
better way.
The strategy of making a simple and user-friendly user interface
showed to be very good. The result was even better than expected.
During the interviews and usability tests only a couple of small
adjustments were found that need to be adjusted for this first version.
The work around this product has been very exciting, interesting and
enlightening and the resulting product will be packaged as an add-on
for mApplicator Advanced Server.
29
Contact the author for further information.
38
9 • Abbreviations
Positioning of Mobile Units
9
Abbreviations
A-GPS – Assisted GPS
API – Application Programming Interface
ASP – Application Service Provider
BSC – Base Station Controller
BTS – Base Transceiver Station
CGI – Cell Global Identity
CRM – Customer Relationship Management
E-OTD – Enhanced Observed Time Difference
FCC – Federal Communications Commission
GIS – Geographic Information System
GPS – Global Positioning System
GSM – Global System for Mobile Communications
HCI – Human Computer Interaction
HLR – Home Location Register
HTML – Hyper Text Markup Language
HTTP – Hyper Text Transfer Protocol
HTTPS – Hyper Text Transfer Protocol Secure
IDE - Integrated Development Environment
IMEI – International Mobile Equipment Identity
IMSI – International Mobile Subscriber Identity
LMU – Location Measurement Unit
MPC – Mobile Positioning Center
MPS – Mobile Positioning System
39
9 • Abbreviations
Positioning of Mobile Units
MS – Mobile Station
RTD – Real Time Difference
SIM – Subscriber Identity Module
SSL – Secure Socket Layer
TA – Timing Advance
UL-TOA – UpLink Time Of Arrival
WLS – Wireless Location Services
40
10 • References
Positioning of Mobile Units
10
References
[1]
“Ericsson’s mobile location solution”, Ericsson Review No. 4 1999,
Göran Svedberg.
[2]
“What are Location Services? - From a GIS Perspective”, Ian
Koeppel, ESRI, 2001-01-10,
http://jlocationservices.com/company/esri/What%20are%20Locati
on%20Services.html
[3]
“Product Information Mobile Positioning”, Ericsson, 2001-01-03,
http://www.ericsson.net/developerszone/tech/prodinfo/index.asp?
tech=6&techname=Mobile+Positioning&cat=4&menuname=Produ
ct+information
[4]
“GSM Information – Introduction”, Mobile World, 2001-01-20,
http://www.mobileworld.org/gsm_about_01.html
[5]
“Trimble and Infineon Introduce Smallest and Lowest Power GPS
Solution for Mobile, Automotive and Consumer Applications”,
Trimble, LeaAnn McNabb, 2000-10-25.
[6]
“Mobile Positioning System, MPS 2.0”, Ericsson, 2000-11-20.
[7]
“Ovum Predicts Mobile Location Services Driven By m-Commerce
Will Generate $20 Billion by 2006”, Wireless Developer Network,
2001-01-15,
http://www.wirelessdevnet.com/news/newsitem.phtml?newsitemid
=882&channel=lbs
[8]
“Wireless Location Services Will Generate More Than US$ 81.9
Billion For European Cellular Operators by 2005”, Strategies Group,
2000-04-03.
[9]
“Mobile Positioning, An Introduction to Mobile Positioning”,
Mobile Lifestreams, 1999-12-01, http://www.mobilePositioning.com
[10]
“Location Based Services - Service Requirements Document”,
Randolph Wohlert, The North American Interest Group of the GSM
MoU Association, 2000-01-14.
[11]
“Function specification for Tracey version 1.0”, Stefan Åkerberg,
Mobile Media Group, 2001-01-04.
[12]
“Mobile Positioning Protocol version 1.1”, Henrik Ekberg, Ericsson
Software Technology AB, 2000-04-18.
41
10 • References
Positioning of Mobile Units
[13]
“Telekombranschen hoppas på positionering”, Per Westman,
Dagens IT, 00-11-15.
[14]
“Digital cellular telecommunications system (Phase 2+); Location
Services (LCS); Service description, Stage 1 (GSM 02.71 version 7.2.0
Release 1998)”, ETSI, 2000-02.
[15]
“Designing the User Interface”, Ben Shneiderman, Addison Wesley
Publishing Company, Maryland USA, 1998.
[16]
“Location Interoperability Forum (LIF)”, Bilal Saleh, Location
Interoperability Forum (LIF), 2001-04-23,
http://www.locationforum.org/words_from%20_Chairman.htm
[17]
“The GSM network”, Interactive course, Europolitan, 1999
[18]
“Maslow on Management”, AbrahamH Maslow, Wiley, United
Kingdom, 1998
[19]
“Nära Dig”, Telia Mobile AB, 2001-05-17,
http://www.teliamobile.se
[20]
”BotFighters”, Telia Mobile AB, 2001-05-17,
http://www.botfighters.com
42
11 • Appendix
Positioning of Mobile Units
11
Appendix
Contents of the belonging appendices presented below.
11.1
Appendix A
Qualitative interviews
A summary of the results from qualitative interviews with three
persons after that they have used the prototype of the user interface
for Tracey.
11.2
Appendix B
Function specification for
Tracey version 1.0
The complete function specification for Tracey version 1.0. It covers
all features of the application
43
Appendix A
Qualitative Interviews
Three persons were interviewed and this is a summary of the things mentioned
during the free qualitative interviews. The interviews were hold by letting the
user talk free about what he thought about the user interface.
Worth to mention is that all users missed the Help-feature. This is something
that is not yet implemented in the prototype used during the interviews.
User 1
Positive
•
•
•
Nice looking design.
The first impression of the user interface is that it looks very good and is
easy to use.
Menu always available.
The possibility to do everything from the same place is very good.
Good overview of granted rights.
The list of granted users is a very good feature that is of big importance
to the user that wants to know who is able to get his location.
Negative
•
•
•
•
•
No help available.
Help for all the menu choices would be very helpful.
Hard to understand how to grant rights.
The way to grant rights is not very intuitive. Should be done in an easier
way.
No feedback while requesting the positions.
When the “Get Position” button is pressed feedback should be shown to
the user that the request is in progress and the picture is loading.
Hard to understand group relations.
Positions hard to see on map sometimes.
User 2
Positive
•
Easy to get a quick overview.
The menu gives me a simple overview of what features are available.
Negative
•
No help available.
1 of 2
•
•
Indication on menu where I am for the moment.
An arrow or something showing what alternative in the menu I am in
right now. That would make the overview even better.
Information about showed position.
It should be possible to get information about a showed position by
clicking on it on the map or by moving the mouse over it.
User 3
Positive
•
Symbolic icons help a lot and make the application better looking.
The symbolic icons make the overview better and make the application
more fancy.
Negative
•
•
•
No scroll function on the map.
It should be possible to scroll to other areas than the one showing.
No zoom function on the map.
It should be possible to zoom in and out on the map.
No help available.
2 of 2
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Datum - Date
Stefan Åkerberg
01-09-03
Ver
PA4
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
Appendix B
Function specification for
Tracey version 1.0
Sid 1 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
Datum - Date
01-09-03
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
Table of Contents
1
General ................................................................................................................................3
1.1 Purpose .........................................................................................................................3
1.2 Function ........................................................................................................................3
1.3 Limitations ....................................................................................................................4
2 Environment........................................................................................................................5
2.1 Hardware ......................................................................................................................5
2.2 Software........................................................................................................................5
3 Functions .............................................................................................................................5
3.1 The client ......................................................................................................................5
3.1.1
3.1.2
3.1.3
3.1.4
The
The
The
The
positioning interface ..............................................................................6
menu interface .....................................................................................7
administrative interfaces........................................................................7
help page ........................................................................................... 17
3.2.1
3.2.2
3.2.3
The presentation layer ............................................................................... 17
The logic layer .......................................................................................... 17
The communication layer ........................................................................... 18
3.3.1
3.3.2
3.3.3
User data.................................................................................................. 18
Geographical data ..................................................................................... 18
Language data .......................................................................................... 18
3.2 The server ..................................................................................................................17
3.3 The database .............................................................................................................18
4
5
6
References ........................................................................................................................18
Terminology ......................................................................................................................18
Annexes .............................................................................................................................19
6.1 Revision History .........................................................................................................19
Sid 2 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Datum - Date
Stefan Åkerberg
01-09-03
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
1
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
General
Tracey is a system for presentation of geographic positions of mobile terminals. The
positioning is done by an external MPC1, and is not a part of Tracey. Tracey sends queries
and receives results from the MPC. The results from the MPC make the fundamental data for
the geographic presentation in Tracey.
The communication with the end-user is done through the interface in a thin terminal2.
1.1
Purpose
Tracey provides end-users with the possibility to locate a mobile terminal and view the
result on a map presented on the client.
1.2
Function
The main components of a system for positioning of mobile terminals are:
• The network of the mobile system provider with Ericsson’s MPC implemented.
• Communication layer (API).
• Logic layer that handles the positioning information.
• Presentation layer for user interaction with the positioning data.
Operator/M PC
Client
Inter/Intra-net
Application server:
• Presentation layer
• Communication
layer
• Logic layer
Database:
• User data
• Geographic data (long/lat)
• Geographic data
(Graphical)
Figure 1. Mobile positioning system overview.
1
2
Mobile Positioning Centre.
Netscape and Internet Explorer.
Sid 3 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Datum - Date
Stefan Åkerberg
Ver
01-09-03
PA4
Dokansvarig/Godkänd av – Doc responsible/Approved by
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Magnus Danielsson
Appendix B.doc
Log In Data Flow
1. Log in Request
2. Log in Query
Servlet
Application
Client
Database
4. Log in Result
3. Log in Response
Position Request
Data Flow
1. Position Request
2. Position Request
Servlet
Application
Client
6. Position Result with Map
MPC
3. Position Response
4. Map Query
5. Map Response
Database
Figure 2. Data flow.
1.3
Limitations
In this release, version 1.0, Tracey is limited to the suburbs and the city of Stockholm
and to the use of raster images for presentation.
The presentation of the geographic position of the mobile terminal is limited to the
position of the nearest base station and its radius.
This version is limited to only support English.
The database use is limited to Microsoft SQL Server. As far as possible, features specific
to SQL Server shall be avoided to make a future integration to other databases possible
and easy.
Tracey shall only support the ISO-8859-1 character set.
Sid 4 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
2
Datum - Date
01-09-03
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
Environment
2.1
Hardware
Tracey is supposed to be implemented and executed on an INTEL-based platform, e.g.
Windows NT or Linux(X86). The components of the software must not be bound to the
same machine; the server and the database shall be able operate on different machines
if necessary.
2.2
Software
Tracey can be divided into three layers, presentation-, logic- and communication layer.
The presentation layer shall be developed according to the ”thin client”-principle, which
in this case means a servlet generating HTML-code for the client.
3
Functions
3.1
The client
Tracey shall be administrated of persons with administrator rights and used by
registered users via the user interface on the client. The client flow is described in [3]
“The Client Flow”.
The client shall:
• Work with Netscape 4.0 or higher and Internet Explorer 4.0 and higher.
• Ask the user to log in when visiting the first time of the session.
- The user will be redirected to a log in page with a secure connection, if not
yet logged in.
- If the user is logged in and tries to use an insecure connection he shall be
redirected to a secure connection.
• Be intuitive and easy to use and follow elementary rules of HCI3.
- As far as possible the same look on all supported browsers.
- No misuse of HTML, all pages shall be validated.
- Fast-loading page, send small amount of data.
• Use the same interface for administrators and users with the addition of
administrative functions for administrators, see 3.1.2 “The menu interface”
below.
3
Human Computer Interaction.
Sid 5 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Datum - Date
01-09-03
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
3.1.1
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
The positioning interface
The user interface shall:
• Contain log in/welcome
picture.
• Include two search fields for
first- and last name.
• Include a search button that
executes the search and
shows the result in the list.
• Include a list box that contains
the user´s member groups.
• List all persons the user has
right to position.
- A maximum of 20 persons
shall be presented to the user.
If the user has right to
position more than 20 persons
only the first 20 will be listed.
Figure 3. Log in page.
In this case a text will inform
the user about this and that
he can make a search to find the right person.
- A radio button shall be positioned in front of the name to let the user choose
whom to be positioned. When a change occurs the map shall be updated.
• Show the map with the point of the positioned mobile phone marked. The point
(circle) shall cover the area the user might be in, according to the inaccuracy in
the positioning system.
• Include a list box that allows the user to choose scale. When the scale is
changed the map shall be reloaded with the new scale. (Planned for next
version)
• Include an “Update” button that sends a new position request and shows the
new resulting map.
Figure 4. The positioning interface
Sid 6 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Datum - Date
01-09-03
Ver
PA4
Dokansvarig/Godkänd av – Doc responsible/Approved by
EX-100-01
Filnamn – File name
Magnus Danielsson
3.1.2
Dokumentnr. Document no.
Appendix B.doc
The menu interface
All information about the users and groups is administrated from
here. The administrator interface is the same as the user
interface but with the addition of the administrator choices in the
menu:
•
•
•
User Page
Link to the positioning page.
Help
Link to a help page. This page shall be different for users
and administrators.
Log Out
Ends the session and out the browser returns to the log
in page.
The following are described in chapter 3.1.3. The alternatives
marked with (admin) are only available for administrators.
•
•
•
•
•
•
•
•
•
•
•
3.1.3
Invitations
Grant
Show Granted
Create User (admin)
Delete Users (admin)
Update User (admin)
Create Group
Delete Group
Add Users To Group
Remove Users From Group
Leave Group
The administrative interfaces
The following chapters describe the functionality of the
administrative interfaces available in the menu. Each chapter
also includes a picture as a guideline for the design.
Figure 5. Menu
All lists mentioned below shall be sorted in
alphabetical order. Personal names shall be sorted
after last name and then first name.
3.1.3.1 Grant Rights
This function shall be divided into two steps. The
first step shall decide what type of right that shall
be granted and the second one shall let the user
choose which user or group to grant.
First step:
• Rights from
Two radio buttons shall let the user
choose if it is himself or one of his owned
groups that shall give rights away. If the
user chooses “Owned group” a list box
Figure 6. Select what type
of rights to give.
Sid 7 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Datum - Date
01-09-03
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
•
•
•
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
shall appear below with his owned groups.
Rights to
Two radio buttons that let the user choose if it is a user or a group that shall
be granted.
Next
This button leads to the next step.
Cancel
Second step:
This step depends on the choice in the first
step. If the user selected “User” in the
“Rights to” field he will come to the “Grant
User Rights” form. If he selected “Groups”
he will come to the “Grant Group Rights”
form.
Grant User Rights:
• Search field for first name.
• Search field for last name.
• Found users
Lists users that match the search
criteria. If the search result
includes more than 100 users a
“Too many” message shall appear
in the list.
• Users to grant
Lists all users the user chooses to
grant.
•
•
•
•
•
Figure 7. Select users to grant.
And buttons:
Search
When pressed the found users are listed in “Found users” list.
Select user ( Æ )
Adds user to the list with selected users.
Deselect user (Å )
Removes user from the list with
selected users.
Grant
Grants all selected users the
ability to position the object
selected in the first step (“Rights
from”). A confirmation page will
be shown. Check that at least
one user is selected shall be
done.
Cancel
Grant Group Rights:
• Search field for group.
• Found groups
Lists groups that match the
Figure 8. Select groups to
grant.
Sid 8 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
•
•
•
•
•
•
Datum - Date
01-09-03
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
search criteria. If the search result includes more than 100 groups a “Too
many” message shall appear in the list.
Groups to grant
Lists all users the user chooses to grant.
And buttons:
Search
When pressed the found groups are listed in “Found groups” list.
Select group ( Æ )
Adds group to the list with selected groups.
Deselect group (Å )
Removes group from the list with selected groups.
Grant
Grants all selected groups the ability to position the object selected in the
first step (“Rights from”). A confirmation page will be shown. Check that at
least one user is selected shall be done.
Cancel
3.1.3.2 Group Invitations
This table shall include information about all groups the user is invited to. When the
user has sent an answer to an invitation it is removed from the list. The following
information shall be included in the table:
•
•
•
•
•
Group
The name of the group the user is invited to.
Owner
The name of the group’s creator.
Member
The names of other users in the group. Their role in the group is described
inside the parenthesis. If the member has not answered to the his invitation
yet the role is preceded by “Inv.”
Membership
What type of role in the group are the user invited to.
Accept and Deny
The radio buttons represent the user’s answer to the invitation. None of the
radio buttons shall be selected by default.
The following buttons shall be included:
• Answer
Sends the user’s answer, and the database is updated. A confirmation will
the be shown.
• Cancel
Sid 9 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Datum - Date
01-09-03
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
Figure 9. Group invitations.
3.1.3.3 Granted Users And Groups
This table shows all users
and groups that have right to
position the logged in user
and through which relation
(via) the right is given. This
list shall include:
• Direct user to user
relations (white with
user icon).
• Direct user to group
relations (white with
group icon).
• Group to user
relation, which
means that a user
has right to position
me because I am
Figure 10. List of granted users and groups.
member of a group
that granted him
(gray with user icon).
• Group to group relation, which means that all normal members of a group
has right to position me because I am member of a group that granted the
other group (gray with group icon).
• Member relation, which means that I am a member of a group and all the
normal group members have right to position me (gray with group icon and
without remove checkbox).
All list items, except of the member relations shall have a “Remove” checkbox that
allows the user to remove the relation. If the user wants to remove a member
relation he must leave the group, see 3.1.3.11.
Sid 10 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Datum - Date
01-09-03
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
The form shall also include these buttons:
• Remove
Removes the selected rights.
• Cancel
3.1.3.4 Create User
This form shall only be available to
users with administrator rights. The
form shall include fields for all user
information. First there shall be a check
if the username already exists. Tracey
is connected to an existing main
database that contains general user
information. If the username exists in
this database the user information is
predefined in the “Create existing user”
dialog and the user is updated in the
main database and a new user is
created in the positioning database. If
Figure 11. Check if username
already exists.
the username does not already exists in
the main database a new user is created
in the main database and in the positioning database.
Check form:
• Field for username.
• Check button.
When clicked the user name shall
be checked with the database, as
described above.
Create user:
• Administrator
If this checkbox is marked the
dialog box shall ask if this user
really shall be an administrator.
This is a security measure.
• Username
• Password
• First name
• Last name
• Address
A text box that allows multiple
rows for long addresses.
• Zip code
• City
• Country
A drop down list with predefined
countries. Sweden is default.
• Mobile number
• Positioning Username
• Positioning Password
Figure 12. Create user.
Sid 11 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Datum - Date
01-09-03
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
•
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
Positioning Administrator
If this checkbox is marked the dialog box shall ask if this user really shall be
an administrator. This is a security measure.
And buttons:
• Create
When pressed all fields must be checked for valid entries according to the
allowed values in the database, see chapter “Valid Entries” in [4]. Then the
user shall be added to the database and a confirmation page will be shown
to the administrator.
• Cancel
3.1.3.5 Delete Users
This form shall include:
• Search field for first name.
• Search field for last name.
• Found users
Lists users that match the search criteria. If the search result includes more
than 100 users a “Too many” message shall appear in the list.
• Selected users
Lists all users the administrator chooses to delete.
And buttons:
• Search
When pressed the found users
are listed in “Found users” list.
• Select user ( Æ )
Adds user to the list with selected
users.
• Deselect user (Å )
Removes user from the list with
selected users.
• Delete
Deletes all selected users from
the database and a confirmation
page will be shown to the
administrator. Check that at least
one user is selected.
• Cancel
Figure 13. Delete users.
Sid 12 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Datum - Date
01-09-03
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
3.1.3.6 Update User
This form shall include:
• Search field for first name.
• Search field for last name.
• A list with all users that is
found in the search. If the
search result includes more
than 100 users a “Too many”
message shall appear in the
list. When a user is selected
its information is shown in
the following fields.
• The same fields as in chapter
3.1.3.4 “”.
And buttons:
• Search
When pressed the found
users are listed in “Found
users” list.
• Update
When pressed all fields must
be checked for valid entries
according to the allowed
values in the database, see
chapter 5 Valid Entries in [4].
Then the user shall be
updated in the database and
a confirmation page will be
shown to the administrator.
• Cancel
Figure 14. Update users.
Sid 13 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Datum - Date
01-09-03
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
3.1.3.7 Create Group
When a group is created an invitation
is sent to each user wanted in the
group. When the invitation is
accepted the user becomes a
member of the group.
This form shall include the following
fields:
• A field for the group name.
• Search field for first name.
• Search field for last name.
• Found users
Lists all users that are found
in the search. If the search
result includes more than
100 users a “Too many”
message shall appear in the
list.
• Normal members
Lists all selected normal
group members.
• Low members
Lists all selected low group
members.
And buttons:
Figure 15. Create group.
• Search
When pressed the found
users are listed in “Found users” list.
• Select user (1)
Adds user to the list with normal members.
• Deselect user (1)
Removes user from the list with normal members.
• Select user (2)
Adds user to the list with low members.
• Deselect user (2)
Removes user from the list with low members.
• Create
Checks the validity of the group name and creates a group with the selected
users included and a confirmation page will be shown to the administrator.
• Cancel
Sid 14 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Datum - Date
01-09-03
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
3.1.3.8 Delete Group
In this form the administrator shall
be able to delete all groups. The
ordinary user shall only be able to
delete groups that he created
himself.
This form shall include:
• A search field for groups.
• A list that lists all found
groups. If the search result
includes more than 100
groups a “Too many”
message shall appear in the
list.
And buttons:
• Search
Figure 16. Delete group.
When pressed the found
groups are listed in “Found
groups” list.
• Delete
Deletes the selected group and shows a confirmation page to the
administrator.
• Cancel
3.1.3.9 Add Users To Group
In this form a user shall be able add
users to a group he owns (has
created).
This form shall include:
• Search field for group search.
• List with the groups in the
search result. If the search
result includes more than 100
groups a “Too many” message
shall appear in the list.
• Search field for first name.
• Search field for last name.
• Found users
List with users in the search
result. If the search result
includes more than 100 users a
“Too many” message shall
appear in the list.
• Normal members
Lists all selected normal group
members to add.
Figure 17. Add users to group.
Sid 15 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Datum - Date
01-09-03
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
•
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
Low members
Lists all selected low group members to add.
And buttons:
• Search Groups.
When pressed the found groups are listed in the “Found groups” list.
• Search Users.
When pressed the found users are listed in “Found users” list.
• Select user Æ (1)
Adds user to the list with normal members.
• Deselect user Å (1)
Removes user from the list with normal members.
• Select user Æ (2)
Adds user to the list with low members.
• Deselect user Å (2)
Removes user from the list with low members.
• Add
Adds all selected users to the selected group and sends an invitation to each
added user. Then a confirmation page will be shown to the user.
• Cancel
3.1.3.10 Remove Users From Group
This form shall include:
• Search field for group search.
• List with the groups in the
search result. If the search
result includes more than
100 groups a “Too many”
message shall appear in the
list.
• List with all users in the
selected group.
• List with all Selected users to
remove from the group.
And buttons:
• Search
When pressed the found
groups are listed in the
“Found groups” list.
• Select user
Figure 18. Remove users from group.
Adds user to the list with
selected users.
• Deselect user
Removes user from the list with selected users.
• Remove
Removes all selected users from the selected group and a confirmation page
will be shown to the administrator.
• Cancel
Sid 16 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Datum - Date
01-09-03
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
Ver
PA4
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
3.1.3.11 Leave Group
This form shall allow the user to leave a group of
which he is a member.
The form shall include:
• Member Groups field
This field shall list all the users member
groups.
• Leave button
When pressed the user shall be removed
from the selected group.
• Cancel
3.1.4
The help page
Figure 19. Leave group.
This help page shall describe all available
functionality and other relevant information to the
user. For the administrator additional help for the administration system shall be
available. This help pages shall not be written until the end of the project.
3.2
The server
The server shall be developed in a way that makes it easy to add new functionality in
the future, such as the possibility to use shape-files4 for the generation of maps.
3.2.1
The presentation layer
The presentation layer shall generate the code (HTML 4.0) that builds the client. See
chapter 4.3 for a description of the client.
One Java class shall include standard methods for generating different parts of the
client, like:
• The position list
• The map
• The menu
3.2.2
The logic layer
The logic layer shall:
• Manage user security. User information from the database (via the
communication layer) shall set the users group belongings, security and rights.
Ex:
Is USER1 allowed to position USER2?
Is USER1 allowed to position USERGROUP3?
Is USER1 allowed to log in?
When a user logs in, a new session will be started for the user and necessary
identification variables will be stored.
•
4
Handle position requests from the client.
When the user sends a request, the session creates a position request object
that handles the request.
Vector based format for geographic information.
Sid 17 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Stefan Åkerberg
Datum - Date
01-09-03
Ver
PA4
Dokansvarig/Godkänd av – Doc responsible/Approved by
Magnus Danielsson
•
•
•
3.2.3
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Appendix B.doc
Handle positioning data received from the MPC (via the communication layer).
When a position request is sent to the MPC a position result object that takes
care of the result is created.
Decide which map image to use and calculate the position on the map.
An image object is created out of the received position and an image from the
database. The image shall be written as a gif-file on the disk until the image
has been sent to the user and then deleted.
The passwords shall be encrypted by the system before they are sent to the
database and decrypted when received from the database.
The communication layer
The communication layer shall:
• Contain necessary functions for communication with the MPC via MPP [1]. Javaclasses for this purpose exists in MPS-SDK 1.1 from Ericsson.
• Contain necessary functions for communication with the database according to
the existing API [2].
• Contain necessary functions for communication with the client via HTTPS5. The
web server handles the secure communication with the client. And the
communication classes in MPS-SDK 1.1 handles the secure communication with
the MPC.
3.3
3.3.1
The database
User data
The user database shall include user and group information according to the “User Data
Model” in [4] “Database Model”.
3.3.2
Geographical data
The map images shall be stored in a database together with its belonging coordinates
and the areas that exist in each image. See “Geographical Data Model” in [4] “Database
Model”.
3.3.3
Language data
All text the users see is stored in both English and Swedish in the database. This is
because the users shall be able to switch language. See “Language Data Model” in [4]
“Database Model”. (Not supported in this version)
4
References
1.
2.
3.
4.
5
Mobile Positioning Protocol 15510-CXC 132 325 Uen, Ericsson AB
mApplicator Database Model and API spec, Mobile Media Group AB
The Client Flow, Mobile Media Group AB
Database Model For Tracey EX-100-02, Mobile Media Group AB
Terminology
HTTPS – Hyper Text Transfer Protocol Secure
5
Hyper Text Transfer Protocol Secure.
Sid 18 (19)
Internal Information
FUNCTION SPECIFICATION
Uppgjord av – Prepared by
Datum - Date
Stefan Åkerberg
01-09-03
Ver
PA4
Dokansvarig/Godkänd av – Doc responsible/Approved by
Dokumentnr. Document no.
EX-100-01
Filnamn – File name
Magnus Danielsson
Appendix B.doc
MPC – Mobile Positioning Centre
MPS – Mobile Positioning System
HCI – Human Computer Interaction
Shape (.shp) – Vector based format for maps
6
Annexes
6.1
Rev.
PA1
PA2
PA3
PA4
Revision History
Date
2000-10-03
2000-10-28
2000-11-17
2000-12-11
Prepared
Stefan Åkerberg
Stefan Åkerberg
Stefan Åkerberg
Stefan Åkerberg
Description
First draft
Second draft
First Release
Final Release
Sid 19 (19)
Download PDF
Similar pages