Excellent! It sounds like EventMachine may do exactly what I'm needing. That's great news. Looks like I'll need to dig into it. Thanks! Yes, I will be monitoring the most common network services (HHTP/S, SMTP, POP3, DNS, IMAP, etc.) on remote systems. I'll also want to track things like connect times and transaction response times I haven't started coding the monitor classes yet, as I'm just now trying to formulate a design. It sounds like you may have done some of the work for me! If I understand it correctly, I should be able to build my monitor classes implementing your existing protocol handlers and create my own protocol handlers for those that don't exist. To your latency question: I hope I understand your question correctly. I think most of the latency will come from the network. For example, if there are four monitors that need to be run in the current 60 second window, then I need to run them simultaneously. If they are run in serial then monitors later in the queue could get stuck behind a long running monitor. The polling server (the system running the monitors) can't get stuck on a single monitor for an extended period of time since that would cause all work to stop. How would EventMachine handle this without running each active monitor in it's own worker thread? One the issue of scaling: I would like to use a shared queue that would allow additional polling servers to be added for scaling out. Any itial thoughts on how EventMachine can fit into this model? I hope I'm not getting in over my head! It seems pretty complex for such a simple mind. ;) Thanks for all the help! - Don -- Posted via http://www.ruby-forum.com/.