Motivation by zhangyun

VIEWS: 124 PAGES: 33

									                           ITUTS Table of Contents
Chapter One: Introduction
   1.1. Motivation
   1.2. Problem Definition
   1.3. Related work
       1.3.1. Tracking the Position of Mobile Clients by Mobile Phones
       1.3.2. Location Based Audio Streaming (LBAS)
       1.3.3. Position Dependent Communicating System (PDCS)
       1.3.4. Location-Based Free-Hands Personal Communication System
       1.3.5. Location Based Interactive Speech System (LBISS)
   1.4. Report Guide

Chapter Two: Basic Technologies
   2.1. Positioning technologies
      2.1.1. Global Positioning System (GPS)
           GPS components.
           Basic positioning in GPS.
      2.1.2. Global System for Mobile Communication (GSM)
           GSM components.
           Basic positioning in GSM.
      2.1.3. Wireless Networks
           Peer to peer WLAN.
           Infrastructure WLAN.
           IEEE 802 LANs.
           Indoors positioning using WLAN.
      2.1.4. Ekahau Positioning Engine (EPE)
          EPE structure.

Chapter Three: System Design
   3.1. Introduction
   3.2. ITUTS Client-Server Communications
   3.3. Data Source Design
            User information tables.
            ITU information tables.
   3.4. ITUTS Server design
           Connection to the database
           Authentication
           Communication with EPE.
   3.5. ITUTS services
          Show and track users.
          Room information.
          Event based services
          Map tracking.
   3.6. Graphical user interface

Chapter Four: System Implementation
   3.1. Introduction
   3.2. ITUTS Server design
           Connection to the database.
           Authentication.
           Communication with EPE.
   3.3. ITUTS services
          Show and track users.
          Room information.
          Event based services.
          Map tracking.
   3.4. Graphical user interface

Chapter Five: System Test
   3.1. ITUTS scenario.
   3.2. White box test.
   3.3. Black box test
   3.4. System test

Chapter Six: Conclusion and Future Work
   3.1. Conclusion on ITUTS
   3.2. Future work

Chapter One


1. Introduction
Location information is becoming increasingly important in many computing
applications. Context-aware computing represents a new method for creating new
mobile applications. Mobile computing can be exploited by applications that take
advantage of the contextual information, which can be information about the user, the
location or the time. Installing the Wireless Local Area Network (WLAN) at the IT
University (ITU) and the facility of positioning which the Ekahau Positioning Engine
provides, have created possibilities of building location-based applications at ITU.
Those applications offer a degree of mobility and accuracy.

According to our interests in wireless systems and indoor positioning, and the fact that
we have worked with the installed WLAN and Ekahau positioning engine at the ITU
in previous projects, makes it very attractive for us to design the ITU Tracking
System application, which is the topic of this report.

1.1 Motivation
The existence of Wireless Local Area Network (WLAN) at the ITU and also the
facility of positioning that are provided by the Ekahau Positioning Engine provide the
opportunity to build various location based applications at the ITU.

Students at the ITU have already implemented a number of location-based
applications such as message services, finding the shortest path and many others.
According to these projects requirement specification, they have shown good results
and have proven the usability and importance of human computer interaction for the
human. Furthermore, they have built the foundation for doing further research in the
positioning area.

During our study period at the ITU, we have taken courses in the areas of Internet
Technology, Multimedia Systems and Programming in different languages. These
studies have given us the concept and foundation to develop our application.
Moreover, the fact that WLAN and Positioning Server are available at the ITU has
further encouraged us to develop an application that takes advantage of these

In consultation with our supervisors we have decided to develop an application called
“ITU Tracking System (ITUTS)”. The ITUTS will be designed to provide the users
with tracking and informing facilities.

1.2 Problem Definition
The positioning technologies are the foundation of ITU Tracking system (ITUTS).
Using them is the fundamental concept of building a system that examines the ability
of tracking users at the ITU.

ITUTS is a client server application. The server side, which will provide the clients
with all services, can be run on any computer connected to the WLAN, while the
client side will be running on a mobile device (laptop with WLAN card). The whole
system will be tested at ITU where the WLAN and Ekahau positioning Engine are

ITUTS can be used in many environments such as hospitals, supermarkets,
exhibitions, restaurants, museums, schools, etc.

ITUTS can be considered as a useful application that can provide the users with many
services in order to make it easier for them to interact with the surrounding
environment. Those services are:

1. Show and track users:
The user’s interface of ITUTS will display a list including the names of all ITUTS
users and each user’s user name (as a link). The user can track any of the other users
by clicking on the link connected to his user name. The information that will be
displayed are:
           1. The full name of the user.
           2. The user name of that user.
           3. The location of the user as:
                       1. Floor number.
                       2. Room number.
                       3. Room name.
                       4. X, Y coordinates in meters.

2. Room information
The user of ITUTS can get information about any room at the ITU. This service can
be provided depending on the room name or the room number. The user enters a room
name or number into the frame and then requests the information about that specific
room. The system then will display the following information:
             1. The room name.
             2. The room number.
             3. The floor.
             4. The names of all clients inside that room.
Knowing who is inside the room will enable the user to know the activities inside that
room (meeting, class, free).

3. Event-based service:
The users of ITUTS will be provided with specific information according to some pre
conditions they set. These conditions can be
  - If the specific user log to or log out the ITUTS.
  - If the user enters or leaves a specific room.
After the user sets a condition, the ITUTS will keep on checking that condition until it
is true, and then notify the user about that.

4. Tracking user on a map
The user can track other users on a map. The system will provide a fully graphical
user interface (GUI) tracking service, which covers the whole building of ITU. The
user’s position will be displayed as on a map. Each floor of the IT University is
represented by one map.

The user’s position will be shown as a red dot on the map, the dot position will
change according to the users position, when the user moves from one floor to
another. The whole map will be updated into a new, representing the new floor

1.3 Related work
Most of the location-based projects at ITU (e.g. sending a text message to a certain
user, streaming audio, and finding the shortest path, etc) are done in cooperation with
the Crossroad Copenhagen1,

The projects that were developed by the researchers at the educational environment
(specially the students) have limited functions from the developer and commercial
enterprise point of view. That is because the students were required to work with a
sample to prove whether the proposed idea could be implemented or not

The ideas of these projects have been chosen carefully; furthermore, they have been
discussed with the supervisors. This is due to the need for developing and testing new
approaches that can provide the mobile users with specific services in the indoor

In this section we will direct our focus on some of the related work in the positioning
area. The produced systems were master thesis or 16 weeks projects. They were
designed and implemented under a closed educational indoor environment at the ITU.

Most of these projects have used two major entities namely: positioning server and
speech. The positioning server can be any position engine such as Ekahau Engine
(default positioning server at ITU), which requires a high accuracy in order to serve
users within a mobile’s position. The speech techniques such as automatic speech
recognition and automatic speech identification for mobile systems requires a low
noise environment to produce good results with high degree of recognition. Finally,
we will give a brief overview of the following implemented projects:

    More information can be found at URL-address:

      1. Tracking the Position of Mobile Clients by Mobile Phones

Tracking the Position of Mobile Clients by Mobile Phones is a 16 weeks project that
was developed by Abdul Azem Saleh and Hilmi Olgun.

This application explores the use of WLAN and the positioning engine together with
Java TM 2 Micro Edition (MJ2ME).

This application is of particular importance in large targeted areas, where one user
would like to locate a friend or a co-worker.

The application views the location and movements of a targeted connected mobile
user on the map. The map will be displayed on the screen of a mobile phone.

      2. Location Based Audio Streaming (LBAS)
LBAS system is designed and implemented by Saif Alghanemi and Firas Ali Aziz.
The LBAS system retrieves mobile’s position from the positioning server at ITU and
then provides the users with service according to that position (i.e. location dependent

The major aim of LBAS system is to send an audio clip to a mobile device. The
mobile device could be a portable device such as laptop or mobile phone device. The
system will provide the user with different audio clips depending on his/her position.

The system was designed in two ways: one is a standalone design where all the audio
files are stored on the client-side. That is, the client only needs to retrieve his/her
position from the positioning server, then picks up the appropriate audio file
according to the user location and then plays it out. The second design is a client–
server model, where the audio files are stored in the server side, which is responsible
for retrieving the client’s position and matching the appropriate audio file.

      3. Position Dependent Communicating System (PDCS)

The PDCS2 system was implemented by Thomas Lunge, who focused on how to
combine location based technique and speech techniques. Two foundation techniques
were used with PDCS, namely location based technique (Ekahau Positioning Engine
installed at the ITU) and speech technique (IBM ViaVoice speech engine, which is a
commercial speech engine developed by IBM and IBM Java Speech API).

The PDCS system has a Client Server architecture, where the server, which could run
on any server on the WLAN at IT University, is working as a middle layer between
the client and the database. The client side of the PDCS can be run on a mobile device
such as a laptop computer or PDA.

    More information can be found at

PDCS obtains the location information of the connected clients by a direct connection
to the positioning engine through the specific IP addresses and port number, for
example “.

PDCS has the ability to recognize the user’s speech commands (the recognizer engine
of PDCS has a limited vocabulary representing the destinations at ITU) and to
synthesis the output information that the system provides to the user (guiding
information). The system uses the IBM ViaVoice speech engine to implement the
specification of the IBM Java Speech API.

The main service provided by the PDCS system is to find the shortest path between
the physical position of a user and a certain destination (room number, location of
door in the room, room name, etc.).

When the user requests the shortest path for a certain location, the system recognizes
the user command through speech recogniser, and then connects to the database to get
the destination and the positioning server to retrieve the user’s position. Finally the
system will use the shortest path algorithm to derive the shortest path and will then
display the result on a map with a moving arrow. Furthermore, the system will
support the shortest path graphical user interface with a synthesized speech.

      4. Location-Based Free-Hands Personal Communication System
The Location-Based Free-Hands Personal Communication System (LB-FPCS3) was a
step for developing a new method of communication for a mobile system in indoor
environment. It was implemented by Emad El-Dean El-Akehal, who was one of the
first students in ITU who focused on how to combine location based technique and
speech techniques.

In this project Emad took advantage of the location-based technique; namely the
Ekahau Positioning Engine installed at the ITU and
speech techniques such as automatic speech recognition and automatic speaker
identification for mobile systems. In order to give good results those speech
techniques require a low noise environment.

The main scope of LB-FHPC system was to authenticate users through their voice.
In order for the users to exploit the opportunity of using the services provided by the
system, the user has to be registered in the database. Exchanging information between
the system and users depends on the type of the user. The LB-FHPC system can
identify three different types of users such as: student, staff and guest.

The LB-FHPC system provides two kinds of services:

    More information can be found at /index.html

1) Geographical Messaging Service (GMS)
GMS provides the registered users with message exchange service. Each message can
be either text or audio. A message can be left for a specific user (or group of users) in
a specific location. And then the system will alert the exact user/users at the specific
location about the message.

2) The Navigation Service
 Navigation Service is a tracking service. The user will be asked to enroll some
friend’s names that will be stored at the database of the system. When the names are
stored at the database the user can track them and find their location - one friend at a
time. The information about the tracked friends are the room number, the level and (x,
y) coordinates.

      5. Location Based Interactive Speech System (LBISS)
The LBISS4 system is designed and implemented by Abdul Azim Saleh. LBISS
examines the combination of positioning technologies with speech in order to provide
users with the ability of interacting with the system in a user-friendly way (i.e. via
user’s voice). It uses Ekahua positioning engine installed at the IT University to
locate the client mobile devices (laptops). Furthermore it uses the trial version of the
commercial product, IBM ViaVoice speech engine that performs both speech
recognition and speech synthesis. LBISS is using the XML technology in order to
save the data needed for the system.

LBISS is a client server application. It uses TCP because in LBISS accurate delivery
of data is more important than prompt delivery. It provides two main services.

1) Delivering information

Delivering information is a location dependent service that can be done via speech
dialog. The kind of information delivered depends on the services provided to the
users, depending on their locations. Moreover, retrieval of information is filtered
depending on user’s identity (i.e. user could be either student or staff at IT University,
or guest).

2) Reminder and Event News

The Reminder and Event News is a location-independent service. The reminder
allows the user of the system to set reminder at a certain point of time. And the
system will remind the user on the assigned time, while the event news is a new way
of developing newsletter, which can be conveyed to all users.

1.4 Report guide
This part serves as a guide for ITUTS report. ITUTS report consist of the following
    More information can be found at

Chapter One: Introduction
Chapter One includes an introduction, motivation for implementing ITUTS system
using positioning technologies. Furthermore it gives a description of the previous
works that used the same technologies at ITU. Lastly it includes the ITUTS problem
statement in details.

Chapter Two: Basic Technologies
Chapter Two covers the basic technologies and theories of our current research. It
includes a general introduction to the fundamental technologies that were used in
ITUTS, namely Positioning technologies. The chapter starts with a description of the
Global Positioning System (GPS) and the Global System for Mobile Communication
(GSM), and then a detailed description of the WLAN and Ekahau positioning engine.

The main aim of this chapter is to give the readers some background of the ITUTS
implemented technologies so they can get a better understanding of it. In this chapter
it is not explained how these technologies were implemented in ITUTS application.

Chapter Three: System Design
Chapter Three goes through the ITUTS system design. It includes a description of the
ITUTS, the ITUTS client server communication, the Data sources, the ITUTS server
design, the ITUTS client design, and the user interface design.

The ITUTS server description covers accessing the data sources, authentication,
position calculation, and the different system services.

Chapter Four: System Implementation
Chapter Four goes through the programming steps that were taken to implement
ITUTS. This chapter can be useful for other programmers who want to use the
application as a base for new applications.

Chapter Five: Test and Results
Chapter Five describes the ITUTS test’s results. This chapter goes through a ITUTS
example, a description of the black box, the white box testing and a ITUTS usability
test. In the usability test many types of tests were performed such as source code test,
and position accuracy test.

Chapter Six: Conclusion and Future work
Chapter Six includes a conclusion about ITUTS work and the future work.

Chapter Two

Basic Technologies

2. Basic Technologies
Developing ITUTS framework depended on some specific technologies. This chapter
will describe the main technology that is used in order to develop the system. The
core technology of ITUTS is the positioning technology.

Since ITUTS is a location-based application, the techniques that support positioning -
in particular indoor positioning - can be considered as the core of this system. ITUTS,
which was tested at ITU, is taking advantage of the WLAN and the Ekahau
positioning engine installed at ITU. Implementing the Ekahau positioning engine,
through a Java interface, enables applications to track a mobile device connected to
the system and provide the position information of that device.

The ITUTS is using a database in order to store and retrieve the data that has been

2.1 Positioning Technologies
The word location refers to the generic concept of a place that is occupied by a user or
object. Furthermore, an object position refers to the coordinates of the point that
represent that object.

The importance of location information is increasing in many computing applications.
Many positioning technologies can be used to track a mobile device (laptop, PDA)
and locate its position. The positioning technologies can be specified according to
their functionality into:

   Outdoor Technologies:
   Those technologies are used to compute the positioning of the mobile device in an
   outdoor environment. The outdoor positioning technologies are using an
   earthbound mobile network or a satellite navigation system, enabling the receiver
   to compute position, velocity and time. An example of an outdoor positioning
   technology is GPS [ref].

   Indoor Technologies:
    The Indoor technologies are used to locate a mobile device inside a building.
    Since the construction materials of the building can disturb the signals transmitted
    from the satellites an example of an indoor positioning technology is the WLAN,
    which is using access points instead of the satellite navigation system.

Some systems can perform both the indoor and outdoor positioning. Those systems
can be classified in the following groups:

      Cellular Network-Based Methods
      Space-Based Radio Navigation Systems

         WLAN and Short Range Connectivity Systems [ref].

2.1.1 Global Positioning System (GPS)
GPS is the one of the most popular satellite-based navigation systems for outdoor
environments, it uses a set of satellites and computers to measure and locate a user’s
position anywhere on the earth based on space triangulation system. [ref]

GPS Components
GPS consists of three main components:

      1. The Space Segment

          The space segment refers to the components orbit in space (in the sky around
          the global), which shown in figure 2.1. It consists of 24 satellites at 20200km
          above the earth. Those satellites orbits 24 hours a day around the global in six
          orbital planes, each of them containing four satellites to make sure that at least
          four satellites will be in view at any location on earth. The satellites take 12
          hours to complete one orbit. The signals transmit using CDMA5. The power of
          these signals is low (50 watt). [ref] [ref]

                             Figure 2.1 GPS Space Segment [ref]

      2. The Control Segment

          The control segment refers to the ground components, which are fixed and
          known position. They are responsible of controlling and tracking the exact
          position of the satellites. There are five ground control segments existed and
          located around the world. [ref]

    Code Division Multiple Access is a kind of Channel Partitioning Protocol belongs to Multiple
     Access Protocol, which uses to arrange sending when several hosts sharing the same
     communication medium. It’s a technique that both sender and receiver have a code key.
     [reference: Networks and Protocols Book]

   3. The User Segment
      The user segment refers to the user and handheld devices (GPS-receivers). The
      GPS-receivers are used to get the information from at least three satellites (in
      case of the two dimensions position, which are latitude, longitude) or at least
      four satellites (in case of the three dimensions position, which are latitude,
      longitude and altitude) around the earth. The raw information can either be
      processed by the GPS-receiver itself or sent them to the network for
      processing in order to position user’s device [ref].

Basic Positioning in GPS
A GPS receiver must be locked on to the signals transmitting from at least three
satellites in order to calculate 2D position and track movement as shown in figure 2.2.
Both satellites positions and the transmission times (t1, t2, t3) between the satellites
and the GPS-receiver are known. Each satellite is on the top point of a cone. The
intersection between three cones determines the mobiles position on the surface of the
earth. [ref]

                   Figure 2.2 GPS positioning (How does it work)

2.1.2 Global System for Mobile Communication
GSM has been developed over the last decade to provide the users with services based
on their current position. GSM offers a rich set of services that include voice, circuit
switched data, packet data, and fax. Those services come with a level of privacy not
available through the analog cellular networks. Using digital encoding techniques in

GSM allows the cellular communication to overcome the limitation of the analog
systems, so more users can share the same frequencies than had been available in the
analog systems. Another benefit of digital transmission is security, since GSM
enables the users to be authenticated depending on the information contained in their
SIM. [ref]

GSM Components
There are four subsystems that construct the GSM network as shown in figure 2.3[ref]

   1. The Mobile Station (MS)

   The mobile station (MS) consists of the physical equipment, such as the radio
   transceiver, display and digital signal processors, and a smart card called the
   Subscriber Identity Module (SIM). SIM allows the user to access all subscribed
   services. By inserting the SIM card into a cellular phone the user can make and
   receive calls, the SIM card contains the International Mobile Subscriber Identity,
   which identifies the subscriber. [ref]

   2. The Base Station Sub-System (BSS)

   The Base Station Subsystem is composed of two parts, the Base Transceiver
   Station (BTS) and the Base Station Controller (BSC). These two parts
   communicate across the specified interface.
   The BTS consists of the radio modems and antenna equipment, and it requires
   ruggedness, reliability, portability, and minimum cost. The BSC provides the
   physical interface to the Mobile station. [ref].

   3. The Network and Switching Sub-System (NSS)

   The major components in NSS are Mobile service Switching Center (MSC) that
   performs the switching of calls between the mobile users, and between mobile and
   fixed network users, Home Location Registers (HLR), Visiting Location Registers
   (VLR), The Equipment Identity Register (EIR) and The Authentication Center

   4. The Operation Sub-System (OSS)

   The OSS provides the support functions responsible for the management of
   network maintenance and services. Components of the OSS are responsible for
   network operation and maintenance, mobile equipment management, and
   subscription management and charging. [ref]

                             Figure 2.3 Major GSM Components

Basic Positioning in GSM Networks
Basic positioning mobile device in GSM networks can be done based on Cell Identity
(CI)6 Base Station (BS) as position alone as shown in figure 2.4 or together with
Timing Advance (TA) in order to improve the performance as shown in figure 2.5.
Based on Cell Identity, the BS has one antenna; therefore, the coverage area is 360 o
and the radius can be up to 35 km. Using CI together with TA, the BS has three
antennas (three sectors), each antenna cover 120o and the radius up to a few
kilometres. [ref] [ref]:

                     Figure 2.4 Basic Positioning Method (Cell Identity)

    The cell represents the area coverage by the radio wave of one base station.

      Figure 2.5 Basic Positioning Method (Cell Identity and Timing Advance)

2.1.3 Wireless Networks
Wireless network is a technology that makes it possible for a number of computers to
communicate without using cables. Instead, computers send information to one
another by using radio signals. Therefore wireless networking is very suitable in
environments where cabling is impossible or not practical and is a good solution with
wireless laptops and also with fixed position computers if it’s difficult to wire the
walls of a building [ref].

Another benefit by wireless network is that it makes it easier to move connected
computers around [ref]. The increased use of laptops and the increased mobility of
people have made the demand for wireless network bigger than ever. Wireless
network can be established in any kind of environment, e.g. private houses and public
cooperates, schools and business projects [ref].

The abbreviation for Wireless Local Area Network is WLAN. There are two types of
wireless networks; namely peer-to-peer WLAN and infrastructure WLAN:

 1. Peer to peer WLAN:

Peer-to-peer WLAN (also called ad-hoc wireless network) is a simple network
without any central controller and with no connection to the outside world. It consists
of two or more computers with wireless network interface cards. The wireless
network interface cards make it possible for each computer in the network to
communicate directly with the other wireless enabled computers See figure 2.6 [ref].

                      Figure 2.6: Peer-to-Peer Networking [ref]

 2. Infrastructure WLAN:

Infrastructure WLAN is using an access point (a base station), which is a wired
central controller that can receive and transmit data to the wireless adapters that are
installed in each computer. Also the access point can connect the wireless LAN to a
wired LAN.

There are two types of access points, a software access point and a hardware access
point. The software access point runs on a computer with a wireless network interface
card and can be used in a peer-to-peer wireless network as illustrated in figure 2.6.
The hardware access point gives a good support for most wireless features see figure

More access points can be used together and can be connected to a wired LAN or to
another wireless LAN. Depending on the number of wireless connections they can
support, there are different types of access points. Some support up to 10 wireless
connections while others support up to 100 wireless connections. If using more
computers than recommended, the performance of the access point can be badly
affected [ref].

                        Figure 2.7: Infrastructure WLAN [ref]

The wireless networking hardware requires use of underlying technology to deal with
radio frequencies and data transmission. The basic standard for WLANs that define
all aspects of radio frequency wireless networking is IEEE 802.11 [ref].

       802.11 LAN architecture:
       The IEEE 802.11 LAN architecture is shown in figure 2.8. The Basic Service
       Set (BSS) is the fundamental building block of 802.11 WLAN. A BSS is a cell
       with a number of fixed or mobile wireless stations, and one Access Point (AP)
       as a central base station.

       The peer-to-peer (ad hoc) network, which is a group of IEEE 802.11 stations,
       has no central control point and no connection to the outside world. The access
       points communicate among themselves using IEEE 802.11 wireless MAC
       protocol to form a distributed system. An (ad hoc) network can be formed
       when for example a group of people at a conference want to exchange
       information using their laptops and there is no centralized access point [ref].

                     BSS                                                   BSS

           ((( )))
                                                             ((( )))
                       ((( )))
                                                                                 ((( )))

         ((( )))                                                 ((( )))

                           Wireless                                              Wireless
                           stations                                              stations

                       Figure 2.8 IEEE 802.11LAN architecture

Indoors positioning using WLAN:
To fully understand the indoors-positioning methods using WLAN, it’s necessary to
know the definition of the received signal strength.

The received signal strength is a function of the signal’s amplitude that is transmitted
from the access point to the mobile terminal. The received signal strengths in two
indoor positions sufficiently apart are assumed to be different, while the received
signal strengths in the same position at different times are assumed to be the same

Using the signal strength monitor of the received signal is the main factor of the
received signal strength positioning method. There are two positioning methods based
on the signal strength:

   1. The empirical model

   The empirical model is based on recorded measurements stored in a database. The
   measurements are the signal strengths from all the access points covering the
   given area. The mobile device sends the received signal strength from the access
   points to the server that holds the database and the server searches the database for
   a matching location and responds to the mobile device with its location [ref].

   2. The propagation model

   The propagation model is based on the fact that when radio waves are traveling
   through an environment, it looses some of its signal strength. So the model says
   that the distance from a wireless device to an access point can be defined by the
   loss in signal strength. The triangulation method, which is using the distance from
   the wireless device to three or more access points, can be used to determine the
   exact location of a device [ref].

   2.1.4 Ekahau Positioning Engine
The Finnish company Ekahau7 is behind The Ekahau Positioning Engine (EPE).

EPE is a software product that is used for measuring and estimating positions in
wireless networks. It supports wireless PDAs, laptops and any other 802.11b enable
devices [11 mohanned]. It doesn’t require any proprietary hardware since it’s a
software-only solution, which was built using industry-standard Java language and
tested with leading WLAN equipment [ref].

With EPE the client’s application will get tracking features, asset TAG location
coordinates (x, y and floor). Moreover, it contains a graphical user interface for
calibration, tracking, monitoring and data analysis of the wireless network being
positioned [ref].

EPE can locate more than 100 devices per second. It’s positioning accuracy for indoor
applications can be up to 3.5 feet (1 meter). Increasing the number of access points
will improve the EPE accuracy further [ref].

EPE can used in many locations, e.g. in retail where the positioning engine can track
customers or can give the location of a specific product, and in healthcare where it can
track patients or hospital professionals who carry a mobile device [ref].

The complete positioning system consists of three components:
1. Ekahau Client
2. Ekahau Positioning Engine
3. Ekahau Manager

       1. Ekahau Client:

   The Ekahau Client can be any user device that the system tracks, such as a laptop
   or PDA, must be running the client software. It requires a supported WLAN card
   and a supported operating system (for example Windows 2000 or Windows XP).

       2. Ekahau Positioning Engine:

   The Ekahau Positioning Engine is used to calculate the user device locations. Pure
   Java runs on a server computer, and can be distributed to several servers. The
   Minimum hardware requirements for Ekahau Positioning Engine are (Pentium II,
   128 MB RAM, 200 MB HDD and wired or wireless network connection).

       3. Ekahau Manager:

   The Ekahau Manager is used for building and maintaining the positioning models,
   tracking devices, defining logical areas, and analyzing positioning accuracy. The
   hardware requirements are the same as Ekahau Positioning Engine server HW
   requirements. The Structure of Ekahau Positioning Engine is shown in the Figure

             Figure 2.9 Structure of Ekahau Positioning Engine [ref]

For evaluation purpose, It is recommended to use at least three access points since
using more access points will lead to better accuracy. Furthermore all of the three
EPE components can be run on a single Windows 2000 / Windows XP laptop
equipped with a supported network card. [ref].

Chapter Three

System Design

3. System Design
3.1 Introduction
The main aim of ITUTS is to build an application that provides the users with some
services namely, show and track clients, room information, informing service and
tracking clients on a map.

ITUTS displays many types of information such as: the username, the user full name,
the floor number, the room number, the room name, the X, Y coordinates in pixel and
the X, Y coordinates in meter.

ITUTS is designed as a Client / Server application. The ITUTS server is implemented
as an intermediate between the clients in one side and the data storages and
positioning server in the other side. In other words, the LBFE-S clients are allowed
neither to have a direct access to the data storages nor the positioning server.

The ITUTS is a kind of information system of web service models among the World
Wide Web (WWW7) applications. Therefore HTTP8 and TCP/IP9 or UDP/IP
protocols are used to support the system. Moreover, the prototype should be built and
implemented on the Application Layer, because the system is proposed for wireless
indoor environments.

  Within an IP-address we can get to the right machine, but to get to the right application we
   need to specify the port number. There is a range of standard port numbers, which are
   called Well-Known Port Numbers (0-1023). All the WWW requests should be handed in at
   the port number 80.
   HyperText Transfer Protocol is an application layer protocol, used for supporting the WWW
  Transmission Control Protocol/Internet Protocol ensures a reliable data transfer between the
   client and server.

      ITUTS Client
                                        Application Layer
                                            ITUTS protocol

                                       Transport Layer
                                             UDP    TCP

                                        Network Layer

                                       Data Link Layer

                                       Physical Layer

                      Figure 3.1 The ITUTS Internet protocol stack

The system is designed to work in an indoor environment. The overall ITUTS
communication system is shown in figure 3.2.

Figure 3.2 the Overall Client-Server Communication of the ITUTS System

3.2 ITUTS Client-Server communications
When designing a client-server application it is very important to specify whether to
use a UDP or a TCP. This decision depends on the type and specification of the

UDP (User Datagram Protocol) is an unreliable connectionless service, which doesn’t
guarantee that the sent data will reach its destination. It doesn’t go through the
handshaking process between sending and receiving processes in order to establish
the connection, but starts transmitting the datagrams into the network directly. It
detects a packages lost, but it doesn’t take any action to replace the lost data.

UDP doesn’t introduce any delay to establish connection. Moreover, it can take as
much bandwidth as it needs to transmit the data, therefore it is used with the
application that can tolerate a package loss and can be affected by the network delay
such as multimedia applications [7].

Since ITUTS application isn’t package loss or damaged tolerate , (reliability is critical
for ITUTS application), UDP isn’t the suitable IP protocol to be used. Instead, TCP,
the connection-oriented reliable transport protocol, will be used with LBFE-S
application since TCP can offer different service models to ITUTS application, those
services are:
     Starting with handshaking and using acknowledgments and checksum; in
       order to insure that the received data is uncorrupted, in the right order, with no
       gaps and no duplication; makes the TCP a reliable data transform protocol.
     All the lost packages will be retransmitted.
     TCP provides with congestion control. The network becomes congested when
       the routers buffers are overflowing, which will lead to some packages lost [7].
     TCP provides a flow control, a matching service to prevent the sender from
       overflowing the receiver buffer.

Both the ITUTS client and server have a socket that is the door between the
application process and the TCP. The ITUTS server has to be running before the
ITUTS client will contact it. Moreover the ITUTS server has to have a welcome
socket to welcome the initial contact from the ITUTS client.

The main activities of the ITUTS client and server using TCP connection are
illustrated is figure 3.5

 ITUTS Client                                                         ITUTS Server

                                                                    IP-address= ""
                                                                     Welcome Socket at port =8000
 Create client socket
 Connect to IP-address""

                                                                      Wait for incoming connection,
                                             Request                  accept it and create a
                                                                      connection socket

   Send a request using
   the client’s socket                                                Receive request by the
                                                                      TCP connection socket


                                                                      Send a reply using the
                                                                      connection socket

 Receive a reply using
 the client socket

                                                                      Close the connection
 Close the client socket                                              socket

                         Figure 3.5 ITUTS client server activities using TCP

The previous subsections described the proposed functional of the system that is
needed in order to design a suitable prototype compatible with the desired

The users of ITUTS are interested in retrieving the desired information from the data
stores through the web-server by interacting with the client’s browser. Behind the
scene, the client machine will communicate wireless with the web-server over the
intranet by using HTTP protocol through the access points.

After authenticate the users, they can start navigating through the provided system
information. At the same time, the web-server starts locating and tracking the wireless
mobile users through the low-level details (i.e. client's IP-address) based on the
positioning server, and continuously records logging information into the database for
later retrieval.

ITUTS consists of the ITUTS server and the ITUTS client. Each one of them consists
of some components and executes on a different end system. They talk to each other
by exchanging messages over the Intranet. Deciding which components to place on
the server side and which ones to place on the client side is a very important aspect to
produce an efficient application.

All the components of the ITUTS reside on the server side for the following reasons:

 -       Administration reason: The system administrator will decide and build the
         source data architecture directly, since the ITUTS information are a key of
         resources sharing between different users.

 -       Maintaining reason: it is always easier to apply maintaining and to modify the
         application on a central machine (server) , than on a multi machines (clients).

 -       ITUTS users can pick up any portable device and start the application, because
         the authentication manager resides on the server-side,

 -       Accessing the data through the server is a good way of protecting data source
         from the user’s direct access.

In general, the overall proposed system architecture consists of three main parts:

         Positioning Server
         Database Design
         Web-Server

Figure 3.11 illustrates the overall proposed system architecture.

                   Figure 3.11 the Overall ITUTS System Architecture

3.3 Data Source Design
In order to store and retrieve the system information we need to use a database as a
source data for the proposed system. Namely the MySQL database is used for this
purpose. Basically the ITUTS database consists of two types of tables namely User
information tables and ITU information tables, each type consist of some tables.

      1. User Information tables:
      The user information tables are the tables that contain information about the users
      of ITUTS. It consist of three tables:

            1.1. users table:
          The users table contains all the users who are allowed to access the ITUTS
          system. It consists of two columns, which are; username (unique user’s id) and
          the password of that user (32 bit), which is generated using MD510 function as
          shown in figure below:

Figure 3.5 Structure of “users” table / “HDLT” database

              1.2. username_ip table:
          The username-ip table contains information about the user’s profile when the
          valid user has signed in the system. It consists of two columns namely:
          username and the ip number of the laptop. Both of these fields are unique as
          shown in figure 3.6. For example the table below tells that the laptop with IP-
          address is currently used by the username Karim, which is
          signed in successfully in the application and can be tracked now.

     MD5 function stands for Message Digest Function, which also called One Way function. It
     takes string as an argument and generate 32 bit. For example:
                  md5 (“Test”) = 0cbc6611f5540bd0809a388dc95a615b
     while md5 (“test”) = 098f6bcd4621d373cade4e832627b4f6

Figure 3.6 Structure of “usersname_ip” table / “HDLT” database

      1.3. username_fullname table
      The username-fullname table contains information about the user’s profile
      when the valid user has signed in the system. It consists of two columns
      namely: username and the fullname of the user.

2. ITU information tables:
   The ITU information tables are the tables that contain information about the areas
   covered by the position engine, it contains information about the floors and rooms
   of the covered areas. It consist of three tables:

   2.1 floor1 table:
   The floor1 table contains all room numbers of the rooms, which are covered by
   the position server, in floor1. It consists of two unique columns; id (auto-
   increment) and the roomNo as shown in figure 3.7. Adding a new room or
   removing an existing room from the table is a simple task.

Figure 3.7 Structure of “floor1” table / “HDLT” database

   2.2. floor2 table:
   This table has the same structure as floor1 table (figure 3.7). Besides, it contains
   all the same type of information but about the covered rooms belonging to floor2.

   2.3.floor3 table:
   This table has the same structure as floor1 table (figure 3.7). Besides, it contains
   all the same type of information but about the covered rooms belonging to floor3.

   2.4. floor4 table:
   This table has the same structure as floor1 table (figure 3.7). Besides, it contains
   all the same type of information but about the covered rooms belonging to floor4.

3.4 ITUTS Server Design
All the ITUTS data source files are resident at the server side. So the only way for the
ITUTS clients to access the data sources are through the ITUTS server, residing the
data sources in the server side makes it easier to update them. Furthermore, the
ITUTS server is responsible for location determination in order to keep the client
application thin.

The ITUTS server goes through some steps in order to provide its clients with the
required services, those steps are: accessing the data sources and retrieving the needed
data, authenticate users and mobile devices, and calculate the user’s positioning.

3.4.1 Connection with Database:
The system data sources used with ITUTS are stored in a database. There are two
types of tables namely: the user information tables and the ITU information tables
(chapter 3.3)

When the server access these database tables it has to know the name of the server
that hosts the database tables, the name of database, the database user’s name and
password to get access.

The ITUTS server will establish a connection to the MySQL database and then it can
assign many kinds of SQL queries such as read, insert or update.

The ITUTS server connects to MySQL database and retrieve the information from the
users table in order to authenticate the users, creating or deleting the user’s profile in
username_ip table, and retrieving desired information from floor tables.

3.4.2 Authentication:
The users of ITUTS have to be registered into the system database. Moreover the
mobile device has to be located by the positioning server. The ITUTS server applies
two types of authentication the user authentication and mobile device authentication.

In the user authentication part the server displaying the traditional authentication
interface, which will ask the user to provide his username and password. Both
username and password will be validated against the registered users list (users table).
If either username or password or both does not match any entry in the table, the
server will respond with an error message, Otherwise, the user will be provided with
ala LBFE-S services. The ITUTS provides the same information for all the users and
no one will receive different services according to their identities. Only administrators
will have control over the server side.

The second type of authentication is the mobile device’s authentication; the HTTP
request sent from client to the server includes the IP-address of the mobile device The
ITUTS server communicates the positioning server and checks if the mobile device is
detected by the it.

The relation between two authentication parts can be represented as AND condition,
if both results are valid, access is granted to the user and a new interface containing
the user identity will show. Otherwise, error message will be displayed.

3.4.3 Communication with Positioning Server:
The major factor of ITUTS is the position. After establishing the TCP socket
connection between ITUTS client and server, the client side will send its first request
messages; this message includes the client’s IP-address. The ITUTS server will get
the client’s IP-address. The server then sends a HTTP request into the position server
in order to retrieve the client’s location information. This request will be as follow:
sure=pixels” Where the server IP-address is “” is the IP-address
of the position server from the “opennet” domain, and “” is the
ITUTS client IP-address, the client’s IP-address will change from one client to

If the position server recognize the mobile device it responses with the X coordinate
(meter and pixel), the Y coordinate (meter and pixel), the level that shows the floor
number and room number, these coordinates will be updated every two seconds. But
in case the position engine doesn’t recognize the mobile device it will response with
failure notation.

The WebAPI can provide with two kinds of responses, XML response that shows the
coordinates from all tracked clients at ITU, and a plain text response that shows the
coordinates of only one specific client.

 And since LBFE-S server is handling each client independently, it doesn’t need to
use the XML response, whereas using the plain text response is an ideal solution to
get the clients position.


To top