How Pingoat works?
It is easy to setup an xml-rpc server and start accepting pings. But it becomes a bit more difficult when you have to accept a ping and pass it to list of other ping servers (Pingoat has to ping around fifty of them). It becomes even more difficult when the ping server has to handle a huge volume of pings.
The Pingoat XML-RPC server accepts pings and records the ping request in one of the MANY databases it has. Pingoat utilises many a number of databases for distributing the load. If a db is busy, the next one is tried. This is repeated until the ping is recorded succefully somewhere.
The recording process continues without any problems. Now there is another piece of software (something like a *daemon*) that checks the databases at frequent intervals (like five minutes). If it comes across a database with pending pings recorded, it quickly calls another program and assigns it the task of processing every pending ping in that database.
Pingoat also monitors the nature of pings. Spam pings are easily detected and removed. If a host is sending too much pings during a small interval, it is automatically blocked. Also, even if the same ping is recorded in the db more than once (like people use www.site.com and site.com), only one of them is processed, eliminating the other.
Pingoat XML-RPC server