**Objective**
1. To maintain continuous connections to multiple servers
2. To be notified via SMS/email (external provided, API+access info provided) if any of the connection breaks down, based on custom profiles (for example, if the connections cannot be re-established after a certain period of time, number of retries)
3. Display latency between application to connected servers (ping)
4. Display information output from API function calls
5. Allow administrator to add/delete/disable/modify server connection profiles (for example, IP address, port, login, password)
6. Software must be restarted automatically if application server gets rebooted/crashed
* Must be multi-threaded
* Bug free whenever and where ever possible
* No deadlocks
* OOP design