Investigation in the development of Investigation in the development of Standalone Location Based ServicesStandalone Location Based Services
Nkululeko GojelaNkululeko GojelaSupervisor: Dr Hannah ThinyaneSupervisor: Dr Hannah Thinyane
FINAL PROJECT FINAL PROJECT PRESENTATIONSPRESENTATIONS
Presentation Outline
• IntroductionIntroduction• Problem StatementProblem Statement• Project ObjectivesProject Objectives• ImplementationImplementation• Reporte on FindingsReporte on Findings• ConclusionConclusion• Future WorkFuture Work• Questions?Questions?
Introduction
• Location Based Services (LBS) depend of location Location Based Services (LBS) depend of location information of subjects.information of subjects.
• Mobile devices are a suitable platform for hosting Mobile devices are a suitable platform for hosting LBS.LBS.
• LBS implementations:LBS implementations:– LBS with a supporting aggregation infrastructure.LBS with a supporting aggregation infrastructure.– Standalone LBSStandalone LBS
Standalone vs Aggregator Based Services
Location Location Content Content ProviderProvider
Location Location InformationInformationServerServer(Aggregator)(Aggregator)
Project Objectives
• Examine the methods used for locating devices and:Examine the methods used for locating devices and:– How information available divides the types of How information available divides the types of
services that can be developed.services that can be developed.• Explore the extent of portability of LBS services given Explore the extent of portability of LBS services given
current technologies.current technologies.• Develop a service that can used test for the above Develop a service that can used test for the above
mentioned.mentioned.
Adopted Approach
• Developed service to be run on two layers of mobiles Developed service to be run on two layers of mobiles devices:devices:
– SIM Card LayerSIM Card Layer: would guarantee PORTABILITY: would guarantee PORTABILITY
– Application LayerApplication Layer: Access to devices capabilities, GPS unit, : Access to devices capabilities, GPS unit, lesser memories restrictions, etc.lesser memories restrictions, etc.
LoxionSys Application – Java CardLoxionSys Application – Java Card• Initial idea to develop the service as a Initial idea to develop the service as a
Java Card Applet:Java Card Applet:
– Java Card provides commands that are Java Card provides commands that are used to interaction with the SIM card.used to interaction with the SIM card.
– Card performs instructions and returns Card performs instructions and returns result. result. • PROVIDE LOCAL INFORMATION pro-cmd
command – Card is “proactive” – initiates the Card is “proactive” – initiates the
commands by itself.commands by itself.
LoxionSys Application – Java CardPROVIDE 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 This means that we are able get the current CELLID from the network.current CELLID from the network.
LoxionSys Application – Java Card• Issue with this approach:Issue with this approach:
– Operator SIM Cards encrypted and locked Operator SIM Cards encrypted and locked down.down.• No way to test unless operator buy in. No way to test unless operator buy in.
– Complication with Development Complication with Development environment led to inability to continue environment led to inability to continue with development.with development.
• But given the CELLID from the But given the CELLID from the network, we are able to approximate network, we are able to approximate the location of the device.the location of the device.
• By knowing the CELLID and knowing By knowing the CELLID and knowing the CELL position.the CELL position.
• Open source projects such as Open source projects such as OpenCellID we can find the location of OpenCellID we can find the location of the GSM cell.the GSM cell.
LoxionSys Application – Java ME • Reminder services developed in Java Reminder services developed in Java
ME.ME.
• Java ME because of wide support by Java ME because of wide support by mobile device manufacturers.mobile device manufacturers.– Greater chances of portability than other Greater chances of portability than other
languages.languages.– Support Location Based Services: Support Location Based Services: JSR-179 JSR-179
Location API for J2ME Specification and it’s Location API for J2ME Specification and it’s implementation.implementation.
LoxionSys cont…
• Services allow users to:Services allow users to:– Current location information (Coordinates)Current location information (Coordinates)– View position on Google Maps Static View position on Google Maps Static
Images.Images.– Set Landmarks are current locations.Set Landmarks are current locations.– Trigger Events (Vibrate, Alert Messages, Trigger Events (Vibrate, Alert Messages,
SMS Message) on proximity to landmarks.SMS Message) on proximity to landmarks.
LoxionSys cont…
• Java ME defines the Location API with Java ME defines the Location API with the features needs for the developed the features needs for the developed of LBS:of LBS:– Discovery of Current locationDiscovery of Current location– Landmark Landmark – Proximity listenersProximity listeners– Location listenersLocation listeners– Address data associates with landmarks. s.Address data associates with landmarks. s.
LoxionSys cont…
LoxionSys cont…
• However not all mobile devices have However not all mobile devices have GPS support and therefore implement GPS support and therefore implement the Location API.the Location API.
• Alternative method is Network Alternative method is Network Positioning.Positioning.
• However position information is only However position information is only available to network operators.available to network operators.
• By making use of system properties, By making use of system properties, we can find the CellID the devices is we can find the CellID the devices is connected to.connected to.
LoxionSys cont…• Because there is no implementation Because there is no implementation
where there is no GPS unit, Landmark where there is no GPS unit, Landmark storage is provided through the Java ME storage is provided through the Java ME RMS.RMS.
• This allows us similar functionality This allows us similar functionality provided by the Location API.provided by the Location API.
• Other functions include:Other functions include:– View location on Google Static MAPSView location on Google Static MAPS– Select desired reminder type [Vibrate Select desired reminder type [Vibrate
devices, Send SMS, Flash Backlight]devices, Send SMS, Flash Backlight]– Possibly looking at ability to send new Possibly looking at ability to send new
CellIDs and coordinates to OpenCellID CellIDs and coordinates to OpenCellID Database.Database.
FindingsFindings
• Portability is not completely possible due to different Portability is not completely possible due to different manufacturers implementation of Java manufacturers implementation of Java Specifications.Specifications.
• Even though the GPS unit enables short range Even though the GPS unit enables short range services: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.
FindingsFindings
• Using CellID would enable for LBS where area Using CellID would enable for LBS where area covered is larger. e.g. Weather Services.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:Examine the methods used for locating devices and:– How information available divides the types of How information available divides the types of
services that can be developed.services that can be developed.• Explore the extent of portability of LBS services given Explore the extent of portability of LBS services given
current technologies.current technologies.• Develop a service that can used test for the above Develop a service that can used test for the above
mentioned.mentioned.
Conclusion
• The adoption of Java by mobile device The adoption of Java by mobile device manufacturers provide a step towards portability. manufacturers provide a step towards portability.
• Evidence of completely portability not a available.Evidence of completely portability not a available.
• Type location information available divides the types Type location information available divides the types of services that can be developed.of services that can be developed.
Future Work
• Future explore the development of LBS on the Java Future explore the development of LBS on the Java Card.Card.– Whether some of the challenges on the application layer Whether some of the challenges on the application layer
are eliminated on the SIM Card layer.are eliminated on the SIM Card layer.
• Security related issue with standalone LBS and Security related issue with standalone LBS and proposed solution for them.proposed solution for them.
Questions