High availability and failover
First Claim
1. A method comprising:
- listening, via a first device on a network, for heartbeat messages transmitted from one or more second devices on the network, the first device operating in a failover mode and one of the one or more second devices operating in a live mode, each of the heartbeat messages transmitted by the one or more second devices as well as corresponding heartbeat messages transmitted by the first device having a respective priority associated therewith;
detecting a failover event when a number of heartbeat messages are not received from the one of the one or more second devices within a period of time;
immediately after detecting the failover event, determining whether to switch the first device from the failover mode to the live mode by comparing the respective priority associated with heartbeat messages transmitted by the first device and the respective priority associated with the heartbeats transmitted by all of the one or more second devices except the one of the one or more second devices operating in the live mode; and
obtaining, via the first device, an external identity for communicating with devices outside of the network upon determining to switch the first device from the failover mode to the live mode.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and computer-readable storage media for high availability and failover. A device obtains an external identity designated for a set of devices on a network, the set of devices comprising the device and a second device, and the external identity comprising public address settings which the set of devices can use when in live mode to communicate with devices outside of the network. While the device is in failover mode and the second device is in live mode, the device listens for heartbeat messages transmitted from the second device. Next, the device detects a failover event when a predetermined number of heartbeat messages have not been received by the device. In response to the failover event, the device then changes from failover mode to live mode and assumes the external identity.
-
Citations
20 Claims
-
1. A method comprising:
-
listening, via a first device on a network, for heartbeat messages transmitted from one or more second devices on the network, the first device operating in a failover mode and one of the one or more second devices operating in a live mode, each of the heartbeat messages transmitted by the one or more second devices as well as corresponding heartbeat messages transmitted by the first device having a respective priority associated therewith; detecting a failover event when a number of heartbeat messages are not received from the one of the one or more second devices within a period of time; immediately after detecting the failover event, determining whether to switch the first device from the failover mode to the live mode by comparing the respective priority associated with heartbeat messages transmitted by the first device and the respective priority associated with the heartbeats transmitted by all of the one or more second devices except the one of the one or more second devices operating in the live mode; and obtaining, via the first device, an external identity for communicating with devices outside of the network upon determining to switch the first device from the failover mode to the live mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 20)
-
-
9. A system operating in live mode on a computer network, the system comprising:
-
a processor; and a computer-readable storage medium having stored therein instructions which, when executed by the processor, cause the processor to perform operations comprising; associating an external identity generated by a cloud system with the system, the external identity comprising a public address for communicating with devices outside of the computer network; sending heartbeat messages to at least one failover device operating in failover mode in the computer network; sending the external identity to one of the at least one the failover device for use by the one of the at least one failover device to communicate with devices outside of the computer network when operating in live mode, the one of the at least one failover device being selected to operate in the live mode upon determining that a priority associated with heartbeat messages transmitted by the one of the at least one failover device is higher than a priority associated with heartbeat messages transmitted by each additional failover device available in the computer network; and in response to a failover event; switching the system from live mode to at least one of a failover mode, a standby mode, an inactive mode, or a shutoff mode; and disassociating the external identity with the system. - View Dependent Claims (10, 11, 12)
-
-
13. A non-transitory computer-readable storage medium having stored therein instructions which, when executed by a processor, cause the processor to perform operations comprising:
-
receiving, via a first device on a network, heartbeat messages transmitted from one or more second devices on the network, the first device operating in a failover mode and one of the one or more second devices operating in live mode, each of the heartbeat messages transmitted by the one or more second devices as well as corresponding heartbeat messages transmitted by the first device having a respective priority associated therewith; synchronizing data between the first device and the one of the one or more second devices, the data comprising settings associated with a tunnel between a cloud system and the one of the one or more second devices; detecting a failover event when a number of heartbeat messages are not received by the first device from the one of the one or more second devices within a period of time; and immediately after detecting the failover event, determining whether to switch the first device from the failover mode to the live mode by comparing the respective priority associated with heartbeat messages transmitted by the first device and the respective priority associated with the heartbeats transmitted by all of the one or more second devices except the one of the one or more second devices operating in the live mode; associating an external identity generated by the cloud system with the first device upon determining to switch the first device from the failover mode to the live mode, the external identity comprising a public address for communicating with devices outside of the network; and based on the data synchronized between the first device and the one of the one or more second devices, establishing a connection with the cloud system via the tunnel to yield a tunnel handoff between the one of the one or more second devices and the first device. - View Dependent Claims (14, 15, 16)
-
-
17. A system comprising:
-
a processor; and a computer-readable storage medium having stored therein instructions which, when executed by the processor, cause the processor to perform operations comprising; receiving heartbeat messages transmitted from a live device on a network, the heartbeat messages comprising a priority associated with the live device, the system operating in failover mode on the network and the live device operating in live mode on the network; detecting a failover event when a number of the heartbeat messages are not received from the live device within a period of time; in response to the failover event, switching the system from failover mode to the live mode; obtaining an external identity for communicating with devices outside of the network, the external identify being previously used by the live device when operating in live mode; upon the live device becoming active again after the failover event, comparing the priority of the live device with a priority of the system; and switching the system from the live mode to the failover mode if the priority of the live device is greater than the priority of the system, the live device resuming operation in the live mode after the switching of the system to the failover mode. - View Dependent Claims (18, 19)
-
Specification