TrackMe Presenting: Nir Maoz & George Pleener Directed by: Edward Bortnikov.
-
date post
21-Dec-2015 -
Category
Documents
-
view
220 -
download
0
Transcript of TrackMe Presenting: Nir Maoz & George Pleener Directed by: Edward Bortnikov.
The IdeaUsing real wireless data to run in simulations, for different algorithms.Comparing the effectiveness of different algorithms on real data.
CRAWDAD: Data CollectedData collected at Dartmouth college by keeping track of the access points a student switches through during his stay at the campus.A textual database, ~200MB in size.
There are larger versions. We used the smallest one available.
CRAWDAD: WiFi NetworkAbout ~6,000 students had participated.623 access points.
19% of which had an unknown location.
AP DB format: {AP_Name, x, y, z}
AP1XYZAP2XYZ
AP Database
Movement Database~6,000 files - one per student/user.Every reassignment is written as a row.MV DB format: {Time, AP}
Time in timestamp format.
Time 1AP_1Time 2AP_2
MV Database
(per one user)
CRAWDAD: AP Interpolation623 access points.
19% of which had an unknown location – problematic APs.
Filling in the gaps: An iterative algorithm that runs through the movement DB and finds references to problematic APs, attempting to fix their location.
CRAWDAD: AP Interpolation
AP_1 X=10
AP_2 X=??
AP_3 X=20
1 0 211
2 1,
2
i i i
i
i X X XX i
i
0
1
2
AP_2 X=15
CRAWDAD: AP InterpolationInspecting user paths, looking for problematic APs surrounded by known APs.Using a recursive formula for finding the AP’s location, using it’s history and the surrounding known APs.
1 0 211
For each AP:
2 1,
2
i i i
i
i X X XX i
i
0,1,2indexiterationX
CRAWDAD: AP ConnectionThe mesh network is made out of ~600 APs.Maximal transmission distance was taken to be 133.8 meters.
This is the minimum for insuring complete network connectivity.
SimulationEvery time slot (100 sec) a server reassignment might occur, depending on the algorithm.
If the server assignment changes, we pay a setup cost for setting up the new link and hold cost for the rest of the time slot.In case of no change, only hold cost is paid.
Cost ModelAll algorithms use a shortest path algorithm, to find the path to the closest server.Each hop from AP to AP, along the path, results in a 1% packet loss, due to wave transmission.Setup Cost
Setup takes 1sec. Hence – cost = 640 packets.Hold Cost
By the formula:640 1%
sec
packetshold_cost t hops
Movements (Greedy Example)
23 14
Current AP:
Current Server:
Hops (Length):
1
1
1
SRV 2 SRV 1
2
2
1
3
2
2
4
1
1
Greedy AlgorithmIdea – always choose the shortest path in that
moment.
Each second the algorithm checks to see if there is a better (less hops) server assignment for the user.
If so – switch,Otherwise – stay.
CTrack AlgorithmIdea – force the user to stay at a server for some
minimal amount of time. If user is irritable – stalling the decision might be a good idea.
Requires the user to stay for a minimal amount of time at each server, before switching.
Even when there is a closer server, as opposed to the greedy algorithm.
DTrack AlgorithmIdea – at any time, check what the gain would have
been if the user was attached to another server.
Each second the algorithm checks how much the user would have benefited if he were attached to a different server. This value is called the deficit.When the deficit grows above some predefined value - switch to the closest server.
Optimal AlgorithmIdea – find the best possible assignment to servers
along the user’s path. In essence, find the optimal solution to our problem.
This is the best offline algorithm.Using this algorithm is possible only if we know the entire path the user takes in advance (e.g. offline).Uses dynamic programming to find the optimal assignment to servers, filling it in, going backwards - from the last time slot to the first.
Simulation ParametersTime slots are 100 seconds each.For CTrack & DTrack, use the following parameters:
1
640
100sec
C
t
Average Ratio
0%5%10%15%20%25%30%35%40%45%
0% 20% 40% 60% 80% 100%
Mobility
avg
Rat
io
Greedy
CTrackF
DTrackF
Optimal
setup_costRatio=
hold_cost
User Count
0
1000
2000
3000
4000
5000
6000
0% 20% 40% 60% 80% 100%
Mobility
Use
r C
ou
nt Greedy
CTrackF
DTrackF
Optimal
The Time Slot ProblemThe MV database has in each row, not a time slot, but rather a variable-time slotted AP assignment.The algorithms require a fixed-time slotted DB format (constant time).Optimal solution: Convert DB (on disk or on the fly) to fixed-time slotted format.
Problem: Original DB is ~200MB, after conversion, algorithms would require many days to run on a PC. In fact, the conversion process itself would be extremely long.
The Time Slot Problem
There is a large variance in the values of delta in our database (from seconds to hours to days).
Using a fine resolution would result in a database too big to run over using a PC.Using a rough resolution would result in inaccuracy.
The solution we used was to run over the users’ paths only partially, slicing the variable-time slots into fixed-time slots. Stopping after SIM_LENGTH (= 100) time slots have passed.
1i i i idelta t timestamp timestamp
Future DevelopmentCheck if the parameters of CTrack & DTrack can obtain better results.
We don’t think they can gain results of a different magnitude, but it’s worth checking out.
Software UsedThe Eclipse SDK. Java 5.0, and some Perl.Microsoft Excel – For all data analysis, graphical representation and filtering.Matlab 6.5 - For statistical analysis of the average total cost results.Microsoft PowerPoint – For the presentation.Google Earth, for finding the geographical units used (feet) in the GPS based AP database.Adobe Photoshop 7.0 – For graphical maps.