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 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… 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. Questions