View
212
Download
0
Category
Tags:
Preview:
Citation preview
Blue Tears ProjectBlue Tears Project
Bluetooth Tracking: Bluetooth Tracking: Distributed Information Distributed Information
SystemsSystems
IntroductionIntroduction
Bluetooth tracking systemBluetooth tracking system Approximate trackingApproximate tracking BT is limited to a 10m radiusBT is limited to a 10m radius Transfer rate 3mb/sTransfer rate 3mb/s 90% of current cell phones & 90% of current cell phones &
smartphones have Bluetooth tech built-in.smartphones have Bluetooth tech built-in. Not limited to just phones. Can track all Not limited to just phones. Can track all
BT devicesBT devices
Bluetooth Tracking SystemBluetooth Tracking System
Approximate location trackingApproximate location tracking 4 major parts4 major parts
Bluetooth Discovery Access point, Bluetooth Bluetooth Discovery Access point, Bluetooth Access point, Central server and Data Base.Access point, Central server and Data Base.
Uses a WIFI connection for RMI Uses a WIFI connection for RMI connectionconnection
RMI used to communicate with Server RMI used to communicate with Server and Access pointsand Access points
Bluetooth Tracking Bluetooth Tracking System(cont)System(cont)
Tracking by floor levels Tracking by floor levels Scenarios which could use BTT systemScenarios which could use BTT system
Tracking traffic in mallsTracking traffic in malls Distribution of man powerDistribution of man power ““finding babies”finding babies” Data mining, commonly traveled routesData mining, commonly traveled routes Clocking in/out systemClocking in/out system Locating medical devices/patients/doctorsLocating medical devices/patients/doctors
Bluetooth Tracking Bluetooth Tracking System(cont)System(cont)
Coded in JAVACoded in JAVA Using Bluecove Java library for Using Bluecove Java library for
Bluetooth Bluetooth JSR-82 implementation JSR-82 implementation Bluecove provides interface to Bluecove provides interface to
application profiles:application profiles: SDAPSDAP RFCOMMRFCOMM OBEXOBEX *information provided by Bluecove.org*information provided by Bluecove.org
The ApproachThe Approach
Other tracking systems use two way Other tracking systems use two way communication between client and servercommunication between client and server
Some send request to find current location Some send request to find current location onlyonly
Fairly simple, lose valuable data, and Fairly simple, lose valuable data, and requires a lot of client input. requires a lot of client input.
Our approach keeps track of the client’s Our approach keeps track of the client’s movements (currently up to the last 10 movements (currently up to the last 10 access points)access points)
The ApproachThe Approach
Closest neighbor algorthimClosest neighbor algorthim Avoid overloading the AP with devices to checkAvoid overloading the AP with devices to check Guess the next possible AP the client could Guess the next possible AP the client could
come acrosscome across Client is transparent to tracking system, Client is transparent to tracking system,
little to no input from end userlittle to no input from end user Uses registered Bluetooth address rather Uses registered Bluetooth address rather
than continuous Device Discovery (upto than continuous Device Discovery (upto 90sec to discover device)90sec to discover device)
Majority of computation on the Server side, Majority of computation on the Server side, putting less stress on the client and APputting less stress on the client and AP
Closest NeighbourClosest Neighbour
Access Point
1
Access Point
1
Access Point
5
Access Point
5
Access Point
4
Access Point
4
Access Point
2
Access Point
2
Access Point
3
Access Point
3
Closest NeighbourClosest Neighbour
Access Point
1
Access Point
1
Access Point
5
Access Point
5
Access Point
4
Access Point
4
Access Point
2
Access Point
2
Access Point
3
Access Point
3
Closest NeighbourClosest Neighbour
Access Point
1
Access Point
1
Access Point
5
Access Point
5
Access Point
4
Access Point
4
Access Point
2
Access Point
2
Access Point
3
Access Point
3
Closest NeighbourClosest Neighbour
Access Point
2
Access Point
2
Access Point
1
Access Point
1
Access Point
n’
Access Point
n’
Access Point
n
Access Point
n
Access Point
3
Access Point
3
ap5
ap5
ap4
ap4
Object DiagramObject Diagram
mySqlmySqlServerServer
ManagerManager
RMI CommunicationRMI Communication interfacesinterfaces
ManagerInterfaceManagerInterface
AccessPoint
Interface
AccessPoint
Interface
Access Point 1Access Point 1
Access Point nAccess Point n…….....
Client1
Client1
Clientn
Clientn….
ComponentsComponents
4 major components4 major components Bluetooth access pointsBluetooth access points Bluetooth init access pointsBluetooth init access points Central ServerCentral Server Data BaseData Base
Future componentsFuture components Client software Client software
Bluetooth Init Access PointBluetooth Init Access Point
Client would register their Bluetooth device, Client would register their Bluetooth device, usually cell/smart phoneusually cell/smart phone
Client sets device to discovery for a minute Client sets device to discovery for a minute and waits for conformationand waits for conformation
Ap continues checking for new devicesAp continues checking for new devices Once discovered is then searched to see what Once discovered is then searched to see what
services as availableservices as available This could take upwards to 30 – 90 secs This could take upwards to 30 – 90 secs
depending on demand and device transfer ratedepending on demand and device transfer rate Current version is not configured to run Current version is not configured to run
continuously. continuously.
Bluetooth Init Access PointBluetooth Init Access Point
Once the Ap gathers all the required Once the Ap gathers all the required information an update is sent to the information an update is sent to the Database.Database.
Ideally you need to register only Ideally you need to register only once and your Bluetooth address is once and your Bluetooth address is stored for future usestored for future use
Bluetooth Access PointsBluetooth Access Points
Waiting for server to allocate Waiting for server to allocate bluetooth address for it to “ping”bluetooth address for it to “ping”
Continues to try pinging bluetooth Continues to try pinging bluetooth addressaddress
If found it sends a response to server If found it sends a response to server that it’s found the device at the ap that it’s found the device at the ap locationlocation
Requires only one “ping” response. Requires only one “ping” response.
Central ServerCentral Server
Consists of the AP manager, Server Consists of the AP manager, Server and Data base managerand Data base manager
Server inits all servicesServer inits all services AP manager registers AP and AP manager registers AP and
delegates which AP to search which delegates which AP to search which Bluetooth addressBluetooth address
AP manager organizes all input AP manager organizes all input information from APinformation from AP
Central ServerCentral Server
Database Manager updates and Database Manager updates and extracts information from the DBextracts information from the DB Mapping AP ZonesMapping AP Zones Bluetooth Address and tracking history Bluetooth Address and tracking history
AssumptionsAssumptions
The client is not sprinting across the The client is not sprinting across the Bluetooth Access pointsBluetooth Access points
Client within an access point range at all Client within an access point range at all timestimes
Access points don’t overlap (due to java Access points don’t overlap (due to java constraints)constraints)
Bluetooth address attribute is not altered Bluetooth address attribute is not altered during the sessionduring the session
Access points are mapped by installer and Access points are mapped by installer and updated to the Database manually.updated to the Database manually.
CrashesCrashes
No failsafe for failed APNo failsafe for failed AP Possible solution: if hardware fails reach Possible solution: if hardware fails reach
out to the downed AP’s neighbors. out to the downed AP’s neighbors. Software fail: thread is recreated if it dies. Software fail: thread is recreated if it dies.
Server fails Server fails Possible solution Leader algorthim Possible solution Leader algorthim
AP fitted with central server services and AP fitted with central server services and fights for control/leadership. fights for control/leadership.
Bluetooth specsBluetooth specs
10 meters radius10 meters radius Transfer 3mb/sTransfer 3mb/s One tenth the power and range used One tenth the power and range used
for WIFIfor WIFI Limited connection, 7 connectionLimited connection, 7 connection Industrial BT AP up to 24 connectionIndustrial BT AP up to 24 connection
ConstraintsConstraints
For the demoFor the demo- Limited to 3 access points (ideally we Limited to 3 access points (ideally we
would like to have 10s – 100s of access would like to have 10s – 100s of access points spread across a large area)points spread across a large area)
- Limited to 1 clientLimited to 1 client- Bluetooth Adapters limited to one Bluetooth Adapters limited to one
connection at a time. Hardware limitation connection at a time. Hardware limitation can be resolved with industrial BT access can be resolved with industrial BT access pointspoints
Constraints (cont)Constraints (cont)
Client software, different sdk for Client software, different sdk for different phones.different phones.
DifficultiesDifficulties
Interface with JSR-82Interface with JSR-82 Use bluecove java libUse bluecove java lib
Hardware requirements, not enough to test Hardware requirements, not enough to test withwith No solutionNo solution
Java can not detect range and signal strenght – Java can not detect range and signal strenght – lower level languageslower level languages
AP overlapping while testingAP overlapping while testing Make sure no AP’s overlapMake sure no AP’s overlap
DemoDemo
Recommended