330 likes | 426 Views
TrackMe. Presenting: Nir Maoz & George Pleener Directed by: Edward Bortnikov. TrackMe. Mesh Network Algorithms Nomadic Service Points. The Idea. Using real wireless data to run in simulations, for different algorithms. Comparing the effectiveness of different algorithms on real data.
E N D
TrackMe Presenting: Nir Maoz & George Pleener Directed by: Edward Bortnikov
TrackMe Mesh Network Algorithms Nomadic Service Points
The Idea • Using real wireless data to run in simulations, for different algorithms. • Comparing the effectiveness of different algorithms on real data.
The CRAWDAD Project CRAWDAD–Community Resource for Archiving Wireless Data At Dartmouth
CRAWDAD: Data Collected • Data 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.
AP Database CRAWDAD: WiFi Network • About ~6,000 students had participated. • 623 access points. • 19% of which had an unknown location. • AP DB format: {AP_Name, x, y, z}
MV Database (per one user) 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.
CRAWDAD: AP Interpolation • 623 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 0 AP_2 X=?? AP_2 X=15 1 Index AP_3 X=20 2
Index CRAWDAD: AP Interpolation • Inspecting 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.
CRAWDAD: AP Connection • The 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.
Simulation Model Simulator & Cost
Simulation • Every 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 Model • All 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:
Movements (Greedy Example) SRV 2 SRV 1 Current AP: 1 1 1 2 2 1 3 2 2 4 1 1 Current Server: Hops (Length): 4 3 2 1
Algorithms Greedy, CTrack, DTrack & Optimal
Greedy Algorithm Idea – 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 Algorithm Idea – 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 Algorithm Idea – 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 Algorithm Idea – 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 Results Greedy, CTrack, DTrack & Optimal Algorithm Runs
Simulation Parameters • Time slots are 100 seconds each. • For CTrack & DTrack, use the following parameters:
Future Development Problems Encountered & Future Recommendations
The Time Slot Problem • The 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.
Future Development • Check 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 Used • The 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.
Acknowledgements • CTrack, DTrack & Optimal algorithms by Edward Bortnikov. • CRAWDAD Project done at Dartmouth college, for all the data used in simulations in this project.