Current network

See all public Dancer processes that are currently on-line. If you add your own process, it will appear on the map within minutes.

Read more about the network ...

On-line tutorial

With the on-line tutorial, installing and running Dancer on your own computer becomes very easy. Try processing your own RINEX data.

Get started right here ...

The GPS Dancer solution for the global normal equation system requires the computation of two vector averages over the entire network of N receivers. This is done by means of the square dance algorithm, which also gave the GPS Dancer system its name. The key property of this algorithm is that the involved data traffic (per Dancer process) increases only as a logarithmic function of the global network size, so that Dancer can handle very large receiver networks.

From the very beginning, it was clear that Dancer should become a pure peer-to-peer system, without dependencies on central elements such as data centres or analysis centres. The reasons for this design choice are merely political: if Dancer would need a central server in some country or another, there would always be another country or some that would object against their national reference frame being dependent on this foreign computer, outside the political control of the nation itself. Similar political logic is in fact one of the strongest arguments behind organisations like IGS and IAG.

Pure peer-to-peer networks have some peculiar difficulties to solve. For instance, how can a new Dancer process connect to the existing global network of peer processes, without first contacting some central server? How does the network deal with processes that go off-line? How can peers connect to specific other peers in the network? How can they know what other computers exist in the network? Etc., etc. Fortunately, Dancer is not the only peer-to-peer process in the world, and most of these networks are faced with similar problems. To make life easier on the developers, SUN Microsystems started the development of a set of XML-based protocols for peer-to-peer network formation and data exchanges, known as JXTA. GPS Dancer makes use of these same JXTA protocols, and the JAVA implementation of the protocols that is freely available from SUN, and from this site.

Although JXTA helps with various low-level network housekeeping issues, there are other problems that are unique to the particular P2P application that is being implemented. For instance, each GPS Dancer needs to know exactly which other peers exist in the network, in order to establish the correct connections to other peers in support of the square dance exchange. The way in which the Dancer network is formed and maintained is explained here.

One of the most difficult problems to solve during the development of the GPS Dancer system, was the way in which the system handles a situation in which a peer process goes off-line without any warning. This happens for instance if there is a local power outage at the location where the Dancer peer is running, or simply when a network cable is pulled. The initial approach to deal with this problem was based on so called buddy triangles, where each individual process exchanges regular heartbeat signals (ping signals) with two other processes in the network, building triangles of computers that monitor each other's state. As soon as a process goes off-line, its pings will stop. After some time-out delay its two buddies will cross-check with each other that the third peer has stopped signalling, and will initiate actions to repair the network.

The buddy-triangle approach was complicated, and took about one year to implement in a stable way. Unfortunately, it was not a very good solution. First of all, it would always be possible that two buddies in one triangle would go off-line more or less at the same time, in which case the system would not work. To solve that problem, multiple buddy triangles were used for each Dancer peer, leading to ever increasing complexity of the system, and very intricate cooperation schemes between the computers. It just didn't seem right.

In 2011, some clever computer scientists from Berkeley University noticed that there was a much better way of dealing with unresponsive Dancer peers. In fact, their solution was to simply ignore the entire problem, and only apply a clever cross-check after completion of the square dance exchange at each individual process. This method avoids the problems of the buddy triangles, and is completely robust against cases in which combinations of peers go off-line almost at the same time. This was just what Dancer needed. You can read about the two approaches in the article on pirates against marines. That's right, pirates.

The GPS Dancer software will need regular updates, because it aims to follow the latest models and standards of the scientific community. Fortunately, Dancer is a peer-to-peer network, and if there is one thing that P2P networks are good at, it is divulging information among all connected processes. Because of the special way in which the Dancer peers are connected for the square dance exchange, Dancer also has an internal SMS service that allows sending informaton to any other peer in the network via an optimized (minimum-hop) route. It also allows broadcasting of information to all peers in the network, in an efficient manner. For the time being, the SMS layer is mainly relevant for the ambiguity resolution process, while the broadcast mechanisms are used for automatic software updates by a system administrator. You can read more about generic information exchange mechanisms in Dancer in this article.


Ready for action

The GPS Dancer software implementation stage was completed by the end of 2012. Various approaches are studied for on-line deployment and validation of an ITRF backbone network.

Read more about the ITRF in the cloud ...

Search on this site

Apache license


The GPS Dancer software is available for free under the Apache II license.

Read more ...


Full technical details about how Dancer works are available on this site.

Read more ...

Free JXTA eBook

Free Joomla! eBook

Free Joomla ebook | Joomla 3.0 Made Easy

Project details

Ultimate Browsers SupportThe GPS Dancer project started in 2007 as a voluntary project of a working group of the International Association of Geodesy.

Read more ...

Square dance algorithm

Great Docs and SupportThe GPS Dancer system was named after its "square dance" exchange algorithm. Of course, it also wants to to make the GPS reference frame denser.


Here, there be pirates

The Dancer on-line network became immune against internet connection problems by leaving the US marines, and becoming a pirate.

Read more ...

Go to top