Another quite efficient geo location technique is Apollonius which also relies on RTT delay data from the known location landmarks to the unknown location target to estimate the target location. The main difference between Trilateration and Apollonius is the way in which the two techniques estimate the location. Contrary to Trilateration, the Apollonius technique doesn?t take the overlapping region of the three circles into consideration; instead it draws the tangent circles touching all three landmark circles. In this way, Apollonius can result in the formation of multiple (<=8 or sometimes even no) solution circles. Figure 1 below shows, in black, the three circles whose radii are derived from the RTT measurements and centers are the known landmark locations. The colored circles show the various circles that can be drawn tangential to the three black circles. There can be up to 8 such circles. An example of 8 such circles tangential to the measured black circles is shown in Figure 2. Figure 3 shows all the circles super-imposed
Figure 1 |
Figure 2 |
Figure 3 |
---|---|---|
|
|
|
A key part is then to select one candidate circle out of these multiple circles. In this technique, the center of the finally selected Apollonius circle is considered as the target location. The circle selection in Apollonius is a critical part and is explained here ( https://confluence.slac.stanford.edu/display/IEPM/Circle+selection+for+Apollonius+results )
Apollonius circles are three special circles say c1,c2,c3. The set of points with a constant ratio of distances d1/d2 to two fixed points know as foci is one of the circle. c1 is unique circle passing to vertex A of triangle ABC (figure ) that maintain constant ratio of distances to other two vertices B and C. similarly c2 is passing to vertex B of triangle and maintain constant ratio of distances to other two vertices A and C . and so is the case with c3.
The circle that touches all three excircles of a triangle and encompasses them (Kimberling 1998, p. 102).
As shown in figure 5 below every triangle have 3 ex-circles. A circle inside three circles and tangent to them is the circle of Apollonius.
One of the eight circles that is simultaneously tangent to three given circles (i.e., a circle solvingApollonius' problem for three circles).
Apollonius circles are up to eight in number that are tangent to three circles (defined above).
Application
In our algorithm to solve IP based Geolocation we have tried to embed this technique to find our required target. To get three circles of Apollonius we used our 3 landmarks giving minRTT after pinging the target node. This minRTT is then converted to 1 way delay which is then used to estimate the distance = RTT * alpha to get radius of the circle. In this way we get the three circles of Apollonius which are used by our algorithm to find circles that are tangent to these three circles. The resultant circles are up to eight in number or less. After getting eight or fewer circles we need to find one circle which is near our target. We have used cluster approach to find this one circle and then compared this technique with a manual method to view the performance of our cluster approach. (https://confluence.slac.stanford.edu/display/IEPM/Circle+selection+for+Apollonius+results)
Performance of Apollonius
Like in trilateration, in Apollonius we are using distance = RTT * alpha to get the radius of circles of Apollonius. We can not accurately analyse the efficiency of Apollonius Algorithm using delay to distance mapping. So in order to see the actual performace of Apollonius technique we performed a test. We selected known landmarks and a target (which was also a landmark .. but acting as target for other landmarks) then calculated distance (http://www.movabletype.co.uk/scripts/latlong.html) between each landmark to that target and hardcoded this distance to code i.e replaced
e.g distance= 786.00.
By doing so we do no need delay measures(RTT). Purpose of doing this task was to test Apollonius efficiency in case it do not had to suffer the pinging error.
Doing analysis on results showed that 60-70% of Distance Error is because of pinging error. Hence Apollonius can perform far better if there is no pinging error.
SpreadSheet for Results and Comparison
Reference
http://en.wikipedia.org/wiki/Circles_of_Apolloniushttp://mathworld.wolfram.com/ApolloniusCircle.html
http://mathworld.wolfram.com/ApolloniusCircle.html
http://upload.wikimedia.org/wikipedia/commons/2/2a/Apollonius_circle_definition_labels.svg