Design and Implementation of Location Awareness and Sharing System Using GPS and 3G/GPRS

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

International Journal of Multimedia and Ubiquitous Engineering

Vol. 7, No. 4, October, 2012

Design and Implementation of Location Awareness and Sharing


System using GPS and 3G/GPRS

Mohammed Abdul Qadeer, Ankur Chandra and Shashank Jain


Department of Computer Engineering
Zakir Hussain College of Engineering and Technology
Aligarh Muslim University, Aligarh 202002, India
{maqadeer, ankurchandraa, shashankace1.jain}@gmail.com

Abstract
In this age of significant telecommunications competition, mobile network operators
continuously seek new and innovative ways to create differentiation and increase profits. One
of the best ways to accomplish this is through the delivery of highly personalized services.
One of the most powerful ways to personalize mobile services is based on location. Location
is a key to provide location based services (LBS) to the user because the location information
is typically useful for coverage, deployment, routing, location service, target tracking and
rescue operations. One of the most obvious technologies behind LBS is positioning, with the
most widely recognized system being the Global Positioning System (GPS). There are no
subscription fees or setup charges to use GPS. This document provides detail on the design
and implementation of a java application which provides the users current location sends this
location using SMS (Short Message Service) plus sharing location with friends and family
and views them on maps. Users can also take benefit of this application in emergency
situations by using emergency feature of this application. To get the location coordinates,
application is using GPS (Global Positioning System) as location provider. The application
design has five parts: a mobile client, a web server, a database, GPS system and a map
service. A mobile client application which consists of a mobile and GPS receiver finds the
location of the user to get aware of his location. In order to share this location the mobile
client sends this location to the web server from where other users can get this location if they
have the authentication provided by the user. The mobile client is implemented using J2ME
which is one of the most promising software platforms for mobile devices. Sun representatives
assert that 18 to 20 million mobile phones support the J2ME platform. Analysts predict that
within the next few years, this technology will become omnipresent. The web server side
programming is done using PHP and database is maintained by MYSQL.

Keywords: GPS, LBS, J2ME, 3G, Midmaps, Google maps, PHP, mysql, GSM, CDMA

1. Introduction
Location Based Service (LBS) has been considered as the most potential part of
wireless value-added services. However, the development of LBS, which needs lots of
data to transmit, is strictly limited because of the limited bandwidth of wireless network.
With the emergence of 3G, wireless network speed is greatly improved, which will
provide more information to users easily, and hence LBS will be greatly promoted.
Today mobile communication devices are becoming much more technologically
advanced and offer more features than just conversation. In cell phone s, global

125
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

positioning system (GPS) tracking and sharing are some of the advancements. GPS
systems can be used when outdoors for activities such as hiking or camping.
According to a new report from the research firm Berg Insight; “revenues from mobile
location based services (LBS) in the European market will grow by 34 percent annually to
reach €622 million in 2010” [1]. This figure demonstrates how important location based
services (LBS) applications are becoming to mobile users. Within the last few years, mobile
phones spread like wild fire. With more than 2 billion phones around the globe and more
mobile than fixed line subscribers, mobile phone industry is the most growing industry in the
world. The development progressed from unhandy simple phones to small all-rounder with
high resolution color display, organizer, and integrated camera and Global Position Service
(GPS) receiver [2].
The main reason for rapid progress in mobile business is that the features and services that
a mobile phone can provide now a days. The previous generation phones only had the
capability of speech communication between several users and text messaging with few
numbers of inbuilt hardware. But now a mobile has the capability of image capturing, video
recording, Bluetooth, file sharing, touch screen display, low power consumption, GPS
receivers to get location coordinates and many other advanced features and in-built hardware.
These eye catching features attract more users. Here we are concerning only about the
internal GPS receivers [3] in mobile phones. The GPS receiver is able to calculate the
location using GPS satellite system [4]. For further information and access authentication
about GPS refer to [5]. Location Based Services attracts more and more users to take
advantages of these services. A location-based service basically answers three questions:
Where am I? What's around me? And how do I get there? They determine the location of the
user by using one of several technologies for determining position (such as GPS), and then
use the location and other information to provide personalized applications and services. For
an example, consider a wireless 911 emergency service that determines the caller's location
automatically. Such a service would be extremely useful, especially to users who are far from
home and don't know local landmarks. Traffic advisories, navigation help including maps and
directions, and roadside assistance are natural location-based services. Other services can
combine present location with information about personal preferences to help users find food,
lodging, and entertainment to fit their tastes and pocket books.
This application can help users to be aware of their own location and send it to any valid
mobile number using short message service. Users can also share their location with friends
and family. Further, users can take advantages of emergency features which send user’s
current location to emergency numbers. Because of the rapid growing of JAVA enabled
handhelds in the market, we liked to implement this application using J2ME, PHP and
MYSQL. For mobile client we are using J2ME and for server side we are using PHP and
MYSQL. Our main aim is to show the implementation of such a system so the rest of the
paper is structured as follows. Section 2 gives an overview related work and Section 3 is
about Related Technologies. Section 4 shows the mathematics of location estimation. Section
5 deals with the system architecture. Section 6 gives a brief overview of its implementation.
Section 7 gives the result and finally in section 8, we have concluded the whole project work.

2. Related Work
This section deals with some of the existing works related to the proposed mobile
solution, mainly, using tracking systems through GPS or GSM cell. In paper [21], we
discussed the detailed design specifications of this system and in paper [20], we dealt
with the detailed implementation of this system.

126
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

In paper [22], the author proposes an application Locating Friends and Family Using
Mobile Phones with Global Positioning System (GPS) based on client-server architecture that
helps the users to locate their family members and receive alerts when their friends are nearby.
The mobile application was implemented using J2ME where the most recent APIs and other
older APIs were combined together in order to make the application reliable on all types of
mobiles. The server was implemented using PHP since PHP guarantees that the server would
not be overloaded. The type of the Database used in the system was MySQL.
In paper [17], a technique is given to send GPS coordinates of a mobile through a SMS to
other mobile phones. Two algorithms, Kalman Filter and Velocity Renovation, which can be
used in conjunction with GPS, are used as a basis for location tracking. The first coordinates
are generated from a GPS assisted mobile on Google map, this location is then sent through
SMS to another person. The latter can then see the exact location of the sender on his map
with an accuracy of 0.57m.
In paper [18], two techniques were described to locate and track cellular phones using
digital cellular mobile telephony networks. The first technique is based on time of arrival
(TOA) methods with a minimum of three base stations required, while the later uses angle of
arrival (AOA) methods that require only two base-stations, though greater accuracy is
possible with three. Both TOA and AOA methods were examined for a multipath fading
environment.
There are already several applications in the market that offer tracking systems and anti
theft applications. Anti- theft applications like mGuard. Tracking applications such as, Mobile
Tracking System 1.14 [23], AccuTracking [24], and PhoneBak (also an anti-theft application)
[25], are already rooted in the mobile phone market.
As it may be seen in the above-mentioned systems, most of them provide dedicate
solutions using tracking methods to monitor a mobile device. Our proposal is designed for a
regular mobile phone that incorporates a GPS. Unlike the systems mentioned above, the main
feature of our application provides the user the ability to locate him, send his own location via
SMS and share his location with friends through a web server.

3. Related Technologies
We have gathered suggestions of approaches in order to build the system described in
the given sections. The proposed solution can furnish better functionalities and is very
easy to deploy in a regular mobile phone with GPS receptor. For the user safety, the
GPS Locator application can be useful in emergency scenarios, for instance kid -
napping, hijacking, and thereby giving the user the option to send his location calls via
SMS.

3.1. GPS
The Global Positioning System (GPS) [6] is a satellite-based navigation system made
up of a network of 24 satellites placed into orbit by the U.S. Department of Defense.
GPS was originally intended for military applications, but in the 1980s, the government
made the system available for civilian use. GPS works in any weather conditions,
anywhere in the world, 24 hours a day. There are no subscription fees or setup charges
to use GPS. The GPS system has three parts.

3.1.1 Satellites: GPS satellites circle the earth twice a day in a very precise orbit and
transmit signal information to earth.

127
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

3.1.2 Receivers: GPS receivers take this information and use triangulation (method) to
calculate the user's exact location.

3.1.3 Software: Application softwares are used to command the devices such as Handhelds
and Computers and take benefits of the above two services.

3.2. The GPS Satellite System


The 24 satellites that make up the GPS space segment are orbiting the earth about
12,000 miles above us. They are constantly moving, making two complete orbits in less
than 24 hours. These satellites are travelling at speeds of roughly 7,000 miles an hour.
GPS satellites are powered by solar energy. They have backup batteries on- board to
keep them running in the event of a solar eclipse, when there's no solar power. Small
rocket boosters on each satellite keep them flying in the correct path. Here are some
other interesting facts about the GPS satellites (also called NAVSTAR, the official U.S.
Department of Defense name for GPS):
 The first GPS satellite was launched in 1978.
 A full constellation of 24 satellites was achieved in 1994.
 Each satellite is built to last about 10 years. Replacements are consta ntly being
built and launched into orbit.
 A GPS satellite weighs approximately 2,000 pounds and is about 17 feet across
with the solar panels extended.
 Transmitter power is only 50 watts or less.

3.3. Applications
While originally a military project, GPS is considered a dual-use technology,
meaning it has significant military and civilian applications. GPS has become a widely
used and useful tool for commerce, scientific uses, tracking and surveillance. GPS's
accurate timing facilitates everyday activities such as banking, mobile phone operations,
and even the control of power grids. Farmers, surveyors, geologists and countless others
perform their work more efficiently, safely, economically, and accurately.
The mobile application targets JAVA platform. We have decided to develop the
application using JAVA 2.0 Micro Edition. It includes large programming libraries, solutions
for common problems. We develop this application under CLDC 1.1 [6] device configuration
and MIDP 2.0 [7] device profile. The software chosen for the development of this application
is Java(TM) ME Platform SDK 3.0. The SDK is free of cost so anyone can develop your own
applications and market it.
For database hosting on server site we are using Mysql database and PHP language. We
use PHP because it runs on server side and so again reducing the overhead from the mobile
device. For local hosting we used WAMPSERVER software which includes MYSQL, PHP
and apache HTTP server in one package. It also includes PHPMYADMIN. With the help of
these we run our project locally.
To show the coordinate on map, we are using a third party Google maps API. It has several
functions for handling online Google maps.

128
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

4. Location Coordinate Estimation


In a considerably simplified approach, each satellite is sending out signals with the
following content: I am satellite X, my position is Y and this information was sent at
time Z. In addition to its own position, each satellite sends data about the position of
other satellites. These orbit data (ephemeris und almanac data) are stored by the GPS
receiver for later calculations.
For the determination of its position on earth, the GPS receiver compares the time when
the signal was sent by the satellite with the time the signal was received. From this time
difference the distance between receiver and satellite can be calculated.
If data from other satellites are taken into account, the present position can be calculated by
trilateration (meaning the determination of a distance from three points). This means that at
least three satellites are required to determine the position of the GPS receiver on the earth
surface. The calculation of a position from 3 satellite signals is called 2D-position fix (two-
dimensional position determination). It is only two dimensional because the receiver has to
assume that it is located on the earth surface (on a plane two-dimensional surface). By means
of four or more satellites, an absolute position in a three dimensional space can be determined.
A 3D-position fix also gives the height above the earth surface as a result.
Simplified, the position determination by means of a GPS works on the sample principle as
the distance of thunderstorms can be judged: the time is measured between lightning and the
following thunder. The speed of light is so high that the delay between the time where the
flash hits the ground and the time the observer sees the flash can be neglected. The speed of
sound in the earth’s atmosphere is approximately 340 m/s. This means that for example a
difference of 3 seconds between lightning and thunder corresponds to approximately 1 km
distance to the thunderstorm.

Figure 1. Location Calculation in 2D World

However, this procedure is not yet a determination of a position, but only a determination
of a distance. If different people on fixed positions would determine the time span between
lightning and thunder, this would allow the determination of the position where the flash hit
the ground.

129
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

In the following an explanation is given, how the position determination by GPS works.
For simplification, in the first step we assume that the earth is a two-dimensional disk. This
allows us to do some understandable sketches for illustration. The principle can then be
transferred to the model of a three-dimensional globe.

Figure 2. 2D Position Determination with 3 Satellites and Corrected Clock Error

In the example on the left, the time needed by a signal to travel from the first of two
satellites to the receiver was determined to be 4 s. (In reality this value is far too high. As the
signals travel with the speed of light (299 792 458, 0 m/s), the actual time span for signals
from the satellite to the receiver lies in the range of 0.07 s.)
Based on this information, we can at state that the receiver is positioned somewhere on a
circle with a radius of 4 s around the first satellite (left circle).
If we perform the same procedure with a second satellite (right circle), we get two points of
intersection. On one of the two points the receiver must be situated. Now we have used two
satellites But the process is called trilateration, not dilateration so don't we need a third
satellite? We may use a third satellite but we could also assume that the receiver is located
somewhere close to the earth's surface and not deep in space, so we can neglect point B and
know that the receiver must be found on point A. The area in the picture above which shaded
grey is the region in which GPS signals are supposed to be “realistic”. Positions outside this
area are discarded, so is point B.
If a third satellite is taken into account for the calculation of the position, another
intersection point is obtained: in case that all clocks are absolutely precise, point A would be
obtained, corresponding to the actual position of the receiver.
In case of the receiver clock being 0.5 s early, the three intersection points B are obtained. In
this case the clock error stands out immediately. If now the time of the receiver clock is
shifted until the three intersection points B merge to A, the clock error is corrected and the
receiver clock is synchronized with the atomic clocks in the satellites.
The GPS receiver can now be regarded as an atomic clock itself. The distances to the
satellites, formerly regarded as pseudo ranges, now correspond to the actual distances and the
determined position is accurate.
In practice you get a two-dimensional position determination (2D-fix) with three satellites.
The position is bound to be located on the earth's surface. The fourth satellite is the
geocentric; the distance to the “fourth satellite” corresponds to 6360 km (the radius of the
globe). Therewith the fourth satellite necessary for the calculation is given, but the calculation
is restricted to locations on the earth surface. However the earth is not a perfect sphere. The
surface of the earth in this case means the earth geoid, corresponding to sea level. If the

130
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

receiver is located on a mountain, the determined position again is afflicted with an


inaccuracy, as the runtime of the satellite signals is wrong.

5. System Architecture
The current location of the user is calculated using inbuilt GPS receiver in the phone.
The calculated coordinates of the user is showed on the map using a third party Google
maps API called MIDMAPS. Further these coordinates can be sent to any valid mobile
number through a SMS. The text message cannot be edited by the user because of
security reasons.
The application architecture and its working principle are centered on the use of GPS. It is
the most common technology for these kinds of applications. Other possible approaches may
include a combination of other LBs like GSM cell ID, wireless hot spots or via Bluetooth.
Crossing data from all the LBs should provide much more accurate position of the device.
Further, unlike the GPS, the GSM cell ID, wireless hot spots and tracking via Bluetooth are
able to get the device’s position even at indoors. The centralized database server provides a
coordinate’s database to the users so they can get the location of friends and relatives and
updates their own location on the server. The purpose of choosing centralized data sharing is
to reduce the storage overhead on each phone. Otherwise, instead of using centralized
database each mobile may have its own database stored on the phone and share these
databases between different users.
The internet is the medium that is used to transfer the user data and service request from
the mobile to the server and then the requested information back to the user. Figure 3 shows
the main 5 elements that construct the system which are the GPS system, the mobile clients,
web server and the database.

5.1. Mobile clients (Mobile)


The mobile requests its location from the global positioning system periodically and
sends it through the communication network to the server. The user can request the
location of a family member at any time from the server. Mobile client can also send its
current location via SMS to any mobile number. Mobile client also has an internal
database to store application settings. The mobile client application is named as GPS
Locator.

5.2. Server
The server receives users’ location and updates the user about the location of family
members.

5.3. Database
The database contains all users subscribed in the service with their location. The
database also stores the user’s mobile number along with the other user’s mobile
number with whom user is sharing his location. Database tuple mainly has six attributes
namely who, whom, latitude, longitude, altitude and time which stores user’s mobile
number, mobile number of other user with whom user is sharing his location, latitude
coordinate of user location, longitude coordinate of user’s location, altitude coordinate
of user’s location and time at which user updates his location. Whe never, user updates
his location the time is also updated.

131
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

5.4. GPS
Every time the mobile phone updates the user location in the server, it requests the
location of the user from the GPS receiver. The GPS receiver determines the longitude
and the latitude with the help of satellite system.

Figure 3. System Architecture

5.5. Map Service


Map service provides the Google maps and several map handling functions as
required by the user. However the map service is an indirect part of this system, and it
will be supplied by an external source. Then latterly sends to the mobile phone.
Data from the application settings and emergency contacts are saved in a database file.
When the application is started; the data is loaded from the data file and will apply it to
behave according to those parameters.
The major requirement of a GPS Locator shown in Figure 4 is the use of Location Based
Services (LBs) such as GPS. The GPS Locator allows several operations such as user can get
your own current location (latitude, longitude and altitude) and can view these co-ordinates
on the Google maps using MidMaps api [15] for J2ME platform. Further user can send this
information via SMS through a GSM/CDMA network to any valid mobile phone number
anywhere in the world. GPS Locator also provides the location sharing capability between
two or more people through a web server. If a user wants to share his location with one of his
friend he just need to enter the mobile phone number of his friend by selecting the share me
option from list and press ok button. In order to view friends, user needs to select the get
friends’ location option from list menu of GPS Locator. Suppose a user A and User B are
sharing their location. So, A and B can view each other’s location with the time at which the
user updated his location and can see this location on map. The GPS Locator continuously
updates the web server’s database with the user’s current location by using the ENABLE
SHARING command. After this, the GPS Locator calculates the user’s current location and
sending it to the server and updates the location attributes of corresponding user in the
database table. In order to reduce the battery overhead due to the GPS receiver, the
developers of this application allow the application to update the database after a particular

132
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

time interval instead of calculating GPS data continuously. User can also cancel the sharing
bond with any of his friend with whom user was sharing his location.

Figure 4. System Requirements

If the user doesn’t want to update his location or to reduce the battery consumption he can
disable the location sharing mode. If the user is in some emergency condition he can send his
location to the emergency numbers which are already in the GPS Locator’s database. So the
emergencies can aware the user’s most appropriate location to provide him the emergency
services such as medical, police etc.

6. Implementation
The implementation of this application is not fully implemented that incorp orates all
the functionality mentioned in the previous topics. A full implementation of it was
strictly not possible within the time limit for this project. Instead, the implementation
will merely be a proof of concept where the goal is to show that it is possible to
implement the full system.
The mobile application was implemented using J2ME while PHP was used for
implementing server functions and MYSQL was used for the database. The implementation
is easily understood by dividing this task into several steps. First we will see the
implementation of mobile clients, then the web server and database further we will see how
we are integrating external map service with our application.

6.1. Mobile Client Side Implementation


A mobile client is a JAVA supported handheld with the GPS receiver providing
several features to the user. The mobile client programming language and IDE is java
and JAVA ME PLATFORM SDK 3.0. Java ME platform is a collection of technologies
and specifications that can be combined to construct a complete Java runtime
environment specifically to fit the requirements Java ME platform has been divided into

133
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

two base configurations, one to fit small mobile devices and one to be targeted towards
more capable mobile devices like smart-phones and set top boxes. The configuration
targeting resource-constraint devices like mobile phones is called the Connected
Limited Device Configuration (CLDC) [6]. It is specifically designed to meet the needs
for a Java platform to run on devices with limited memory, processing power and
graphical capabilities. For a CLDC and MIDP [7] environment, which is typically what
most mobile devices today are implemented with, a MIDlet is then created. A MIDlet is
the application created by a Java ME software developer, such as a game, a business
application or other mobile features. These MIDlets can be written once and run on
every available device conforming to the specifications for Java ME technology. See
Figure 5. Several functional implementation of mobile client is as follows. The mobile
client application’s class diagram is represented using the corresponding UML class
diagram shown in Figure 6. This diagram is made using Fujaba Tool Suite RE 4.2.0[26].

Figure 5. JAVA ME Technology Specifications

Figure 6. JAVA Class UML Diagram by Fujaba Tool Suite

134
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

6.1.1. Graphical User Interface (GUI): Graphical user interface requirements of


software for mobile phones are different from those for desktop computers. For
example, the display size of mobile phones is small and input devices do not always
include pointing tools such as a mouse or pen input. Therefore, the user interface
programming guidelines for applications running on mobile phones are not the same as
for the desktop computers.
MIDP applications are expected to run on many different mobile phones without
modification. This is particularly difficult in the area of user interface; Mobile Information.
Devices (MIDs) have got screens of all sizes, in grayscale and in color. Furthermore, for input,
the MIDP is fairly open-ended. The input devices on MIDs vary widely in their abilities, from
numeric keypads to alphabetic keyboards and soft keys to touch screens. The minimum
screen size mandated by the MIDP is 96 x 54 pixels, with at least one bit of color depth.
Below there are some important guidelines that we kept in mind while designing the
application with MIDP graphical API functionality:
 User interface is kept simple and easy to use. Because novice users who probably have
not used a J2ME enabled phone before may use the application.
 High-level APIs are used as much as possible, so that the application became portable
across different mobile phones.
 No keys other than those defined in the Canvas class are assumed to exist.
 The application does not assume any specific screen size; instead, it queries the size of
the display initially and adjusts itself accordingly.
 Choices are presented to users as lists because entering alphanumeric data through a
mobile phone can be tedious.

6.1.2. Get Location: The location includes the latitude, longitude and altitude
coordinates. These coordinates can be calculated using the JSR-179[8] location API
available in J2ME. JSR-179 specifications define a Java 2 Micro Edition (J2ME)
optional package to enable location-aware applications for Mobile Information Device
Profile (MIDP) based devices. Specifically, this package provides the following two
main functionalities: i) obtaining information about location and ii) orientation of the
mobile device; and iii) accessing on-device landmark database.
The LocationProvider class represents a module that is able to determine the location of the
terminal. Actually, each device can have several location providers installed, each related to a
different positioning technique (e.g., GPS and RSS-based triangulation). The API allows to
specify selection criteria to choose the most suitable LocationProvider. Upon the selection of
a specific LocationProvider, the application can retrieve Location objects by means of either
periodic updates or asynchronous queries. The GPSLocationProvider is responsible not only
for data retrieval but also for parsing the read sentences and for translating them into a set of
coordinates. As for location data retrieval, the GPSLocationProvider is in charge of
connecting to the GPS sensor in order to get the current location data (location coordinates,
altitude, date and time). Upon sentence parsing, the GPS LocationProvider can use the
gathered location data to create Location objects and distribute them to JSR-179 Java
applications.

6.1.3. Short Message Service (SMS): The Wireless Messaging API (WMA 2.0) JSR
205[9][10] provides a common interface you can use to enable an application based on
the Mobile Information Device Profile (MIDP) to send and receive short text and binary
messages, as well as multimedia messages. By using this API, the user’s current
location coordinates i.e. latitude, longitude and altitude is sent as text via SMS.

135
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

6.1.4. Location Sharing: To share location with the other users, the mobile client needs
to communicate with the web server using General Packet Radio Service
(GPRS)[11][12] over TCP/IP protocol[13][14]. To allow the application to be portable
across all mobile phones, HTTP connection is used to connect the client to the server.
HTTP is a request response application protocol where the GET or PUT commands a re
used to supply data. In this system, GET method is used where the data of the request
becomes a part of (encoded in) the URL. Since the client’s requests do not contain large
amount of data, there is no risk of overrunning the capability of environment variables.

6.2. Web Server Side Implementation


The application needs centralized database for the purpose of location sharing.
MYSQL was used for the database and PHP was used for implementing server
functions to modify these data as user demands. First we fulfill this need by using local
server on Personal computer (PC) .For this purpose we used software named
WAMPSERVER which include PHP, MYSQL and apache web server in one package.
In this application, once a client sends its request over the network to the server, it is then
up to the server to interpret the request and generate an appropriate response. The
application’s receiving end on the server is a PHP page which is a regular HTML page with
two elements added: First, the file’s name ends with the “.php” extension, so that the web
server knows that it should be interpreted specifically.

Figure 7. Web Server Architecture Including Database

Second, the file includes some server-side code instructions, such as getting the
current date that the server should perform before sending the page to the client side. In
the application’s main menu shown to the user, lists of available layer names are
displayed for the user to select. Once the user makes his selection, the client connects to
the server and transmits the user’s request parameters using GET/ PUT method, which
fires the PHP code execution on the server. The PHP code is used to reach the database
and form a dynamic HTML page with the data pulled out from the database. In the
application, PHP code mostly contains SQL statements to make the queries in the
database. The resulting data is then sent back to the client. Figure 7 shows the web
server architecture including database. As figure shows that the server tier

136
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

communicates with the database tier using PHP script engine. The communication with
web server takes place over the TCP/IP protocol.

6.3. Map Services


This part mainly provides such functions as parallel moving, zoom, geocoding and
relocate center; Location service: exchanging data between client and server, displaying
map information that centered by mobile terminal in real time. The MidMaps[15] is the
map service which provides Google maps for our application.

Figure 8. Google Map

The Google maps server contains a vast earth image database. This method is only used for
research purposes. It is not a licensed method to access the Google maps database. Google
maps is latitude and longitude related [16]. Google Maps holds the world in a number of
256x256 pixel tiles. Zoom level ranges from 17 to 0. Each Google tile has corresponding
latitude, longitude and zoom values. Google uses an x, y coordinate system combined with a
zoom value to specify the tiles to retrieve from the server. Figure 6 is an image of the entire
earth.

7. Evaluation and Validation

7.1. User Experience and Application Interface


This subsection introduces a general idea of mobile application (GPS Locator) as
well as, its use in practical deployment. To ease the user interaction with the GPS
Locator, the interface is made as simple as possible. The main window of the
application is very intuitive.
The interface displays a list of functions that a GPS Locator can perform such as where am
I, Get Friends location and Emergency etc. the left soft key allows the user to terminate the
application and right soft key set the enable sharing mode.

7.2. Application Validation


The purpose of validation is to show that the implemented syste m satisfies the initial
requirements. GPS Locator (and MIDMAPS) validation was performed, using

137
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

exhaustive running tests that were also performed in design time to collect debug
information and change as necessary. We used a real device with all tests, NOK IA 5235
equipped with SIMcard and GPS receptor.

8. System Result
This mobile application system adopts Nokia 5235 as the test mobile which has
inbuilt GPS receiver. Figure 5 shows the user’s current location and the map
positioning this location at the center of mobile screen. Users can browse the map and
can also zoom /reduce the map. When zoomed, the map automatically switches to the
next level maps. Fig 6 illustrates the location sharing. User needs to enter the correct
password to access his friends’ location. It is marked by the red pointer.

Figure 9. User’s Location, Location View on Map and Location Sending via
SMS

Figure 10. Location Sharing Cancel Sharing and Get Friends’ Location

138
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

9. Conclusion
A Location Based Service (LBS) application for Java enabled mobile phones, using
Global Positioning System (GPS) as the location provider is presented in this paper.
The application provides the user with his current location coordinates and displays it
on Google Maps on the mobile phone. The application is also implemented as a client
server system that helps users to locate their friends or anyone with whom he wants to
share his location. The location average accuracy using this system is believed to be
within a couple of meters. The application works in the open space areas only as it
relies on GPS. Future extensions may look at other options such as getting the location
from the service provider. In this case the location accuracy will be reduced and will
depend on the size of the cells where the user is located. Other future extensions can be
summarized as follows:
 Better user interface design;
 External Bluetooth GPS receiver interface;
 Accelerometer, proximity, compass;
 Improved accuracy with newer algorithms;
 Emergency services using centralized databases.

References
[1] G.Lawton, "Moving Java into Mobile Phones", Computer, vol. 35, no. 6, (2002) June, pp. 17-20.
[2] J. McNamara, “GPS for Dummies”, For Dummies, 1st edition, (1998).
[3] What is GPS, http://www8.garmin.com, (2012) July.
[4] http://hyperphysics.phy-astr.gsu.edu/hbase/gps.html, (2012) July.
[5] http://www.gps.gov/, (2012) July.
[6] Connected Limited Device Configuration (CLDC), http://java.sun.com/products/cldc, (2012) July.
[7] Mobile Information Device Profile (MIDP), http://java.sun.com/products/midp/whatsnew.html, (2012) July.
[8] Java Community Process: Location API for J2ME Specification 1.0 Final Release, (2003).
[9] http://developers.sun.com/mobility/midp/articles/wma2/, (2012) July.
[10] http://www.ibm.com/developerworks/wireless/library/wi-extendj2me/, (2012) July.
[11] http://www.rysavy.com/Articles/GPRS/GPRS.htm, (2012) July.
[12] http://easyinfo.in/info/gprs.html, (2012) July.
[13] http://www.yale.edu/pclt/COMM/TCPIPHTM, (2012) July.
[14] http://www.protocols.com/pbook/tcpip1.htm, (2012) July.
[15] MidMaps- Google MapsApi for J2ME, http://www.jappit.com/blog/midmaps-google-maps java-me library/,
(2012) July.
[16] Google Maps, http://google.com/maps, (2012) July.
[17] M. Zahaby, P. Gaonjur and S. Farajian, “Location Tracking In GPS using Kalman Filter Through Sms”, in
EUROCON 2009, IEEE, (2009) May 18-23.
[18] I. Jami, M. Ali and R. F. Ormondroyd, "Comparison of methods of locating and tracking cellular mobiles", in
Novel Methods of Location and Tracking of Cellular Mobiles and Their System Applications (Ref.
No.1999/046), IEE Colloquium on 17 May.
[19] Instituto Nacional de Estatstica, http://www.ine.pt/, (2012) July.
[20] A. Chandra, S. Jain and M. A. Qadeer, "Implementation of Location Awareness and Sharing System Based on
GPS and GPRS Using J2ME, PHP and MYSQL", in ICCRD-2011, IEEE, (2011) March 11-13.
[21] A. Chandra, S. Jain and M. A. Qadeer, "GPS Locator: An Application for Location Tracking and Sharing
using GPS for JAVA Enabled Handhelds", in CICN 2011, IEEE, (2011) October 7-9.
[22] G. B. Al-Suwaidi and M. J. Zemerly, “Locating Friends and Family Using Mobile Phones With Global
Positioning System (GPS)”, in Computer Systems and Applications, 2009, AICCSA 2009, IEEE/ACS
International Conference, (2009) May 10-13.

139
International Journal of Multimedia and Ubiquitous Engineering
Vol. 7, No. 4, October, 2012

[23] Mobile Tracking System 1.14, http://wareseeker.com/Network-Internet/mobile-tracking-system-


1.14.zip/20284d547, (2012) July.
[24] AccuTracking, http://www.accutracking.com/, (2012) July.
[25] Back2u Mobile Security, http://www.bak2u.com/phonebak.php, (2012) July.
[26] Fujaba Tool Suite 4.2.0, http://www2.cs.unipaderborn.de/cs/agschaefer/Lehre/PG/FUJABA/projects/
reengineering/index.html, (2012) July.

Authors

Mohammed Abdul Qadeer


Mohammed A Qadeer (MIEEE, LMIETE, LMCSI) is an Asst.
Professor with the Department of Computer Engineering, Aligarh
Muslim University, India. Earlier, he was working with Cisco Systems
Inc. as a Network Consulting Engineer with the Advanced Services
division in the APAC region. He received his B.Sc. Engineering
(Computer Engineering) from Aligarh Muslim University in 1996. He
has an experience of 15~ years in the area of computer networks and
systems. He served as a Technical Co-Chair for IEEE WOCN 2012, 2011,
2010, Technical Co-Chair IEEE AH-ICI 2012, 2011, International
Steering Committee for ICACT 2013, 2012, 2011, 2010 and as TPC
member for CCNC 2012, 2011, 2010, 2009, INMIC 2009, AH-ICI 2009,
WIA 2009 and MMA 2009. He has been session chair and TPC reviewer
for many IEEE/ ACM conferences and is a reviewer for IET
Communications Journal as well. He is on the editorial board of
International Journal of Digital Multimedia Broadcasting. Established
global and nationwide setups of Internet Service Providers (ISP), Internet
Exchange Points (IXP), Internet Data Centre (IDC) and Content Delivery
Networks (CDN) both from a Networks and Systems perspective. His
areas of research are compute networks, wireless networks, mobile
computing, next generation networks, IMS, LTE, WiMAX, 4G, WiBro
etc.

Ankur Chandra
Ankur Chandra is currently a Software Developer. He obtained his
Bachelor of Engineering (Computer Science) degree from Aligarh
Muslim University in 2012, Aligarh. He has several research publications
and has attended various national and international conferences. The
main area of interest included Embedded Systems, Networking and
Artificial Intelligence.

Shashank Jain
Shashank Jain is currently a Software Engineer. He obtained his
Bachelor’s Degree in Computer Engineering from Aligarh Muslim
University, Aligarh in 2012.He has several research publications and has
attended various international and national conferences. His main areas
of interests include Software Engineering, Embedded Systems and
Networking.

140

You might also like