You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Synopsis

Constraint Based Geolocation (CBG) is an algorithm that is used for calculating geographical location (geolocation) of IP hosts (each host is called a target). This technique takes multiple landmarks (hosts whose lat/lon coordinates are known) as input to plot circles and identify possible regions of intersection of these circles. Each landmark is a center of a circle and the radius of a circle is the distance from a landmark to the target. The raidal distance of each circle is calculated from the minimum Round Trip Time (RTT) between a landmark and the target. RTTs are gathered from pings.

There are two variants of this technique:

  1. CBG multilateration: This technique uses multiple landmarks (usually 15 or more).
  2. CBG trilateration: This technique uses only three landmarks.

A paper regarding this study can be found here.

The purpose & need for re-implementation

CBG is found to be relatively much more accurate than other existing techniques including TULIP, Apollonius and TBG. TULIP and Apollonius are already deployed at SLAC. TBG proved not to be of much use. Thus this makes CBG integration into the current infrastructure a matter of high priority.

CBG algorithm is currently implemented in Matlab code. However due to licensing, deployment, programmatic and compatibility issues, CBG needs to be re-implemented. TULIP and Apollonius deployment at SLAC is Java based.

SLAC maintains a database for more than 540 landmarks from three different international infrastructures (PlanetLab, PingER and PerfSONAR), which cover over 99% of the world's population. Re-implementation of CBG will enable us to display more accurate results for targets and consequently use this infrastructure to the best of its ability. Furthermore this will provide an amalgamation of best known geolocation techniques for research and education purposes. This can also be a very useful tool for pursuing future projects in locating IP hosts. The world is already into a transition from relatively fixed computers to mobile devices. This can potentially open a gateway for accurate locating services that can have multiple uses. A particular interesting case can be found here.

Matlab implementation

Package for Matlab implementation contains the code. To run the code:

  1. Install Matlab
  2. Run cbg_soi.m for constraint based on Speed of Internet (SOI), which is here defined as the speed of optical signals in fibre or ~2/3 the Speed of Light in vacuum (c).
  3. Run bestline.m for constraint based on bestline approach. The bestline is defined in the Constraint-Based Geolocation paper, but basically is the tightest fit over all the (delay, distance) pairs meant to never underestimate the distance for a delay.
  4. Rest can be found in README.txt file provided with the package.
  • No labels