210 likes | 293 Views
Investigation in the development of Standalone Location Based Services. FINAL PROJECT PRESENTATIONS. Nkululeko Gojela Supervisor: Dr Hannah Thinyane. Presentation Outline. Introduction Problem Statement Project Objectives Implementation Reporte on Findings Conclusion Future Work
E N D
Investigation in the development of Standalone Location Based Services FINAL PROJECT PRESENTATIONS Nkululeko Gojela Supervisor: Dr Hannah Thinyane
PresentationOutline • Introduction • Problem Statement • Project Objectives • Implementation • Reporte on Findings • Conclusion • Future Work • Questions?
Introduction • Location Based Services (LBS) depend of location information of subjects. • Mobile devices are a suitable platform for hosting LBS. • LBS implementations: • LBS with a supporting aggregation infrastructure. • Standalone LBS
Standalone vs Aggregator Based Services Location Content Provider Location Information Server (Aggregator)
Project Objectives • Examine the methods used for locating devices and: • How information available divides the types of services that can be developed. • Explore the extent of portability of LBS services given current technologies. • Develop a service that can used test for the above mentioned.
Adopted Approach • Developed service to be run on two layers of mobiles devices: • SIM Card Layer: would guarantee PORTABILITY • Application Layer: Access to devices capabilities, GPS unit, lesser memories restrictions, etc.
LoxionSys Application – Java Card • Initial idea to develop the service as a Java Card Applet: • Java Card provides commands that are used to interaction with the SIM card. • Card performs instructions and returns result. • PROVIDE LOCAL INFORMATION pro-cmd command • Card is “proactive” – initiates the commands by itself.
LoxionSys Application – Java Card PROVIDE LOCAL INFORMATION pro-cmd command private void MyLocalInfo() throws ToolkitException { ProactiveHandler ph = ProactiveHandler.getTheHandler(); ph.init(PRO_CMD_PROVIDE_LOCAL_INFORMATION, (byte)0x00, DEV_ID_ME); ph.send(); } Command qualifiers: '00' = Location Information according to current NAA; '01' = IMEI of the terminal; '02' = Network Measurement results according to current NAA; '03' = Date, time and time zone; • This means that we are able get the current CELLID from the network.
LoxionSys Application – Java Card • Issue with this approach: • Operator SIM Cards encrypted and locked down. • No way to test unless operator buy in. • Complication with Development environment led to inability to continue with development. • But given the CELLID from the network, we are able to approximate the location of the device. • By knowing the CELLID and knowing the CELL position. • Open source projects such as OpenCellID we can find the location of the GSM cell.
LoxionSys Application – Java ME • Reminder services developed in Java ME. • Java ME because of wide support by mobile device manufacturers. • Greater chances of portability than other languages. • Support Location Based Services: JSR-179 Location API for J2ME Specification and it’s implementation.
LoxionSys cont… • Services allow users to: • Current location information (Coordinates) • View position on Google Maps Static Images. • Set Landmarks are current locations. • Trigger Events (Vibrate, Alert Messages, SMS Message) on proximity to landmarks.
LoxionSys cont… • Java ME defines the Location API with the features needs for the developed of LBS: • Discovery of Current location • Landmark • Proximity listeners • Location listeners • Address data associates with landmarks. s.
LoxionSys cont… • However not all mobile devices have GPS support and therefore implement the Location API. • Alternative method is Network Positioning. • However position information is only available to network operators. • By making use of system properties, we can find the CellID the devices is connected to.
LoxionSys cont… • Because there is no implementation where there is no GPS unit, Landmark storage is provided through the Java ME RMS. • This allows us similar functionality provided by the Location API. • Other functions include: • View location on Google Static MAPS • Select desired reminder type [Vibrate devices, Send SMS, Flash Backlight] • Possibly looking at ability to send new CellIDs and coordinates to OpenCellID Database.
Findings • Portability is not completely possible due to different manufacturers implementation of Java Specifications. • Even though the GPS unit enables short range services: • Some of the challenges with accuracy as different response was received with different GPS equipped devices. • Non-GPS equipped device get excluded from these services, but no evidence of no portability between GPS equipped devices.
Findings • Using CellID would enable for LBS where area covered is larger. e.g. Weather Services. • Whoever some challenge around some manufacturer specific implementations limit portability: • System.getProperty("CellID"); //Retrieve CellID form network • System.getProperty("com.nokia.mid.cellid"); //For Nokia
Project Objectives • Examine the methods used for locating devices and: • How information available divides the types of services that can be developed. • Explore the extent of portability of LBS services given current technologies. • Develop a service that can used test for the above mentioned.
Conclusion • The adoption of Java by mobile device manufacturers provide a step towards portability. • Evidence of completely portability not a available. • Type location information available divides the types of services that can be developed.
Future Work • Future explore the development of LBS on the Java Card. • Whether some of the challenges on the application layer are eliminated on the SIM Card layer. • Security related issue with standalone LBS and proposed solution for them.