EETAC AppA new revolutionary software for EETAC’sstudents and teachers.This App comes with localization, routingmechanisms...
1. Concept                  Introduction to the                    2. How it works? Stories    application and user       ...
Explaining what offers ourApp                             3
» Offers orientation service inside the campus, where the user can explore the buildings and find the best route to go to ...
Giving an example of howthe App works                           5
» This Monday was about to start badly for Bob. Just landing from  London at 13:17 am, he could definitively not remember ...
Explaining the FlowDiagram of the layouts ofour App                            7
Local registrationStarting Point   Login (general)                                   Twitter loginFlow Diagram for Authent...
Starting Point   Explore Sites   Site    Site P.O.interest                                                                ...
Understanding the Entity-Relationship diagram                            10
6 entities                                                                        Location                                ...
Citing all the Technologiesused for the project                          12
Indoor possitioning                                         Show maps             HTTP/JSON               OAUTH           ...
Explaining what the App dowith Ericsson Maps API                        14
» Create maps using bulging plan and XML tags.» Indoor localization and navigation using predefined routes, Wi-Fi Aps loca...
» Add information using over lays                 » Room labels                 » Finish flag                 » Google Map...
Adding Security to the App                         17
» Challenge Implemented (SHA)                        » Token expires in 30min.» Unique token generation.                  ...
Communicating with theserver through a RESTClient Pattern                         19
The operating system may shut down the process.  » The processor could be destroyed in the middle of an   operation.  The ...
Good REST Client Pattern   21
Adding Cache mechanismto the App                         22
» Only image caching mechanism implemented   1. Download the image (write the outputstream of HTTP       GET).   2. Save i...
10 Dimensioning our App, through a Traffic Analisys                          24
γ               OFF state                  User’s                  activity                                      User’s   ...
Traffic Analisys   26
Traffic Analisys   27
What we know:                       70ms  Latency for• Get All Size is a packet of       downlink ≈35ms.  length: 3988 + ...
Traffic Analisys   29
Traffic Analisys   30
JSON Packet size50004000300020001000   0         1        10        19        28        37        46        55        64  ...
Users ActivityState   getALL Users activity   getZ                                            site ZTime(ms)     39       ...
State           getALL       Users activity        getZ       Users Activity site Z       OFFProbability    8,790000E-08  ...
PDF Session3.5 32.5 2                                                                    PDF Session1.5 10.5 0      40   8...
Traffic Analisys   35
11 Explain the tasks done; the tasks to be performed and the conclusions                          36
Tasks Performed  » Show EETAC Map (Ericsson)  » Indoor Positioning (Ericsson)  » Route to a Site (Ericsson)  » Twitter Int...
Tasks to be Performed  » Interaction between users  » View users profile and comments  » Integration with Facebook  » Add ...
Indoor positioning & routing  » Bad precission because of the Aps power. Some brands offer    better precission with their...
?   Questions?                 40
Upcoming SlideShare
Loading in...5
×

Indoor Positioning System

2,222

Published on

Indoor Positioning System for Android

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,222
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
238
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Indoor Positioning System

  1. 1. EETAC AppA new revolutionary software for EETAC’sstudents and teachers.This App comes with localization, routingmechanisms, social network and much more!
  2. 2. 1. Concept Introduction to the 2. How it works? Stories application and user experience 3. Workflow 4. Entity-Relashionship Diagrams with different aspects of the architecture of 5. TechnologiesTable of Contents the application. 6. Ericsson Maps 7. Security Most important technical aspects, explained in 8. Rest Client Pattern detail. 9. Cache mechanism 10. Traffic Analisys 11. Summary & Conclusions 2
  3. 3. Explaining what offers ourApp 3
  4. 4. » Offers orientation service inside the campus, where the user can explore the buildings and find the best route to go to any room.» Follows web 2.0  Users can enrich the App sending comments and P.O.I» Userful tool designed for Eetac students and teachers but also for visitors which don’t know the campus.» What is the difference with Foursquare and other similar apps? Indoor positioning and routing.Concept 4
  5. 5. Giving an example of howthe App works 5
  6. 6. » This Monday was about to start badly for Bob. Just landing from London at 13:17 am, he could definitively not remember the explications about how to reach the conference room. Luckily, he downloaded EetacApp before leaving, following his colleague’s advice. Within a few moments, the application gave him the quickest way to the place.» After the presentation of Urbanization in room V-212, the group was very pleased to see their friends have already taken pictures and upload them with the EETAC App, creating several threads about the main debated issues. Now, other students can see the gallery pictures and add some comments.Story 6
  7. 7. Explaining the FlowDiagram of the layouts ofour App 7
  8. 8. Local registrationStarting Point Login (general) Twitter loginFlow Diagram for Authentication 8
  9. 9. Starting Point Explore Sites Site Site P.O.interest Profile (everywhere)ActionBar Map Flow Diagram for general use 9
  10. 10. Understanding the Entity-Relationship diagram 10
  11. 11. 6 entities Location 1 1» Location: Where is the user 0..* 1 (dynamic)? User -id Site -id -name -username -descriptionWhere is a Site (static)? -password -surname Table: user_checkin (user_id | checkin_id) Check-in Table: site_checkin -num_checkins (site_id | checkin_id) -num_comments -description -id -floor -email 1 0..* -date 0..* 1 -building» User: User information. -set<Checkin> -set<Comment> -site -checkin_id -route_image -user -set<Picture> -set<Picture> -set<Checkin>» Site: Site information. 1 1 1 Table: site_picture» Check-in: Relates a User with (site_id | picture_id) 0..* Comment Picture a Site (dynamic). Table: user_comment (user_id | comment_id) -id 0..* 1 -id -text Table: picture_comment -author 0..* -author (picture_id | comment_id) -route_image» Picture: P.O.I related with a -date -user -user -date -picture -set<Comment> Site and a User. Table: user_picture (user_id | picture_id) 0..*» Comment: Comment related with a Site and a User.Entity-Relationship Diagram 11
  12. 12. Citing all the Technologiesused for the project 12
  13. 13. Indoor possitioning Show maps HTTP/JSON OAUTH Route calc. HTTP/JSON RESTMobile App Web Server Database TCP/IP Technologies Diagram 13
  14. 14. Explaining what the App dowith Ericsson Maps API 14
  15. 15. » Create maps using bulging plan and XML tags.» Indoor localization and navigation using predefined routes, Wi-Fi Aps localization and XML tags as elevators or stairs.Ericsson Maps API 15
  16. 16. » Add information using over lays » Room labels » Finish flag » Google Maps to Ericsson Indoor Maps by ZoomEricsson Maps API 16
  17. 17. Adding Security to the App 17
  18. 18. » Challenge Implemented (SHA) » Token expires in 30min.» Unique token generation. » For registering purposes, HTTPS should be used Eetac_challenge=long ID GET /date Eetac_challenge: 63fe6da0... date=”yyyyMMddHHmmssSS” Eetac_challenge=63fe6da0... 200 OK date=”2020134…” token=password=hash(date + hash(password))=42D11GP... POST /user/login Eetac_challenge: 63fe6da0… user token=password=hash(date + 200 OK or 403 FORBIDDEN hash(password)) user_id=2 If (server_token == client_token) return 200; Eetac_token=token else return 403; GET /site Eetac_token: 42D11GP... Security for Authentication 18
  19. 19. Communicating with theserver through a RESTClient Pattern 19
  20. 20. The operating system may shut down the process. » The processor could be destroyed in the middle of an operation. The UI is frozen by the Processor (not interactive). No memory or Database storage == bandwidth waste.Wrong REST Client Pattern 20
  21. 21. Good REST Client Pattern 21
  22. 22. Adding Cache mechanismto the App 22
  23. 23. » Only image caching mechanism implemented 1. Download the image (write the outputstream of HTTP GET). 2. Save in the SSDcard (cache). 3. Save in memory (SoftReference HashMap)» Before retrieving all data, retrieve a hashCode of it (no changes = no hashcode changes = no retrieving all data)» Save each request in the Content Provider » Good performance under 1MB of data on the Cursor Persistence == Requests == Battery consumtion Cache 23
  24. 24. 10 Dimensioning our App, through a Traffic Analisys 24
  25. 25. γ OFF state User’s activity User’s Get ALL activity on Sites site Z Get Site ZTraffic Analisys 25
  26. 26. Traffic Analisys 26
  27. 27. Traffic Analisys 27
  28. 28. What we know: 70ms  Latency for• Get All Size is a packet of downlink ≈35ms. length: 3988 + 86 = 4074 •  Unitary discrete time = bytes. 10ms.• Minimum packet size for Get Site Z: 158 + 86 = 244 bytes.• Estimated velocity at server output: 1Mbyte/s  getALL Transmission time ≈ 4ms <35ms  get Z Transmission time ≈0,25ms << 35ms• Ping between mobile device at the Eetac and the server: Traffic Analisys 28
  29. 29. Traffic Analisys 29
  30. 30. Traffic Analisys 30
  31. 31. JSON Packet size50004000300020001000 0 1 10 19 28 37 46 55 64 73 82 91 145 100 109 118 127 136 154 163 172 181 190 199 Series1 Traffic Analisys 31
  32. 32. Users ActivityState getALL Users activity getZ site ZTime(ms) 39 18 116 35 23 291 + Time slot = 10ms  Probability to stay in one state and to leave itExhaustive Analysis of the logs: Get the probability to go toward each state. Traffic Analisys 32
  33. 33. State getALL Users activity getZ Users Activity site Z OFFProbability 8,790000E-08 4,000000E-05 5,130000E-08 1,050000E-04 9,975860E-01Probability 0,00000879% 0,00400000% 0,00000513% 0,01050000% 99,75860000% Traffic Analisys 33
  34. 34. PDF Session3.5 32.5 2 PDF Session1.5 10.5 0 40 80 120 160 200 240 280 320 360 400 440 480 520 560 600 Traffic Analisys 34
  35. 35. Traffic Analisys 35
  36. 36. 11 Explain the tasks done; the tasks to be performed and the conclusions 36
  37. 37. Tasks Performed » Show EETAC Map (Ericsson) » Indoor Positioning (Ericsson) » Route to a Site (Ericsson) » Twitter Integration (OAuth) » Server persistence (Postgree + Hibernate) » REST client and Server communication (Spring and Jersey) » GET/PUT images from/to the server » GET/PUT/DELETE comments from/to the server » PUT/DELETE checkin from/to the serverTasks performed summary 37
  38. 38. Tasks to be Performed » Interaction between users » View users profile and comments » Integration with Facebook » Add dynamically a Site » Improve the “Go to” guide » Use more the Local Cache (Content Provider) » Integration with Google MapsTasks to be performed summary 38
  39. 39. Indoor positioning & routing » Bad precission because of the Aps power. Some brands offer better precission with their own hard&soft. Android (Client) » Since the life cycle of an Activity is managed by Android; the programmer should be careful. » Limitted memory space also should be taken into account. » Battery consumption should be taken into account. Rest Client Server » Difficulty to integrate Hibernate (learning curve).Conclusions 39
  40. 40. ? Questions? 40
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×