Download Location Cluster with Nearest Neighbors in Signal Space - III-LIDI

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Wi-Fi wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Cellular network wikipedia , lookup

Transcript
Location Cluster with Nearest Neighbors in Signal Space: An
Implementation in Mobile Service Discovery and Tracking
Jon Tong-Seng Quah 1, and Luo-Ren Lim 1
1
School of Electrical & Electronic Engineering, Nanyang Technological University, Singapore
Abstract - A rapid development in mobile telecommunication
is the use of location information for context aware service.
To amalgamate multiple location sensor technologies, we
developed an Intelligent Service Area and Region
Identification System (iSARIS) to allocate system resource for
mobile service discovery and tracking. Primary location
service is provided by cell identification which maps a wide
region of physical space. A switching module toggles a
secondary localization service within the interest space. This
service provides additional localization performance through
Wi-Fi pattern mapping to further segment smart spaces where
independent providers can offer their mobile services. The
technique uses location cluster to minimize search boundary
through the use of an enhanced Nearest Neighbor in Signal
Space algorithm.
Keywords: Location Service, Mobile Service Discovery
1
Introduction
The primary function of communication in a mobile
phone today has rapidly expanded to include many computing
features. Shrinking of computing capabilities into more
portable form is becoming mainstream. Smartphone brings an
evolutionary change to how people view computing power.
Technologies such as GSM, UMTS, GPS, Wi-Fi, and
Bluetooth are included in a single mobile platform that can
support many computing activities. By creating intelligent
user centric services through the extraction of meaningful
contexts in mobile devices, developers greatly improve user
experience. Many of today’s popular mobile applications
utilize wireless localization. Location information is therefore
emerging as a key context for mobile applications.
Techniques for wireless localization can be generalized
into deterministic and probabilistic methods. Deterministic
methods perform well in environment with clear line-of-sight
(LOS) propagation paths but are not as applicable in enclosed
spaces where probabilistic methods [1] are more commonly
used. This is due to problems like multipath propagation,
fading and signal dragging effects. Mobile phones on the
move are likely to visit locations which encompass both
outdoor and indoor situations. As optimal localization
techniques differ for both situations, location systems require
a rethink of how we can offer seamless user experience in an
environment transition. Getting user to manually switch
applications is inefficient.
2
Mobile Localization
Location is the most utilized aspect of context awareness
and can be expressed as a spatial form or textual descriptions.
Spatial location is expressed in a coordinate system involving
latitude, longitude and altitude using standard like the World
Geodetic System (WGS 84) datum. Textual description can
either be an address or a landmark and often more ambiguous
than a spatial expression. Many existing applications exploit
location information to search for products, create tour guide,
offer direction guidance, match neighboring devices, send
mobile advertising and social networking [2]. The main
classes of applications are listed in Table I.
TABLE I
WIRELESS LOCALIZATION APPLICATIONS
Applications Uses
Examples
Navigation
Handling routes
Road
directions,
between locations
Journey
planning,
Tour guide
Positioning
Tracking
Mapping
2.1
Identifying a
spatial fix
Monitoring movement
of objects
Emergency services
Creating graphical
representation
Terrain mapping
People
locator,
Assets
tracking,
Social networking,
Mobile advertising
Network Localization
The Cell Global Identity (CGI) is a globally unique
identity made up of Cell Identification (CID), Location Area
Code (LAC), Mobile Network Code (MNC), and Mobile
Country Code (MCC) to address mobile cells worldwide. The
concept works on the fact that mobile phone is always
connected to the closest cell towers. By identifying which
towers the phone communicates with, we will know that the
phone is near to a particular Base Transceiver Station (BTS)
and hence estimate its location. In practice, this process is
complicated and involves parameters that network can
optimize such as signal quality and variability. Mobile phone
usually locks onto the strongest signal but not necessarily the
closest as mobile networks are optimized for capacity and call
handling rather than localization. Trevisani E. and Vitaletti A.
[3] estimate an average accuracy to about 500-800 meters and
suggest its use in resource discovery service. CGI depends on
distribution of base stations for location precision. Network
knowledge of the phone within the controlling cell site
together with sector information enables a rough estimate of
the location of the caller, regardless of phone type. E-CID [4]
enables accuracy improvement over conventional Cell ID by
using additional Timing Advance and Network Management
Records from GSM networks to fine tune measurements by
adding measured time between the start of a radio frame and a
data burst to CGI.
Other forms of network based techniques process
localization results at a network server. In GSM networks,
information flows are managed through free-to-access control
channel. This allows manufacturers to implement features to
monitor neighboring cells and its corresponding RSS value.
Accuracy is dependent on the concentration of BTS cells.
Uplink Time Difference of Arrival (U-TDOA) is one network
based solution that determines location through cellular
signal. It compares the times a signal reaches multiple
Location Measurement Units (LMUs) installed at the
operator's base transceiver stations. U-TDOA is well suited
for indoor and urban environments relying on multilateration
to get a location fix. Enhanced Observed Time Difference
(EOTD) systems utilize cellular characteristics of
asynchronous GSM network. Each GSM based BTS emits a
synchronization burst to all mobile subscribers in its vicinity
regularly. Mobiles monitor the synchronization bursts of the
service and neighboring BTSs to maintain connection. EOTD
extends on this GSM functionality. Location is determined by
comparing signal arrival times from three or more BTSs at the
mobile phone. The mobile phone records burst arrival times
and deduce a position using the coordinates of the BTSs,
arrival time of synchronization bursts from each BTS and the
timing differences between BTSs. The use of an external
reference point eliminates the need for transceivers to remain
time-synchronized, but in contrast it requires enhancement to
phone software and additional network equipment.
2.2
Satellite Localization
The global positioning system (GPS) [5] is a wide area
outdoor radio positioning system that employs orbiting
satellites for location fix. The system consists of 24 satellites
in 6 circular orbits at an altitude of approximately 20200km.
Each orbit contains 4 equally spaced satellites inclined at 55
degrees. Once a receiver locked-on to a satellite, the receiver
recognizes and time shifts its internal clock through a unique
Coarse/Acquisition code. The time to lock-on is known as the
time-to-first-fix (TTF) and can take up to 15 mins from a cold
start. When the clock synchronized with the satellite’s atomic
clocks, the distance to each satellite could be determined by
subtracting the known transmission time from the calculated
receiver time. Two signals in the L1 (1575.42MHz) and L2
(1227.60MHz) bands are broadcast by the satellites but only
L1 is for public use. Receivers make pseudorange or carrier
phase measurement on the L1/L2 signals to generate a
location reading. A lock-on would not be achieved from
fragmentary signal until a clear signal can be received
continuously. Ignoring ground effects, the worse case
horizontal positioning accuracy based on line of sight signals
is ≤ 22m at 95% confidence interval although accuracy up to
≤10m is typically achieved. Upgrades under a GPS
Modernization program [6] improved acquisition codes to
better account for ionospheric errors, radio frequency and
multipath interferences.
Assisted Global Positioning System (A-GPS) [7]
improves startup performance of GPS system by using
network data. Some A-GPS implementations reduced the
amount of processing required by offloading the processing
work onto the network’s server. An assistance server have
better satellite signal due to static placement and has higher
computational performance. It can supply the GPS almanac to
a receiver, thus allowing the GPS module to lock on to the
satellites more rapidly. It can also provide precise timing
information. Cell towers with assistance functions have
accurate coordinates which account for various local factors
affecting the GPS signal. The tower can also compare
fragmentary signals received from GPS receivers with its own
reading to obtain a faster location fix.
2.3
Short Range Radio Localization
Short range radio technologies such as Wi-Fi and
Bluetooth are commonly found in smartphones. Wi-Fi allows
mobile user access to internet with WLAN access points.
Bluetooth is a short range PAN standard used in simple file
transfer and headset connectivity. These network protocols
are often adapted to implement location schemes. Such
technique uniquely identifies locations by comparing and
deducing RSS signal patterns. However, they are certain
limitations. Despite its association with power, RSSI value is
arbitrarily decided by the equipment manufacturers. Different
manufacturers provide their own accuracy, granularity, and
range for the actual power and RSSI values. Thus, different
equipment or software would exhibit different sensitivity to a
single transmission despite being at the same location. This
affects the accuracy of signal fingerprinting based techniques
as radio maps generated is often only generic to the device
where it was created and not easily ported to other devices.
Nevertheless, this method has proven to be a fairly efficient
way to conduct positioning in multipath and obstructions
dominated spaces compared to conventional deterministic
methods. Short range radio localization using k-Nearest
Neighbor (kNN) algorithm has been frequently applied for
Wi-Fi location tracking [8-10, 13]. Jayaraman et. al. [14]
demonstrated 3 dimensional space localization processes
using mobile data collectors in wireless sensor network.
3
3.1
iSARIS Platform
Purpose
The primary objective of iSARIS is to integrate sensing
technologies onto a single layer where the strengths of each
can be maximized. Localization services are migrated to a
single platform where mobile entity switches smartly to the
correct technologies for the relevant environment. Our
approach is to implement a location based solution that allows
mobile device to passively observe surrounding radio signals
and recognize Service Region (SR) and Service Area (SA)
space for smart services.
3.2
Service Discovery Background Service
A mobile service discovery service was developed using
Microsoft Visual Studio 2008 and Windows Mobile SDK 6.
This background service runs on the mobile phone to retrieve
the active CID parameters. Retrieving cell tower information
from Windows Mobile devices requires access to the Radio
Interface Layer (RIL). RIL functions are implemented via a
device driver through two distinct layers. The lower level
Platform Dependent Driver (PDD) layer of the RIL is radio
stack dependent and its implementation differs with
manufacturers. The Model Device Driver (MDD) layer on the
other hand is radio stack independent and contains code to
communicate with the RIL Proxy as well as code that
implements any radio stack independent features in the RIL
driver.
Cell tower information is returned to the caller of
RIL_GetCellTowerInfo through a callback function.
public class CellTowerInfo
{
private static AutoResetEvent dataReceived =
new AutoResetEvent(false);
private static RIL.RILCELLTOWERINFO
towerInfo;
public static CellTower GetCellTowerInfo()
{
IntPtr hRIL = IntPtr.Zero;
IntPtr hResult = IntPtr.Zero;
hResult = RIL.RIL_Initialize(1,
new
RIL.RILRESULTCALLBACK(CellTowerData),
null, 0, 0, out hRIL);
if (hResult != IntPtr.Zero)
return null;
hResult =
RIL.RIL_GetCellTowerInfo(hRIL);
dataReceived.WaitOne();
RIL.RIL_Deinitialize(hRIL);
CellTower tower = new CellTower();
tower.LAC =
(int)towerInfo.dwLocationAreaCode;
tower.MCC =
(int)towerInfo.dwMobileCountryCode;
tower.MNC =
(int)towerInfo.dwMobileNetworkCode;
tower.CID = (int)towerInfo.dwCellID;
return tower;
}
programming languages, like PHP, java and C. Simulations
are conducted on the Windows Mobile 6 Emulator to test the
prototype. When the service scanned for CID from the GSM
network, it compares the current active CID with the dataset
in the SQLite database to determine if the location is a known
SR. A CID match indicates the mobile phone has entered into
the vicinity of the shopping complex. If the CID does not
match any known SR, the process maintains its monitoring
mode. The database is shown in Fig 1
Fig. 1. CID table in the SQLite Database. The table shows the search space
for the background service and is stored locally on the mobile device.
3.3
Service Region and Area
BTS towers are located at the corners where three
hexagonal coverage cells converge in a cellular map. Each
tower has three sets of directional antennas aimed in three
different directions and receiving/transmitting into three
different cells at different frequencies. This provides a
minimum of three channels for each cell. Large cells are
subdivided into smaller cells for higher volume areas. A SR is
made up of the mobile coverage cells servicing the physical
location of the complex and its immediate vicinity. The
background service observes telecommunication exchanges
between the device and its associated BTS. Any additional
power used to monitor signals while on the move is kept
minimal as the process runs parallel to normal
telecommunication operation.
private static void CellTowerData(uint
dwCode,
IntPtr hrCmdID, IntPtr lpData, uint
cbData, uint dwParam)
{
towerInfo = new RIL.RILCELLTOWERINFO();
Marshal.PtrToStructure(lpData,
(object)towerInfo);
dataReceived.Set();
}
}
To retrieve the location of the cell tower that the mobile
is connected to, the background service queries a SQLite
database. SQLite was used to store known SR CID
information due to its lightweight design for embedded
system. Its low memory cost is ideal for mobile platforms and
can support software development on mainstream operating
system such as Windows, Linux and Unix as well as
Fig 2 A mobile enters a SR from the public area as it nears the complex (left)
and accessing a SA defined under Wi-Fi coverage (right).
A rapid coarse estimate of the location is obtained
through the background service discovery service. An alert is
flagged when an operating SR is identified which in turn
triggers a secondary positioning method suitable for indoor
environment. Many complexes today are equipped with
WLAN for internet access purposes. Access points placed at
strategic locations create Wi-Fi hotspots for consumer to
access via Wi-Fi enabled devices. Users can access data
services through these wireless hotspots. Signal pattern
matching forms the basis for SA creation. These SAs marked
a clear definition of smart space where a particular service is
valid. A single SR may contain multiple SAs and overlapping
areas between SAs are also possible. SA allows individual
service space to be built for smaller players to offer
individualized services on a smaller physical scale.
Functions include accessing information from mall and
vendors, interactive service selection and service registration.
A mobile client user interface is implemented to deliver these
functions to the user. The location module handles mobile
client location related events. It monitors the setup and
dismantling of vendor-designated SAs and alerts mobile that
enters into the physical locality of a defined SA.
4
4.3
4.1
Mobile Application Design
Overview
A shopping mall services system was built based on the
proposed iSARIS platform. Customers can interact with smart
services which include those by the mall operator and shop
vendors housed within the same complex. Our shopping
complex implementation defined the physical shopping
complex and its immediate surroundings as a SR. Upon
entering the SR, customer receives an automated alert from
the complex service server listing the offerings available.
While roaming in the SR, the mobile device can access
shopping mall services such as directory information, special
events, mall promotions and helpdesk chat service. This is
delivered through the shopping mall WLAN infrastructure.
Once within the SR, the mobile device enables the Wi-Fi
module to improve positioning accuracy and identifies
available SAs. SAs are created for vendors to define smaller
physical spaces to offer their own unique services. The mall
Wi-Fi infrastructure handles vendor content and decides
which service to push to customer when they enter a SA. A
typical service in a SA can include discount notifications,
pricelists, shop advertisements and vendor promotions.
4.2
System Deployment
Mobile devices connect to the position and data server
via the wireless access points (AP) installed in the shopping
mall. RSSI & Media Access Control/ Service Set Identifier
(MAC/SSID) information from the devices are sent to the
server for processing. The devices also communicate with the
server for mall and vendor information. The position server is
tasked with the collection of (MAC/SSID, signal strength)
value pairs gathered by customers’ mobile devices to
determine each device’s position. Vendor websites can be
access through the mall server. The mall server provides
vendors corresponding authorities in the shopping mall server
to manage their websites. A position server tracks mobile
positions with respect to SAs in the vicinity and determines if
related information is forwarded to the mobile.
Toggling between primary to secondary localization
services during the detection of a SR is managed by a
switching service on the device. The process of switching
between positioning technology is automated with no active
intervention from user. In the shopping mall implementation,
the mobile automatically diverts location recognition from
telecommunication cell identification to a Wi-Fi based pattern
search when the mobile device nears the shopping mall. The
interface module contains browsing and selection services.
Location Service
1) Position & Data Server Design: Position and data
handling applications are MFC programs hosted on a mall
server. The server handles tasks such as receiving signal
signature from devices, running location algorithm and
determining relevant vendor data to send to customer.
Position server receives mobile device signal strength
parameters via TCP connections. A location algorithm is used
to calculate an estimated position fix for each client.
Fig 3 Allocation of SA on the position server. The position of the device
determines whether it is in a vendor-defined SA. Data server sends
corresponding vendor information to the device across a UDP connection.
2) Signal Strength Acquisition: The implementation code
contains two main parts. A static ScanThreadFunc() function
create a scanning thread responsible for wireless access points
scan in the shopping mall. Scans for Wi-Fi access points are
handled as a loop task in this thread. The thread is created
when SR is identified and terminated whenever the Wi-Fi
connection is disabled. The acquisition of access points’ signal
strength is handled in the WifiScanConnect class by a
ScanWifi() member function.
DWORD
__stdcall
WifiScanConnect::ScanThreadFunc(
void* pParam )
{ THREAD_PARAM
*pThreadParam
=
(THREAD_PARAM
*)pParam;
HANDLE hEvent = pThreadParam->hEvent;
WifiScanConnect
*pWifiScanConnect
=
(WifiScanConnect *)pThreadParam->lpObject;
while(WaitForSingleObject(hEvent,500)
==
WAIT_TIMEOUT)
{
pWifiScanConnect->ScanWifi();
}
return 0;
}
void WifiScanConnect::ScanWifi(void)
{
ULONG oidcode;
ULONG bytesreturned;
static BOOL bFlag = TRUE;
if(bFlag)
{
m_pBSSIDList
=
(NDIS_802_11_BSSID_LIST
*)VirtualAlloc(NULL,
sizeof(
NDIS_802_11_BSSID_LIST)
*
NUMBEROF_BSSIDS,
MEM_RESERVE | MEM_COMMIT,PAGE_READWRITE);
bFlag = FALSE;
}
if( m_pBSSIDList == NULL)
{
return;
}
else
{
memset(m_pBSSIDList,
0,
sizeof(
NDIS_802_11_BSSID_LIST) * NUMBEROF_BSSIDS);
oidcode = OID_802_11_BSSID_LIST_SCAN;
DeviceIoControl(m_handle,
IOCTL_NDIS_QUERY_GLOBAL_STATS,
&oidcode,sizeof( oidcode),
(ULONG *) NULL,0,&bytesreturned,NULL);
memset(
m_pBSSIDList,
0,
sizeof(
NDIS_802_11_BSSID_LIST) *NUMBEROF_BSSIDS);
oidcode = OID_802_11_BSSID_LIST ;
if(DeviceIoControl(m_handle,
IOCTL_NDIS_QUERY_GLOBAL_STATS,
&oidcode,
sizeof( oidcode),
(ULONG *) m_pBSSIDList,
sizeof(
NDIS_802_11_BSSID_LIST)
*
NUMBEROF_BSSIDS,
&bytesreturned,
NULL))
{
if (m_pBSSIDList != NULL)
{
EnterCriticalSection(&cs);
for(unsigned int i =0; i < m_pBSSIDList>NumberOfItems; i++)
{
SSIDSignal.clear();
SSID_SIGNAL_VALUE stSsidSignalValue;
int temp = i;
PNDIS_WLAN_BSSID cpBssid = m_pBSSIDList>Bssid;
while(temp != 0 )
{
cpBssid
=
(PNDIS_WLAN_BSSID)((char*)cpBssid
+
cpBssid>Length);
temp--;
}
strcpy_s(stSsidSignalValue.cWifiSsid,
NDIS_802_11_LENGTH_SSID,
(const char*)cpBssid->Ssid.Ssid);
stSsidSignalValue.lSignalValue
=
cpBssid>Rssi;
SSIDSignal.push_back(stSsidSignalValue);
}
LeaveCriticalSection(&cs);
}
}
3) Location Algorithm: The location server collects signal
strength signature observed by client devices to decide their
approximate position. To enable better efficiency, factors such
as computation time, accuracy and power consumption are
considered for the localization processes. The design reduces
computation time by only extracting useful information
required and optimizing location data storage. The method is
based on signal pattern matching using a radio map. Its
implementation is divided into two phases: Calibration Phase
and Online Positioning Phase.
During the calibration phase, the RSS of APs are
collected at different locations to construct radio maps.
Certain factors are predetermined during this phase. Due to
signal fluctuations or larger distances, some APs are not
always visible throughout the scan. Signals from these rogue
APs are often very weak or appear intermittently. A noise
filter is applied to remove the irrelevant rogue APs from the
input dataset to reduce unnecessary calculation. The noise
filter module sets a time t to record all RSS values and APs
detected. APs present most frequently within the time interval
are chosen. Time t has to be as short as possible to reduce
computation time while ensuring that sufficient information
and good RSS measurements are captured for location
estimation. Tests revealed optimal t to be at least 17 seconds.
The next criterion is to determine the number of relevant
APs n such that there are sufficient distinguishable APs to
determine the location. The condition for n is such that all the
locations are covered by at least n number of APs most of the
time. This ensures a minimum set of APs to distinguish
positions with reasonable accuracy. To minimize data search
complexity, a radio map clustering module is created to
reduce the search space required to return a result. It does so
by categorizing locations that shared the same set of APs
during calibration phase thereby cutting down on computation
time. Each group of locations is called a cluster. During the
online positioning phase, the module only searches the
relevant cluster which contains the detected APs instead of
probing the entire radio map search space for a match. Each
location cluster has at least q APs detected.
The matching of signal signature uses a method similar
to Nearest Neighbors in Signal Space (NNSS) pattern
recognition adopted in RADAR [8-10]. In general, k-Nearest
Neighbors (kNN) networks tessellate the input space by
setting weights and thresholds of first layer hidden neurons.
This is done by calculating the boundaries of space containing
points nearest the training pattern. Subsequent processing
layer handles the classification for the unknown input pattern
[11]. Three hidden layers of processing are applied. The first
layer is an input layer that distributes all input patterns.
Second layer provides feedback control input back to the first
layer. The final layer forms variable threshold neurons for
output classification. The kNN algorithm is adapted to
calculate the degree of match between calibrated RSS dataset
and online RSS signature. Euclidean distances are applied to
measure the similarity between two points M = (m1, m2, … ,
mn) and L = (l1,l2,…,ln):
The calibration data are compared with the signal
strength measurements in the mobile device during the online
positioning phase using:
5
where
: RSS values of APi at point j in the signal strength map,
: is the measured RSS value of APi ,
n: total number of APs.
Performance Analysis
The influence of the clustering module on computation
time was investigated using a test area divided into a 10x10
grid under Wi-Fi coverage of 6 randomly placed APs shown
in fig 4. Signal signature at each grid is recorded. By varying
cluster size q, a series of location cluster were formed to
reduce the search space.
Small dj distance value between a target location and an
identified location may signify close proximity between two
locations. The pattern matching implementation is as follows:
int PatternRec::LeastDistance(int ReNum)
{
double min = 10000;
for(int d=0; d<10; d++)
{
if(MatchData(type[d].Feature, InputNum)<min)
{
min = MatchData(type[d].Feature, InputNum);
ReNum = d;
}
}
LocNumber = ReNum;
return ReNum;
}
However, conventional NNSS method put together RSS
values from all known APs without considering RSS variation
from individual AP. Variations in RSS can influence d. Thus,
k lowest d values are considered to estimate true deviation.
The choice of k depends on the size of the dataset. Larger k
reduces the effect of noise on the classification but decrease
the ability to distinguish boundaries between classes. An
enhancement to NNSS [12] algorithm is integrated to take
into account the threshold for RSS variation around its mean,
θ and the maximum number of APs from which RSS varies
beyond that threshold, τ.
Input: sorted neighbor list of size S, where
begin
for m = 1 to k
begin
count=0
for i = 1 to n
begin
if (
count = count + 1
endfor
if (count
τ)
remove neighbor m from neighbor list
endfor
if (less than k entries in neighbor list)
return old list
else
return updated list
end
This enhanced NNSS technique is performed on the first
k entries of the input neighbor list sorted according to
Euclidean distance. Using cross-validation techniques, k = 3
was determined to be the optimal distinguishing parameter for
boundary determination purpose.
Fig 4 Wi-fi coverage of 6 randomly placed APs in test area.
No. of clusters formed
TABLE II
COMPARISON OF q
q=1
q=2
100
12
q=3
9
q=4
3
q=5
0
Largest cluster coverage
N.A.
20%
13%
14%
N.A.
Smallest cluster coverage
Average coverage
N.A.
N.A.
6%
11%
6%
8.40%
9%
11.3%
N.A.
N.A.
From Table II, q = 3 is most effective at reducing the
search boundary of the matching algorithm. This is, however,
not enough to draw conclusion about the computational
performance. Manual code instrumentation was applied to
establish the runtime for each execution to evaluate the effect
of cluster size and number of clusters. The software was
executed repeatedly to determine the computation
performance for various clusters. The program was adjusted
such that only the tested cluster is executed.
Table III shows the average time taken for different type
of clusters to complete the computation. Against the various
possible q values, q=3 offers the best performance across
different type of clusters except when cluster size is smallest.
TABLE III
AVERAGE TIME TAKEN TO COMPLETE CLUSTER COMPUTATION (ms)
First
Last
Smallest
Largest
Cluster
Cluster
Cluster
Cluster
17.5
19.9
18.6
16.9
q=2
16.6
19.3
22.7
16.9
q=3
20.5
21.2
20.5
19.4
q=4
q is set at 3 to achieve the optimal performance and an
average of 7% decrease in computation time is observed with
the use of the clustering module. The performance gain is
likely to be even more substantial in congested Wi-Fi
environment due to the added benefit from clustering large
number of APs.
Fig 5 Influence of q=2,3,4 (left to right) on computation time. The vertical axis represents the
computation time in milliseconds (ms). Horizontal axis represents the amount of executed runs.
6
Conclusion and Future Works
The concept and architecture of the iSARIS platform is
presented in this paper and its use is illustrated in a shopping
mall scenario. The optimal localization techniques in different
situations are determined by how radio wave transmissions
are affected in both indoor and outdoor environment. A
switching module toggle between primary and secondary
localization services during the detection of a service region.
Primary location service provided by cell identification based
technique can quickly identify a coarse region of physical
space. This space could be a building, a group of buildings or
other entities where cell identification level of positioning
performance is no longer acceptable. Secondary positioning
service through the Wi-Fi infrastructural cluster enhanced
kNN classifier provides additional positioning performance
and is used sparingly to avoid resource draining in this
shopping mall implementation. Further smart space
segmentation in the form of service areas are created where
independent service provider offers related online services.
By automating the transition process using the iSARIS
platform, the mobile offer a better and more seamless user
experience. This location based service provisioning design
offers a simple and practical approach to reduce service
engagement time and is suitable for mobile environment
where quick and efficient means of switching localization
control is required.
Current software distribution model requires user to
download the relevant applications in order to use a service.
Majority of applications downloaded to a mobile device are
often not used on a regular basis. To avoid this inefficiency, it
is also our intention to further develop the iSARIS platform to
implement a different application distribution model where
software applications are only sent to user when they are
needed. We hope to utilize the SA feature to determine a
smart area where any application of interest to the user will be
make available on the mobile when it enters the SA and
removed the instant the mobile leaves the relevant SA. The
possible benefit of this system is less storage as less
applications need to be installed in the mobile and indirectly
reducing the interface clutter experienced by user when too
many applications are downloaded. A further area of work we
are working on is to implement application recommender for
each smart space using user participation tags.
7
Acknowledgement
This research work is supported by the Singapore
National Research Foundation Interactive Digital Media R&D
Program, under research grant NRF2007IDM-IDM002-080.
8
References
[1]
Castro P, Chiu P, Kremenek T and Muntz R, A Probabilistic
Room Location Service for Wireless Networked Environments, presented at
the Ubicomp 2001: Ubiquitous Computing, 2001, pp. 18-34.
[2]
Barkhuus L, Brown B, Bell M, Sherwood S, Hall M and Chalmers
M, From awareness to repartee: sharing location within social groups,
presented at the Proceeding of the twenty-sixth annual SIGCHI conference
on Human factors in computing systems, Florence, Italy, 2008, pp. 497-506.
[3]
Trevisani E and Vitaletti A, Cell-ID Location Technique, Limits
and Benefits: An Experimental Study, presented at the Proceedings of the
Sixth IEEE Workshop on Mobile Computing Systems and Applications,
2004, pp. 51-60.
[4]
Kunczier H and Anegg H, Enhanced cell ID based terminal
location for urban area location based applications, Consumer
Communications and Networking Conference, 2004. CCNC 2004. First
IEEE, 2004, pp. 595-599.
[5]
Hofmann-Wellenhof B, Lichtenegger H and Collins J, Global
positioning System. Theory and Practice. 1993.
[6]
McDonald K, The modernization of GPS: plans, new capabilities
and the future relationship to Galileo, Journal of Global Positioning Systems,
2002; 1(1), pp. 1-17.
[7]
Richton B, Vannucci G and Wilkus S, Assisted GPS for Wireless
Phone Location — Technology and Standards. 2002, pp. 129-155.
[8]
Bahl P and Padmanabhan VN, RADAR: an in-building RF-based
user location and tracking system, INFOCOM 2000. Nineteenth Annual Joint
Conference of the IEEE Computer and Communications Societies.
Proceedings. IEEE, 2000, pp. 775-784 vol.2.
[9]
Bahl P, Padmanabhan VN and Balachandran A, Enhancements to
the RADAR User Location and Tracking System, Microsoft Research, 2000.
[10]
Bahl P, Padmanabhan VN and Balachandran A, A Software
System for Locating Mobile Users: Design, Evaluation, and Lessons,
Microsoft Research Technical Report MSR-TR-2000-12, 2000.
[11]
Yan Qiu C, Damper R.I and Nixon M.S, On neural-network
implementations of k-nearest neighbor pattern classifiers, Circuits and
Systems I: Fundamental Theory and Applications, IEEE Transactions on ,
vol.44, no.7, 1997, pp.622-629.
[12]
Tran Q, Tantra J, Foh C, Tan A, Yow K and Qiu D, Wireless
Indoor Positioning System with Enhanced Nearest Neighbors in Signal Space
Algorithm, IEEE Vehicular Technology Conference, 2006. VTC-2006 Fall,
2006, pp. 1-5.
[13]
Kelly D, Behan R, Villing R and McLoone S., Computationally
tractable location estimation on WiFi enabled mobile phones, Signals and
Systems Conference (ISSC 2009), IET Irish , 10-11 June 2009, pp.1-6.
[14]
Jayaraman P, Zaslavsky A and Delsing J, Intelligent Processing of
K-Nearest Neighbors Queries Using Mobile Data Collectors in a Location
Aware 3D Wireless Sensor Network. Trends in Applied Intelligent Systems,
Lecture Notes in Computer Science, 2010, pp. 260-270.