I have a client/server application that I am currently developing that 
requires the server to ping all clients once every five minutes or so to 
verify that the clients are up and active.  The business server machine 
we have at our disposal is a pretty low end linux box and there is 
eventually going to be several thousand clients.  How would all you 
smart people out there reccomend I do the pinging?  It needs to be very 
easy on the server and as fast as it can be.  If the company has 2000 of 
their employees use the system then I have to ping 7 clients a second.  
Threading of some sort seems like a must as nonconcurrent pinging seems 
like it would take forever if there were lots of timeouts.
The only requirements are that I am able to get a ping time for each 
client.  It doesn't really matter what sort of data I am sending around. 

I know about ruby ping 
(http://www.ruby-doc.org/stdlib/libdoc/ping/rdoc/index.html).  Has 
anyone used this library for a lot of concurrent pings?  Are there any 
better solutions out there for what I need?


Thank you,
Matthew Margolis