Patent ID: 7917613
Filing Date: 2011-03-29
Classification: H04L

Abstract:
1. A device monitoring system for monitoring a device comprising: a database including a health record representing health of the device; a heartbeat server coupled to the database and to a heartbeat agent operating on the device; the heartbeat server configured for receiving a heartbeat packet sent from the heartbeat agent and for updating the health record representing the health of the device based on health information provided by the heartbeat agent about the device in the received heartbeat packet, wherein the health information indicates an operational status of the device, and wherein the device is configured for sending heartbeat packets on a heartbeat send interval, and wherein the sending the heartbeat packets is not synchronized with sending of other heartbeat packets by other devices, and wherein the heartbeat server is further configured for checking for received heartbeat packets on a heartbeat check interval, and wherein the heartbeat check interval is a multiple of the heartbeat send interval; the heartbeat server further configured for updating a cache entry responsive to the received heartbeat packet, the cache entry representing health of the device; the heartbeat server further configured for setting an indication that the received heartbeat packet was received; the heartbeat server further configured for determining if the received heartbeat packet was received from the device on the heartbeat check interval, and if the received heartbeat packet was received from the device on the heartbeat check interval then indicating an “up” status for the device, but if the received heartbeat packet was not received from the device on the heartbeat check interval then sending a ping to the device and then determining if a ping reply was received from the device, and if the ping reply was received then indicating a “heartbeat agent unavailable” status for the device, but if the ping reply was not received then indicating a “down” status for the device.