350 likes | 514 Views
Final Year Project LYU0301. Location-Based Services Using GSM Cell Information over Symbian OS. Mok Ming Fai CEG mfmok1@cse.cuhk.edu.hk Lee Kwok Chau CEG leekc1@cse.cuhk.edu.hk. Agenda. Project Motivation Work Review Middleware for Developers LBS API Design Cell Snap Distance Mapper
E N D
Final Year ProjectLYU0301 Location-Based Services Using GSM Cell Information over Symbian OS Mok Ming Fai CEG mfmok1@cse.cuhk.edu.hk Lee Kwok Chau CEG leekc1@cse.cuhk.edu.hk
Agenda • Project Motivation • Work Review • Middleware for Developers • LBS API Design • Cell Snap • Distance Mapper • Cell Analyzer • Reference Point Locator • AppGen • Sample Application • Improvement and Future Work
Motivation • Advanced positioning methods require: • extra cost to existing network / synchronization between base stations • special hardware to end users • telco-dependent • Not all LBSs need very accurate location information • GSM cell information (e.g. cell ID) is available in ordinary GSM handset • Symbian phone offers programming capability for general developers • Location estimation by GSM cell ID is adopted in our project
Overview of GSM Cell ID Location Estimation • Each base station has unique (loc ID, cell ID) pair • Main idea: each base station can somehow provide certain ‘information’ about a particular location • Advantages: • Simple implementation, only current registered cell stored locally in cell phone is required • Applicable on ordinary GSM phones • Without any support from telco Location: [50] Cell ID: [1004] Location: [50] Cell ID: [1002] Location: [50] Cell ID: [1003] Location: [50] Cell ID: [1001]
GSM Cell Change Method(Boundary / Line Based) GSM Cell Change Method in 1D Path(Point Based) Pure GSM Cell Information Location Estimation(Region Based) Detect registered cell change occurred at cell boundary Concentrate on specific cell changes (intersections between the path and the boundary) Evolution of Our Positioning Methods
Work Review • Use of cell change events for getting more reliable information at cell coverage boundary • Symbian programming on retrieving current registered cell ID • Experiment on CU campus (2D space) • Experiment on MTR / KCR route (1D path) • MTR Traveller as sample application • Cell Snap for facilitating cell data collection
Middleware • The proposed method is useful in different fields, but not just MTR / KCR route • To make the mechanism generic, middleware, including APIs and SDK, is provided for general LBS development • It reduces the development time and effort for both application developers and LBS content editors
LBS Application Programming Interface (API) • We define a set of APIs for LBS developers to make use of our mechanism through self-defined data structures and function calls • The interface should be platform-independent (i.e. applicable on any platforms with primitive data structures and not just limited to Symbian OS)
API Design • Helps developers in developing LBS applications • Encapsulates low level system calls so that developers can concentrate on logic implementation.
API Design • There are two major types of LBS: • Performs a particular action upon entering a specific location • Searches the nearest reference point relative to the current location CNetWorkInfo CLocationListener CProximity
API Design • CLocationListener • Keeps track on the location transition • Performs specific action when reaching selected locations • Allows developers to specify desired action to be taken by overriding a function
API Design • CProximity • Reads a location definition file • Determines the nearest reference point relative to current location
Some Definitions • Reference point: Place taken as a reference in Cell Snap for easy recognition during data processing after collection • Point of Interest (POI): Place that are interested in the application (e.g. railway station, bus stop, canteen)
Three Development Streams • Application developers who purely work on cell IDs with our APIs in a low-level manner • Application developers who want to save time on cell data collection and map distance measurement • LBS content builders who concern only and actions on cell changes (e.g. show a message if user enters/leaves a point of interest)
Three Development Streams(1) Developers fromlow-level interfaces
Three Development Streams(2) Application developers
Three Development Streams(3) Content builders
Cell Snap • Collection of cell data was done manually in the past • Cell Snap - a tool for automated cell data collection • Different reference points can also be captured by phone camera
Cell Snap • Cell Snap can only produce raw cell change event log 03/03/2004 9:59:16 AM: Starting cell collection by CellSnap... 0 s: Starting at Location: [ 130 ], Cell ID: [ 30852 ] 4 s: < CellSnap0001.jpg > Location: [ 130 ], Cell ID: [ 30852 ] 12 s: Location: [ 130 -> 130 ], Cell ID: [ 30852 -> 26391 ] 49 s: Location: [ 130 -> 130 ], Cell ID: [ 26391 -> 33731 ] ............. 129 s: < CellSnap0002.jpg > Location: [ 130 ], Cell ID: [ 33731 ] 321 s: Location: [ 130 -> 130 ], Cell ID: [33731 -> 5812 ] ............. 03/03/2004 10:08:54 AM: Stopping cell collection by CellSnap...
Cell Analyzer • Cell Analyzer is able to: • transform data into location definition file rather than text description • edit collected data • remove duplicates • combine data from different telco into a single output through mapping
Distance Mapper • The above APIs need to read in location definition file in order to achieve their goal • The cell data file generated by Cell Analyzer alone is not enough for the above purpose • Distance Mapper allows developers to either manually or automatically maps collected location points
Reference Point Locator • The usage is similar to Distance Mapper, but it is used to: • locate reference points into a map, and; • retrieve ref. points to x,y-coordinates mapping for application generation. • It is useful for application generation.
LBS Application Generation • A typical LBS application have two types of functions: • To keep track of interested cell changes and report to user (e.g. entering a new station for MTR Traveller), and; • To let user to specify a point of interest (POI) (e.g. engineering building) and acknowledge the user when he/she reaches a reference point containing that POI (e.g. central campus bus stop)
LBS Application Generation • AppGen is responsible to generate required source code with reference point list as input. • It allows develops to: • specify POIs for corresponding ref. point • browse the ref. points on an imported map • add text and image when entering ref. point
Layered View of Overall Development Generate LBS application (for content builders) Work with APIs convenient cell data processing Flexibility Work with low-level APIs Access cell information Convenience
Future Work and Improvement • Final implementation of AppGen • Sample application built from AppGen with real data for different telcos: CU bus route
Application developers Content builders Developers fromlow-level interfaces Conclusion • We have designed a set of APIs and toolkits for our positioning mechanism
Q&A Section • Thank you very much!