Co-operative Spatial Alarms CS 8803 AIAD Proposal Chaitali Dherange ( chaitali@cc.gatech.edu) Kripsa Mehta (kmehta3@mail.gatech.edu) Motivation: The dynamic nature of mobile users can be beautifully harnessed to allow for multiple functions. With mobile users all over the place and available technologies like GPS.NET and smart2go, Map Quest map based searches are in the buzz. Alarms have always been a necessity for completing a lot of our tasks. So far, we have been using alarms to wake us up, or as reminders for different things. But their nature has always remained temporal. It would be wonderful if we have an alarm for a location. And more so, imagine an alarm call saying “Hey there’s a ‘buy one get one free’ for Honey and Oat cornflakes” when you are just passing a particular Publix outlet!!!! More importantly, something like “The forms for the degree petition are available” when you are just passing College of Computing. These are, as you have guessed, location based alarms, aptly called ‘Spatial Alarms’ [1]. Spatial Alarms have been worked on by Anand Murugappan and Sarang Karandikar, at GTech. This concept has motivated us to extend this existing system to build what we call ‘Co-operative Spatial Alarms’. These alarms work for a group of people connected by the mobile device, who are dynamic and need not set up the Spatial alarms themselves!!! We intend to use the group settings of cell phone users (friend lists) to set spatial alarms for their entire list of friends. Hence when a user A sets a spatial alarm, all her friends within that spatial region, automatically “set” the same alarm on their cell phones. Thus, these alarms work cooperatively. Related Work: A lot of ground work in terms of Spatial Alarms [1] has been carried out in the past semesters. Continual Queries [2] form a major part of our system, with trigger condition being the setting of the alarm by user A on user B’s mobile device (through a server). The stop condition is when the alarm goes off, in the specified spatial co-ordinates. Apart from CQs, work related to location dependant services and geographic mapping technologies are also relevant. Nokia smart2go[3] is the latest application for Nokia users, allowing people to view where they are on a map, search for points-of-interests (POI) around them and create routes to get them there free of charge. Similarly, applications like Google Earth [4], and Microsoft’s Virtual Earth[5] and Streets & Trips 2007[6] are applications that utilize GIS services for rendering images from anywhere in the world. Proposed Work: System Design: GPS Satellite Server Region When the user begins the application, the UI would ask for some detail such as the area code of the area the alarm is to be set on. The corresponding map would be fetched from a map service like Microsoft MapPoint. The user can then mark the exact area where the alarm is to be set for. This will also set the cooperative spatial alarm on the user’s friends’ cell phones for the same area. The program on each of the client’s cell phones, constantly checks with the GPS if their location matches the spatial coordinates of the triggered area. Once this condition is satisfied, the alarm would go off notifying the user. Due to lack of hardware we would be using a simulator for the demo. The operations on the actual cell phones would be the same. The Cooperative Spatial Alarm software can be divided into three major parts: 1. Alarm Setting Interface: This is two-way interface that exists between the software and the user. Depending on the functions performed, this module can be divided into further parts: i. Location Specification: The user is allowed to specify the area code of the object on which he/she wishes to set the alarm. ii. Friend-list Specification: The user can also be asked to specify the list of his friends who need to be alarmed. iii. Alarm Set Acknowledgement: Once the server has set the alarms on the user’s friends’ mobile phones, it can inform the user about which friends were alarmed /informed. Alarm Setting Interface Network Module Location Specification and Map Rendering Map Fetching Friend list Specification Alarm Multiplier Acknowledgement Handling Cooperative Spatial Alarm Software AlarmSet Acknowledgement Alarm Activation Interface Location Identification and Alarm Activation Alarm off Acknowledgement 2. Alarm Activation Interface: i. Location Identification and Alarm Activation: Besides the interaction while setting an alarm, the software also needs to keep a track of the user’s current location and accordingly set the alarm. ii. Alarm off Acknowledgement: The user can also be noted every time one of his friends (from the user specified friend-list) enters the targeted region. 3. Network Module: The software needs a lot of work to be done by a server. It thus has components for the delegation of this work to the server: i. Map Fetching: Once the user has entered the area code, it is required to provide the user with the map, so that he/she can actually mark the area and set the alarm. ii. Alarm Multiplier: After the user has specified his friend-list, an alarm needs to be set on each of these. The server thus needs to be informed of the friend-list. iii. Acknowledgement Handling: The user also needs to be notified that one of his friends has entered the targeted region. Thus, when the alarm on any of the friends goes off, the server is notified who then reports it to the user who set the alarm. Plan of Action: Technologies: 1. Visual Studio 2003 – C#.Net :- for scripting the UI and integration. 2. GeoFrameworks GPS.NET [7] :- For obtaining maps without internet connectivity. 3. Microsoft Map Point[8] :- The web service for location retrieval and mapping. Testing /Evaluation Methods: 1. The system can be tested using based upon the usability of the UI. 2. The method of tracking used by the server for the user’s friends and alarm installation. 3. Alarm activation on both the user (if he/she wishes to be notified himself/herself) as well as for his/her friends at specified location. Deliverables: 1. Efficient Location Identification and alarm setting on specified friend list: The user specified friend list will automatically get the alarm installed on their mobile device when the user sets it. 2. Acknowledgement of alarm setting and alarm activation: Every time the user sets the alarm on his/her friends, he/she get an acknowledgement for both, alarm setting and also when the alarm was activated on his/her friend’s mobile device. 3. Due to lack of actual GPS enabled devices we intend to use an emulator. We intend to use the Microsoft Map Point SDK for this purpose. 4. Once set, a user can delete the alarm. His/her friends, where the alarm was installed, shall receive a notification about the deletion. Stretch Goals: 1. Our model does not include selection of the friends based upon their current location and then set the alarm on their mobile device. We intend to include that if time permits. 2. We intend to measure the performance of the system. Currently we are unsure of the features which we need to optimize or monitor. Future Enhancements: 1. There can be an option wherein, at a particular location, when the alarm goes off, the user might get an option of the other jobs which can be performed at that location. For instance: If there was an alarm at CoC, to collect forms, once activated, the user might be prompted “Do you want to get some coffee? “. This might require location based searching and database management at the server. 2. Dynamic Alarms: We can try to implement these alarms on moving objects, like the closest Marta Bus stop based upon the current location of the user. TimeLine: :- Week 1 :Familiarizing with Spatial Alarms system :- Week 3 :Learning MapPoint and GPS functions :- Week 6 and 7 :UI designing for location identifier, alarm setting and friend list specification April 20, 2007 February 19, 2007 :- Week 2 :Learning C# :- Week 9 :Documentatio n and leeway :- Week 4 and 5 :Web Services and Server functionality finalization :- Week 8 :Integration of server with UI and alarm activation References: 1. Spatial Alarms – Anand Murugappan and Sarang Karandikar. 2. MobiEyes: Distributed Processing of Continuously Moving Queries on Moving Objects in a Mobile System, Bugra Gedik, Ling Liu. 3. Nokia smart2go: http://www.smart2go.com/en/ 4. Google Earth: http://earth.google.com/ 5. Microsoft Virtual Earth: http://www.microsoft.com/virtualearth/default.mspx?s_cid=0002 6. Microsoft Streets & Trips 2007: http://www.microsoft.com/streets/ProductDetails.aspx?pid=001 7. GeoFrameworks GPS.NET: http://www.geoframeworks.com/DownloadProducts.aspx 8. Microsoft Map Point: http://www.microsoft.com/mappoint/products/2006/default.mspx