SlideShare a Scribd company logo
1 of 40
EETAC App
A new revolutionary software for EETAC’s
students and teachers.

This App comes with localization, routing
mechanisms, social network and much more!
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. Technologies
Table 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
Explaining what offers our
App




                             3
» 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
Giving an example of how
the 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 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
Explaining the Flow
Diagram of the layouts of
our App



                            7
Local registration
Starting Point   Login (general)




                                   Twitter login
Flow Diagram for Authentication                             8
Starting Point   Explore Sites   Site    Site P.O.interest




                                                                 Profile (everywhere)
ActionBar




                                   Map


 Flow Diagram for general use                                9
Understanding the Entity-
Relationship diagram




                            10
6 entities                                                                        Location

                                                                           1                     1

» Location: Where is the user         0..*
                                                                                                                                  1



  (dynamic)?                      User                                                                                  -id
                                                                                                                               Site

                              -id                                                                                       -name
                              -username                                                                                 -description
Where 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
Citing all the Technologies
used for the project




                          12
Indoor possitioning
                                         Show maps
             HTTP/JSON
               OAUTH
                                         Route calc.




                         HTTP/JSON
                           REST
Mobile App




                                              Web Server
                                                                    Database

                                                           TCP/IP




             Technologies Diagram                                        13
Explaining what the App do
with Ericsson Maps API




                        14
» 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
» Add information using over lays
                 » Room labels
                 » Finish flag
                 » Google Maps to Ericsson Indoor
                    Maps by Zoom




Ericsson Maps API                                 16
Adding Security to the App




                         17
» 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
Communicating with the
server through a REST
Client Pattern



                         19
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
Good REST Client Pattern   21
Adding Cache mechanism
to the App




                         22
» 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
10
 Dimensioning our
 App, through a Traffic
 Analisys




                          24
γ               OFF state




                  User’s
                  activity
                                      User’s
        Get ALL                       activity on
        Sites                         site Z
                             Get
                             Site Z




Traffic Analisys                                    25
Traffic Analisys   26
Traffic Analisys   27
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
Traffic Analisys   29
Traffic Analisys   30
JSON Packet size
5000

4000

3000

2000

1000

   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
User's Activity
State   getALL User's activity   getZ
                                            site Z

Time
(ms)     39       18 116         35       23 291          + Time slot = 10ms

  Probability to stay in one state and to leave it
Exhaustive Analysis of the logs: Get the probability to go toward each state.




  Traffic Analisys                                                              32
State           getALL       User's activity        getZ       User's Activity site Z       OFF

Probability    8,790000E-08    4,000000E-05       5,130000E-08      1,050000E-04          9,975860E-01

Probability   0,00000879%     0,00400000%        0,00000513% 0,01050000% 99,75860000%




  Traffic Analisys                                                                                       33
PDF Session
3.5


 3


2.5


 2

                                                                    PDF Session
1.5


 1


0.5


 0
      40   80 120 160 200 240 280 320 360 400 440 480 520 560 600




 Traffic Analisys                                                                 34
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 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 server


Tasks performed summary                                        37
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 Maps




Tasks to be performed summary                     38
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
?   Questions?




                 40

More Related Content

What's hot

Cs8383 oop lab manual-2019
Cs8383 oop lab manual-2019Cs8383 oop lab manual-2019
Cs8383 oop lab manual-2019Kayathri Devi D
 
Presentation on Wear OS (Android Wear)
Presentation on Wear OS (Android Wear)Presentation on Wear OS (Android Wear)
Presentation on Wear OS (Android Wear)Adwait Hegde
 
Gesture recognition technology
Gesture recognition technologyGesture recognition technology
Gesture recognition technologyKompal Neutan
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner GuideAndri Yadi
 
Report face recognition : ArganRecogn
Report face recognition :  ArganRecognReport face recognition :  ArganRecogn
Report face recognition : ArganRecognIlyas CHAOUA
 
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計Andrew Wu
 
Face recognition attendance system
Face recognition attendance systemFace recognition attendance system
Face recognition attendance systemNaomi Kulkarni
 
Introduction to Skia by Ryan Chou @20141008
Introduction to Skia by Ryan Chou @20141008Introduction to Skia by Ryan Chou @20141008
Introduction to Skia by Ryan Chou @20141008Ryan Chou
 
What Is An SDK?
What Is An SDK?What Is An SDK?
What Is An SDK?CleverTap
 
Develop a native application that uses GPS location.pptx
Develop a native application that uses GPS location.pptxDevelop a native application that uses GPS location.pptx
Develop a native application that uses GPS location.pptxvishal choudhary
 
Flutter & Firebase BootCamp.pdf
Flutter & Firebase BootCamp.pdfFlutter & Firebase BootCamp.pdf
Flutter & Firebase BootCamp.pdfShivamShrey1
 
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)Gelis Wu
 
Introduction to VoiceXml and Voice Web Architecture
Introduction to VoiceXml and Voice Web ArchitectureIntroduction to VoiceXml and Voice Web Architecture
Introduction to VoiceXml and Voice Web ArchitecturePaul Nguyen
 

What's hot (20)

French REXX
French REXXFrench REXX
French REXX
 
Cs8383 oop lab manual-2019
Cs8383 oop lab manual-2019Cs8383 oop lab manual-2019
Cs8383 oop lab manual-2019
 
Presentation on Wear OS (Android Wear)
Presentation on Wear OS (Android Wear)Presentation on Wear OS (Android Wear)
Presentation on Wear OS (Android Wear)
 
[React-Native Tutorial] Map
[React-Native Tutorial] Map[React-Native Tutorial] Map
[React-Native Tutorial] Map
 
Gesture recognition technology
Gesture recognition technologyGesture recognition technology
Gesture recognition technology
 
Full Stack Flutter Testing
Full Stack Flutter Testing Full Stack Flutter Testing
Full Stack Flutter Testing
 
google gemini.pdf
google gemini.pdfgoogle gemini.pdf
google gemini.pdf
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner Guide
 
Report face recognition : ArganRecogn
Report face recognition :  ArganRecognReport face recognition :  ArganRecogn
Report face recognition : ArganRecogn
 
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
 
Face recognition attendance system
Face recognition attendance systemFace recognition attendance system
Face recognition attendance system
 
Introduction to Skia by Ryan Chou @20141008
Introduction to Skia by Ryan Chou @20141008Introduction to Skia by Ryan Chou @20141008
Introduction to Skia by Ryan Chou @20141008
 
What is Flutter
What is FlutterWhat is Flutter
What is Flutter
 
What Is An SDK?
What Is An SDK?What Is An SDK?
What Is An SDK?
 
Image recognition
Image recognitionImage recognition
Image recognition
 
Develop a native application that uses GPS location.pptx
Develop a native application that uses GPS location.pptxDevelop a native application that uses GPS location.pptx
Develop a native application that uses GPS location.pptx
 
Flutter & Firebase BootCamp.pdf
Flutter & Firebase BootCamp.pdfFlutter & Firebase BootCamp.pdf
Flutter & Firebase BootCamp.pdf
 
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)
 
Flutter
FlutterFlutter
Flutter
 
Introduction to VoiceXml and Voice Web Architecture
Introduction to VoiceXml and Voice Web ArchitectureIntroduction to VoiceXml and Voice Web Architecture
Introduction to VoiceXml and Voice Web Architecture
 

Viewers also liked

Indoor Positioning Systems
Indoor Positioning SystemsIndoor Positioning Systems
Indoor Positioning SystemsProjectENhANCE
 
Real Time Locating Systems (RTLS, RFID, Bluetooth, Wi-Fi, UWB, GPS, IR, NFER,...
Real Time Locating Systems (RTLS, RFID, Bluetooth, Wi-Fi, UWB, GPS, IR, NFER,...Real Time Locating Systems (RTLS, RFID, Bluetooth, Wi-Fi, UWB, GPS, IR, NFER,...
Real Time Locating Systems (RTLS, RFID, Bluetooth, Wi-Fi, UWB, GPS, IR, NFER,...AnalyzeFuture
 
Indoor positioning and indoor navigation: 7 use cases
Indoor positioning and indoor navigation: 7 use casesIndoor positioning and indoor navigation: 7 use cases
Indoor positioning and indoor navigation: 7 use casesinfsoft GmbH
 
Wi-Fi based indoor positioning
Wi-Fi based indoor positioningWi-Fi based indoor positioning
Wi-Fi based indoor positioningSherwin Rodrigues
 
Precision (Indoor) Real Time Location Systems
Precision (Indoor) Real Time Location SystemsPrecision (Indoor) Real Time Location Systems
Precision (Indoor) Real Time Location SystemsPeter Batty
 
An Indoor Positioning System for Improved Action Force Command and Disaster M...
An Indoor Positioning System for Improved Action Force Command and Disaster M...An Indoor Positioning System for Improved Action Force Command and Disaster M...
An Indoor Positioning System for Improved Action Force Command and Disaster M...ulrich.walder
 
NavigIn: An Indoor Navigation System
NavigIn: An Indoor Navigation SystemNavigIn: An Indoor Navigation System
NavigIn: An Indoor Navigation SystemShivangi Gambhir
 
室內即時定位系統 Real Time Location System (RTLS) RFID
室內即時定位系統 Real Time Location System (RTLS) RFID室內即時定位系統 Real Time Location System (RTLS) RFID
室內即時定位系統 Real Time Location System (RTLS) RFIDjames 梁崇正
 
Indoor Radio Positioning Systems
Indoor Radio Positioning SystemsIndoor Radio Positioning Systems
Indoor Radio Positioning SystemsIEEEP Karachi
 
Whats the best micro-location technology? We compare: ibeacon, ble, nfc, qr a...
Whats the best micro-location technology? We compare: ibeacon, ble, nfc, qr a...Whats the best micro-location technology? We compare: ibeacon, ble, nfc, qr a...
Whats the best micro-location technology? We compare: ibeacon, ble, nfc, qr a...Localz
 
Precision Mobile Targeted Marketing
Precision Mobile Targeted MarketingPrecision Mobile Targeted Marketing
Precision Mobile Targeted MarketingTom Chesser
 
Nao Cloud quick start guide
Nao Cloud quick start guideNao Cloud quick start guide
Nao Cloud quick start guidealedev
 
Nao Logger fingerprinting guide
Nao Logger fingerprinting guideNao Logger fingerprinting guide
Nao Logger fingerprinting guidealedev
 
Positioning in Location Based Services
Positioning in Location Based ServicesPositioning in Location Based Services
Positioning in Location Based Servicesessi
 
[IoT] Internet das Coisas - O despertar dos objetos
[IoT] Internet das Coisas - O despertar dos objetos[IoT] Internet das Coisas - O despertar dos objetos
[IoT] Internet das Coisas - O despertar dos objetosCESAR
 
Sales Tracking and Retail Scheme Management System
Sales Tracking and Retail Scheme Management SystemSales Tracking and Retail Scheme Management System
Sales Tracking and Retail Scheme Management SystemRakesh Kumar
 
WLAN and Bluetooth Indoor Positioning System
WLAN and Bluetooth Indoor Positioning SystemWLAN and Bluetooth Indoor Positioning System
WLAN and Bluetooth Indoor Positioning SystemProjectENhANCE
 

Viewers also liked (20)

Indoor positioning system
Indoor positioning systemIndoor positioning system
Indoor positioning system
 
Indoor Positioning Systems
Indoor Positioning SystemsIndoor Positioning Systems
Indoor Positioning Systems
 
Real Time Locating Systems (RTLS, RFID, Bluetooth, Wi-Fi, UWB, GPS, IR, NFER,...
Real Time Locating Systems (RTLS, RFID, Bluetooth, Wi-Fi, UWB, GPS, IR, NFER,...Real Time Locating Systems (RTLS, RFID, Bluetooth, Wi-Fi, UWB, GPS, IR, NFER,...
Real Time Locating Systems (RTLS, RFID, Bluetooth, Wi-Fi, UWB, GPS, IR, NFER,...
 
Indoor positioning and indoor navigation: 7 use cases
Indoor positioning and indoor navigation: 7 use casesIndoor positioning and indoor navigation: 7 use cases
Indoor positioning and indoor navigation: 7 use cases
 
Wi-Fi based indoor positioning
Wi-Fi based indoor positioningWi-Fi based indoor positioning
Wi-Fi based indoor positioning
 
Indoor Navigation
Indoor NavigationIndoor Navigation
Indoor Navigation
 
Precision (Indoor) Real Time Location Systems
Precision (Indoor) Real Time Location SystemsPrecision (Indoor) Real Time Location Systems
Precision (Indoor) Real Time Location Systems
 
An Indoor Positioning System for Improved Action Force Command and Disaster M...
An Indoor Positioning System for Improved Action Force Command and Disaster M...An Indoor Positioning System for Improved Action Force Command and Disaster M...
An Indoor Positioning System for Improved Action Force Command and Disaster M...
 
NavigIn: An Indoor Navigation System
NavigIn: An Indoor Navigation SystemNavigIn: An Indoor Navigation System
NavigIn: An Indoor Navigation System
 
室內即時定位系統 Real Time Location System (RTLS) RFID
室內即時定位系統 Real Time Location System (RTLS) RFID室內即時定位系統 Real Time Location System (RTLS) RFID
室內即時定位系統 Real Time Location System (RTLS) RFID
 
Indoor Radio Positioning Systems
Indoor Radio Positioning SystemsIndoor Radio Positioning Systems
Indoor Radio Positioning Systems
 
Whats the best micro-location technology? We compare: ibeacon, ble, nfc, qr a...
Whats the best micro-location technology? We compare: ibeacon, ble, nfc, qr a...Whats the best micro-location technology? We compare: ibeacon, ble, nfc, qr a...
Whats the best micro-location technology? We compare: ibeacon, ble, nfc, qr a...
 
Precision Mobile Targeted Marketing
Precision Mobile Targeted MarketingPrecision Mobile Targeted Marketing
Precision Mobile Targeted Marketing
 
Nao Cloud quick start guide
Nao Cloud quick start guideNao Cloud quick start guide
Nao Cloud quick start guide
 
Nao Logger fingerprinting guide
Nao Logger fingerprinting guideNao Logger fingerprinting guide
Nao Logger fingerprinting guide
 
Positioning in Location Based Services
Positioning in Location Based ServicesPositioning in Location Based Services
Positioning in Location Based Services
 
[IoT] Internet das Coisas - O despertar dos objetos
[IoT] Internet das Coisas - O despertar dos objetos[IoT] Internet das Coisas - O despertar dos objetos
[IoT] Internet das Coisas - O despertar dos objetos
 
Sales Tracking and Retail Scheme Management System
Sales Tracking and Retail Scheme Management SystemSales Tracking and Retail Scheme Management System
Sales Tracking and Retail Scheme Management System
 
WLAN and Bluetooth Indoor Positioning System
WLAN and Bluetooth Indoor Positioning SystemWLAN and Bluetooth Indoor Positioning System
WLAN and Bluetooth Indoor Positioning System
 
Palestra forum iot
Palestra forum iotPalestra forum iot
Palestra forum iot
 

Similar to Indoor Positioning System

Iiw2007b Madsen 01
Iiw2007b Madsen 01Iiw2007b Madsen 01
Iiw2007b Madsen 01Paul Madsen
 
Zotonic presentation Erlang Camp Boston, august 2011
Zotonic presentation Erlang Camp Boston, august 2011Zotonic presentation Erlang Camp Boston, august 2011
Zotonic presentation Erlang Camp Boston, august 2011Arjan
 
How Signpost uses MongoDB for Tracking and Analytics
How Signpost uses MongoDB for Tracking and AnalyticsHow Signpost uses MongoDB for Tracking and Analytics
How Signpost uses MongoDB for Tracking and Analyticsmattinsler
 
MongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
MongoDB.local Sydney: Evolving your Data Access with MongoDB StitchMongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
MongoDB.local Sydney: Evolving your Data Access with MongoDB StitchMongoDB
 
Roma introduction and concepts
Roma introduction and conceptsRoma introduction and concepts
Roma introduction and conceptsLuca Garulli
 
Application Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomApplication Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomQConLondon2008
 
Four Problems You Run into When DIY-ing a “Big Data” Analytics System
Four Problems You Run into When DIY-ing a “Big Data” Analytics SystemFour Problems You Run into When DIY-ing a “Big Data” Analytics System
Four Problems You Run into When DIY-ing a “Big Data” Analytics SystemTreasure Data, Inc.
 
Memonic Architecture
Memonic ArchitectureMemonic Architecture
Memonic ArchitecturePatrice Neff
 
Semantic Technologies to Support the User-Centric Analysis of Activity Data
Semantic Technologies to Support the User-Centric Analysis of Activity Data  Semantic Technologies to Support the User-Centric Analysis of Activity Data
Semantic Technologies to Support the User-Centric Analysis of Activity Data Mathieu d'Aquin
 
Klout changing landscape of social media
Klout changing landscape of social mediaKlout changing landscape of social media
Klout changing landscape of social mediaDataWorks Summit
 
Serhiy Kalinets "Building Service Mesh with .NET Core"
Serhiy Kalinets "Building Service Mesh with .NET Core"Serhiy Kalinets "Building Service Mesh with .NET Core"
Serhiy Kalinets "Building Service Mesh with .NET Core"Fwdays
 
IS480 redSpot Final Presentation
IS480 redSpot Final PresentationIS480 redSpot Final Presentation
IS480 redSpot Final PresentationHui Lian
 
RESTful apps and services with ASP.NET MVC
RESTful apps and services with ASP.NET MVCRESTful apps and services with ASP.NET MVC
RESTful apps and services with ASP.NET MVCbnoyle
 
Esri Dev Summit 2009 Rest and Mvc Final
Esri Dev Summit 2009 Rest and Mvc FinalEsri Dev Summit 2009 Rest and Mvc Final
Esri Dev Summit 2009 Rest and Mvc Finalguestcd4688
 
使用 Prometheus 監控 Kubernetes Cluster
使用 Prometheus 監控 Kubernetes Cluster 使用 Prometheus 監控 Kubernetes Cluster
使用 Prometheus 監控 Kubernetes Cluster inwin stack
 

Similar to Indoor Positioning System (20)

Final presentation
Final presentationFinal presentation
Final presentation
 
Web 2.0 Futures
Web 2.0 FuturesWeb 2.0 Futures
Web 2.0 Futures
 
Iiw2007b Madsen 01
Iiw2007b Madsen 01Iiw2007b Madsen 01
Iiw2007b Madsen 01
 
Zotonic presentation Erlang Camp Boston, august 2011
Zotonic presentation Erlang Camp Boston, august 2011Zotonic presentation Erlang Camp Boston, august 2011
Zotonic presentation Erlang Camp Boston, august 2011
 
How Signpost uses MongoDB for Tracking and Analytics
How Signpost uses MongoDB for Tracking and AnalyticsHow Signpost uses MongoDB for Tracking and Analytics
How Signpost uses MongoDB for Tracking and Analytics
 
MongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
MongoDB.local Sydney: Evolving your Data Access with MongoDB StitchMongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
MongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
 
Roma introduction and concepts
Roma introduction and conceptsRoma introduction and concepts
Roma introduction and concepts
 
Application Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomApplication Services On The Web Sales Forcecom
Application Services On The Web Sales Forcecom
 
Four Problems You Run into When DIY-ing a “Big Data” Analytics System
Four Problems You Run into When DIY-ing a “Big Data” Analytics SystemFour Problems You Run into When DIY-ing a “Big Data” Analytics System
Four Problems You Run into When DIY-ing a “Big Data” Analytics System
 
Memonic Architecture
Memonic ArchitectureMemonic Architecture
Memonic Architecture
 
Semantic Technologies to Support the User-Centric Analysis of Activity Data
Semantic Technologies to Support the User-Centric Analysis of Activity Data  Semantic Technologies to Support the User-Centric Analysis of Activity Data
Semantic Technologies to Support the User-Centric Analysis of Activity Data
 
Klout changing landscape of social media
Klout changing landscape of social mediaKlout changing landscape of social media
Klout changing landscape of social media
 
Eetac App by BASTET
Eetac App by BASTETEetac App by BASTET
Eetac App by BASTET
 
Flutter-Dart project || Hotel Management System
Flutter-Dart project || Hotel Management SystemFlutter-Dart project || Hotel Management System
Flutter-Dart project || Hotel Management System
 
Serhiy Kalinets "Building Service Mesh with .NET Core"
Serhiy Kalinets "Building Service Mesh with .NET Core"Serhiy Kalinets "Building Service Mesh with .NET Core"
Serhiy Kalinets "Building Service Mesh with .NET Core"
 
IS480 redSpot Final Presentation
IS480 redSpot Final PresentationIS480 redSpot Final Presentation
IS480 redSpot Final Presentation
 
RESTful apps and services with ASP.NET MVC
RESTful apps and services with ASP.NET MVCRESTful apps and services with ASP.NET MVC
RESTful apps and services with ASP.NET MVC
 
Esri Dev Summit 2009 Rest and Mvc Final
Esri Dev Summit 2009 Rest and Mvc FinalEsri Dev Summit 2009 Rest and Mvc Final
Esri Dev Summit 2009 Rest and Mvc Final
 
Unit Testing 101
Unit Testing 101Unit Testing 101
Unit Testing 101
 
使用 Prometheus 監控 Kubernetes Cluster
使用 Prometheus 監控 Kubernetes Cluster 使用 Prometheus 監控 Kubernetes Cluster
使用 Prometheus 監控 Kubernetes Cluster
 

More from Didac Montero

Graphical display of statistical data on Android
Graphical display of statistical data on AndroidGraphical display of statistical data on Android
Graphical display of statistical data on AndroidDidac Montero
 
TU-Charts Project - First Spring
TU-Charts Project - First SpringTU-Charts Project - First Spring
TU-Charts Project - First SpringDidac Montero
 
Project Presentation - First Spring
Project Presentation - First SpringProject Presentation - First Spring
Project Presentation - First SpringDidac Montero
 

More from Didac Montero (6)

REST API
REST APIREST API
REST API
 
Graphical display of statistical data on Android
Graphical display of statistical data on AndroidGraphical display of statistical data on Android
Graphical display of statistical data on Android
 
TU-Charts Project - First Spring
TU-Charts Project - First SpringTU-Charts Project - First Spring
TU-Charts Project - First Spring
 
First spring
First springFirst spring
First spring
 
Project Presentation - First Spring
Project Presentation - First SpringProject Presentation - First Spring
Project Presentation - First Spring
 
Presentacion final
Presentacion finalPresentacion final
Presentacion final
 

Recently uploaded

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Indoor Positioning System

  • 1. EETAC App A new revolutionary software for EETAC’s students and teachers. This App comes with localization, routing mechanisms, social network and much more!
  • 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. Technologies Table 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
  • 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. Giving an example of how the App works 5
  • 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. Explaining the Flow Diagram of the layouts of our App 7
  • 8. Local registration Starting Point Login (general) Twitter login Flow Diagram for Authentication 8
  • 9. Starting Point Explore Sites Site Site P.O.interest Profile (everywhere) ActionBar Map Flow Diagram for general use 9
  • 11. 6 entities Location 1 1 » Location: Where is the user 0..* 1 (dynamic)? User -id Site -id -name -username -description Where 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. Citing all the Technologies used for the project 12
  • 13. Indoor possitioning Show maps HTTP/JSON OAUTH Route calc. HTTP/JSON REST Mobile App Web Server Database TCP/IP Technologies Diagram 13
  • 14. Explaining what the App do with Ericsson Maps API 14
  • 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. » Add information using over lays » Room labels » Finish flag » Google Maps to Ericsson Indoor Maps by Zoom Ericsson Maps API 16
  • 17. Adding Security to the App 17
  • 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. Communicating with the server through a REST Client Pattern 19
  • 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. Good REST Client Pattern 21
  • 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. 10 Dimensioning our App, through a Traffic Analisys 24
  • 25. γ OFF state User’s activity User’s Get ALL activity on Sites site Z Get Site Z Traffic Analisys 25
  • 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
  • 31. JSON Packet size 5000 4000 3000 2000 1000 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. User's Activity State getALL User's activity getZ site Z Time (ms) 39 18 116 35 23 291 + Time slot = 10ms  Probability to stay in one state and to leave it Exhaustive Analysis of the logs: Get the probability to go toward each state. Traffic Analisys 32
  • 33. State getALL User's activity getZ User's Activity site Z OFF Probability 8,790000E-08 4,000000E-05 5,130000E-08 1,050000E-04 9,975860E-01 Probability 0,00000879% 0,00400000% 0,00000513% 0,01050000% 99,75860000% Traffic Analisys 33
  • 34. PDF Session 3.5 3 2.5 2 PDF Session 1.5 1 0.5 0 40 80 120 160 200 240 280 320 360 400 440 480 520 560 600 Traffic Analisys 34
  • 36. 11 Explain the tasks done; the tasks to be performed and the conclusions 36
  • 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 server Tasks performed summary 37
  • 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 Maps Tasks to be performed summary 38
  • 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. ? Questions? 40