In a nutshell, here is what I am looking for -
1) Runs in a stable cloud environment (AWS) with essentially 100% up-time and unlimited bandwidth
2) There are basically two database tables that will be used and are at the center of things: one for housing client site information (client ID, client name, client site address, and the URL or IP address of the router we've installed), the other the database table for writing out the test results (client ID, test time and date, and round-trip ping time in milleseconds). I guess there'd probably be a 3rd table, for housing the default ping interval in minutes (see below).
3) There are 4 major components we need built;
Component 1: An on-screen interface to the client database table, such that an admin can add/delete/change customers from the Client Site table.
Component 2: An on-screen interface for an admin to start/stop the application/service/procedure (see below) and to set the ping interval in minutes
Component 3: An on-screen interface for an admin to access/query/download data from the Test Results table.
Component 4: The application/service/procedure itself, that runs on our "own" virtual server on AWS. Here's what it does, in pseudo-code:
For 1 to [every record in the Client Site] table
- Select Client Site.URL from Client Site
- Ping Client Site.URL (ping response in milleseconds stored temporarily in memory]
- Insert into Test Results Client Site.ID and Ping Response
- Wait (Ping Interval in Minutes)
Basically, the app/service/procedure runs 24x7, pinging our clients' routers and writing the result of each ping to the Test Results table.