Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

A paper regarding this study can be found here.

...

Motivation for integrating CBG with TULIP

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 internet population. Re-implementation Integration 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.

Objectives and Requirements

CBG algorithm is currently implemented in Matlab code. Whereas [TULIP and Apollonius deployment|http://www-wanmon.slac.stanford.edu/cgi-wrap/tulip-viz.cgi?target=slac.stanford.edu] at SLAC is [Java|http://www.oracle.com/technetwork/java/index.html] based. We will integrate the two such that TULIP and Apollonius will keep running at SLAC and there'll be a Matlab server at SEECS running CBG code. There are two things which we need to take care of:

  1. Integration should be transparent i.e. the end user will execute the [TULIP GUI|http://www-wanmon.slac.stanford.edu/cgi-wrap/tulip-viz.cgi?target=slac.stanford.edu] as before without any changes.
  2. Integration should introduce minimum possible changes into the current TULIP architecture.

Proposed Architecture

Matlab implementation

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

...