Right now, the alarm server is setup to look for the maximum delay in a
protocol and compare it to the last time it was updated. So, if multiple
protocols are running, each with a 40 minute delay, the error is not thrown
until over 40 minutes of inactivity. However, if the realized delay between
protocols is 5 minutes, the error should be thrown earlier.
Implementing this will be a fair bit of change.