IP Library Granted Patent US 9,647,890
Granted Patent B1
US 9,647,890 · App. 15/249,868 · Granted May 9, 2017

Mesh network resiliency

Inventors: David James Hutz (Herndon, VA); Matthew Flannery Knight (Boston, MA)
Assignee: Alarm.com Incorporated
H04L41/0836H04L12/283H04L45/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,647,890
App. No.
15/249,868
Granted
May 9, 2017
Kind
B1
Abstract

Mesh network resiliency technology, in which a first routing configuration for nodes of a mesh network is determined, the first routing configuration being appropriate when a first power source of the mesh network is available. Routing data that indicates routing responsibilities within the first routing configuration is provided to first nodes of the mesh network. An interruption of the first power source for the mesh network is detected by nodes of the mesh network. In response to detecting the interruption, a second routing configuration for nodes of the mesh network is determined, the second routing configuration being appropriate when the first power source of the mesh network is unavailable. Routing data that indicates routing responsibilities within the second configuration is provided to second nodes of the mesh network, each of the second nodes including a second power source that is different than the first power source.

Claims (81)

1. A method for providing mesh network resiliency comprising:

providing, to one or more first nodes of a mesh network associated with a monitoring or automation system located in a property, routing data that indicates routing responsibilities for the one or more first nodes within a first routing configuration for the mesh network, wherein the one or more first nodes of the mesh network are associated with one or more sensors that sense attributes of the property or one or more devices that perform automated functionality for the property, and the first routing configuration being appropriate at a time during which a first power source that powers multiple nodes of the mesh network is available;

designating a particular node of the one or more first nodes of the mesh network as a coordinator node, wherein the particular node designated as the coordinator node is capable of detecting an interruption of the first power source and features a second power source that is different than the first power source;

detecting, by the particular node designated as the coordinator node, an interruption of the first power source for the mesh network;

determining a second routing configuration for one or more second nodes of the mesh network that include the particular node designated as the coordinator node, the second routing configuration being appropriate at a time during which the first power source that powers multiple nodes of the mesh network is unavailable;

providing, to the one or more second nodes of the mesh network, routing data that indicates routing responsibilities for the one or more second nodes within the second routing configuration for the mesh network, wherein each of the one or more second nodes of the mesh network include a second power source that is different than the first power source; and

providing, by the particular node designated as the coordinator node and in response to the particular node designated as the coordinator node detecting the interruption of the first power source for the mesh network, one or more messages to the one or more second nodes of the mesh network indicating the interruption of the first power source for the mesh network, wherein receipt of a message from the particular node designated as the coordinator node indicating the interruption of the first power source for the mesh network causes the one or more second nodes of the mesh network to route data according to the second routing configuration for the mesh network.

2. The method of claim 1 , wherein the first routing configuration for the mesh network and the second routing configuration for the mesh network are each one of a Z-Wave network, a ZigBee network, an IPv6 over Low Power Wireless Personal Area Network (6LoWPAN), a Bluetooth network, or an INSTEON network.

3. The method of claim 1 , wherein:

detecting the interruption of the first power source for the mesh network comprises detecting, by the particular node designated as the coordinator node, an interruption of an alternating current (AC) power source for the mesh network; and

determining the second routing configuration for the one or more second nodes of the mesh network comprises determining a second routing configuration for one or more nodes of the mesh network that each include at least one of a battery power source or an external uninterruptable power supply power source.

4. The method of claim 1 , wherein determining the second routing configuration for the one or more second nodes of the mesh network comprises:

identifying one or more nodes of the mesh network that include a second power source that is different than the first power source;

determining data routing paths for the one or more nodes of the mesh network that include a second power source that is different than the first power source, wherein the data routing paths for the one or more nodes of the mesh network that include a second power source that is different than the first power source each include one or more nodes of the mesh network that include a second power source that is different than the first power source; and

storing the data routing paths for the one or more nodes of the mesh network that include a second power source that is different than the first power source in a routing table.

5. The method of claim 1 , wherein:

providing the routing data that indicates routing responsibilities for the one or more first nodes within the first routing configuration for the mesh network comprises providing a first routing table to the one or more first nodes of the mesh network; and

providing the routing data that indicates routing responsibilities for the one or more second nodes within the second routing configuration for the mesh network comprises providing a second routing table to the one or more second nodes of the mesh network.

6. The method of claim 1 , wherein at least one of the one or more first nodes of the mesh network is identified as a critical node and at least one of the one or more first nodes of the mesh network is identified as a routing node, wherein routing nodes are nodes responsible for routing data in the mesh network within the first routing configuration, and wherein any of the one or more first nodes of the mesh network that is identified as a critical node is not also identified as a routing node.

7. The method of claim 1 , wherein at least one of the one or more second nodes of the mesh network is identified as a critical node and at least one of the one or more second nodes of the mesh network is identified as a routing node, wherein routing nodes are nodes responsible for routing data in the mesh network within the second routing configuration, and wherein any of the one or more second nodes of the mesh network that is identified as a critical node is not also identified as a routing node.

8. The method of claim 7 , comprising:

determining that the second routing configuration for the mesh network results in a disjointed mesh network;

based on the determination that the second routing configuration for the mesh network results in a disjointed mesh network, identifying one or more of the at least one critical nodes that enable a fully jointed mesh network if used as routing nodes;

updating the second routing configuration to include the identified one or more of the at least one critical nodes as routing nodes; and

providing, to the one or more second nodes of the mesh network, routing data that indicates routing responsibilities for the one or more second nodes within the updated second routing configuration for the mesh network.

9. The method of claim 1 , comprising:

detecting, by the particular node designated as the coordinator node, an interruption of the second power source at a particular one of the one or more second nodes of the mesh network;

determining, in response to detecting the interruption of the second power source at the particular one of the one or more second nodes of the mesh network, a third routing configuration for one or more third nodes of the mesh network that include the particular node designated as the coordinator node, the second routing configuration not including the particular one of the one or more second nodes of the mesh network; and

providing, to the one or more third nodes of the mesh network, routing data that indicates routing responsibilities for the one or more third nodes within the third routing configuration for the mesh network.

10. A system comprising:

at least one processor; and

at least one memory coupled to the at least one processor having stored thereon instructions which, when executed by the at least one processor, causes the at least one processor to perform operations comprising:

providing, to one or more first nodes of a mesh network associated with a monitoring or automation system located in a property, routing data that indicates routing responsibilities for the one or more first nodes within a first routing configuration for the mesh network, wherein the one or more first nodes of the mesh network are associated with one or more sensors that sense attributes of the property or one or more devices that perform automated functionality for the property, and the first routing configuration being appropriate at a time during which a first power source that powers multiple nodes of the mesh network is available;

designating a particular node of the one or more first nodes of the mesh network as a coordinator node, wherein the particular node designated as the coordinator node is capable of detecting an interruption of the first power source and features a second power source that is different than the first power source;

detecting, by the particular node designated as the coordinator node, an interruption of the first power source for the mesh network;

determining a second routing configuration for one or more second nodes of the mesh network that include the particular node designated as the coordinator node, the second routing configuration being appropriate at a time during which the first power source that powers multiple nodes of the mesh network is unavailable;

providing, to the one or more second nodes of the mesh network, routing data that indicates routing responsibilities for the one or more second nodes within the second routing configuration for the mesh network, wherein each of the one or more second nodes of the mesh network include a second power source that is different than the first power source; and

providing, by the particular node designated as the coordinator node and in response to the particular node designated as the coordinator node detecting the interruption of the first power source for the mesh network, one or more messages to the one or more second nodes of the mesh network indicating the interruption of the first power source for the mesh network, wherein receipt of a message from the particular node designated as the coordinator node indicating the interruption of the first power source for the mesh network causes the one or more second nodes of the mesh network to route data according to the second routing configuration for the mesh network.

11. A method for providing mesh network resiliency comprising:

determining a first routing configuration for one or more nodes of a mesh network associated with a monitoring or automation system located in a property, the one or more nodes of the mesh network being associated with one or more sensors that sense attributes of the property and one or more devices that perform automated functionality for the property, and the first routing configuration being appropriate at a time during which a first power source that powers multiple nodes of the mesh network is available;

providing, to one or more first nodes of the mesh network, routing data that indicates routing responsibilities within the first routing configuration for the mesh network;

detecting, by one or more nodes of the mesh network, an interruption of the first power source for the mesh network;

determining, in response to detecting the interruption of the first power source for the mesh network, a second routing configuration for nodes of the mesh network, the second routing configuration being appropriate at a time during which the first power source that powers multiple nodes of the mesh network is unavailable;

providing, to one or more second nodes of the mesh network, routing data that indicates routing responsibilities within the second routing configuration for the mesh network, each of the one or more second nodes including a second power source that is different than the first power source;

detecting, for a particular node of the one or more second nodes of the mesh network, an interruption of the second power source that is different than the first power source; and

in response to detecting the interruption of the second power source for the particular node, preventing transmission of messages to the particular node according to the second routing configuration.

12. The method of claim 11 , wherein the first routing configuration for the mesh network and the second routing configuration for the mesh network are each one of a Z-Wave network, a ZigBee network, an IPv6 over Low Power Wireless Personal Area Network (6LoWPAN), a Bluetooth network, or an INSTEON network.

13. The method of claim 11 , wherein:

detecting the interruption of the first power source for the mesh network comprises detecting, by one or more nodes of the mesh network, an interruption of an alternating current (AC) power source for the mesh network; and

determining the second routing configuration for the mesh network comprises detecting a second routing configuration for nodes of the mesh network that each include at least one of a battery power source or an external uninterruptable power supply power.

14. The method of claim 11 , wherein determining the second routing configuration for the mesh network comprises:

identifying one or more nodes of the mesh network that include a second power source that is different than the first power source;

determining data routing paths for the one or more nodes of the mesh network that include a second power source that is different than the first power source, wherein the data routing paths for the one or more nodes of the mesh network that include a second power source that is different than the first power source each include one or more nodes of the mesh network that include a second power source that is different than the first power source; and

storing the data routing paths for the one or more nodes of the mesh network that include a second power source that is different than the first power source in a routing table.

15. The method of claim 11 , wherein:

providing the routing data that indicates routing responsibilities within the first routing configuration for the mesh network to the one or more first nodes of the mesh network comprises providing a first routing table to the one or more first nodes of the mesh network; and

providing the routing data that indicates routing responsibilities within the second routing configuration for the mesh network to the one or more second nodes of the mesh network comprises providing a second routing table to the one or more second nodes of the mesh network.

16. The method of claim 11 , comprising:

determining that preventing transmission of messages to the particular node according to the second routing configuration results in a disjointed mesh network;

based on the determination that preventing transmission of messages to the particular node according to the second configuration results in a disjointed mesh network, identifying one or more of the second nodes of the mesh network that enable a fully jointed mesh network if used as routing nodes, wherein routing nodes are nodes responsible for routing data in the mesh network;

updating the second routing configuration to include the identified one or more of the second nodes of the mesh network as routing nodes; and

providing, to the one or more second nodes of the mesh network, routing data that indicates routing responsibilities for the one or more of the second nodes of the mesh network within the updated second routing configuration for the mesh network.

17. The method of claim 11 , comprising:

determining, in response to detecting the interruption of the second power source that is different than the first power source for the particular node of the one or more second nodes of the mesh network, a third routing configuration for nodes of the mesh network, the third routing configuration being appropriate at a time during which the first power source that powers multiple nodes of the mesh network is unavailable and the second power source that is different than the first power source is unavailable for the particular node; and

providing, to one or more third nodes of the mesh network, routing data that indicates routing responsibilities within the third routing configuration of the mesh network, each of the one or more third nodes including the second power source that is different than the first power source.

18. The method of claim 11 , wherein detecting the interruption of the first power source for the mesh network comprises:

identifying one or more nodes of the mesh network as coordinator nodes; and

detecting the interruption of the first power source for the mesh network by one or more of the coordinator nodes.

19. The method of claim 11 , wherein detecting the interruption of the first power source for the mesh network comprises:

receiving, from each of one or more nodes of the mesh network, a vote indicating whether the node of the mesh network has detected an interruption of the first power source for the mesh network; and

detecting the interruption of the first power source for the mesh network based on the votes received from the one or more nodes of the mesh network each indicate whether a node of the mesh network has detected an interruption of the first power source for the mesh network.

20. A system comprising:

at least one processor; and

at least one memory coupled to the at least one processor having stored thereon instructions which, when executed by the at least one processor, causes the at least one processor to perform operations comprising:

determining a first routing configuration for one or more nodes of a mesh network associated with a monitoring or automation system located in a property, the one or more nodes of the mesh network being associated with one or more sensors that sense attributes of the property and one or more devices that perform automated functionality for the property, and the first routing configuration being appropriate at a time during which a first power source that powers multiple nodes of the mesh network is available;

providing, to one or more first nodes of the mesh network, routing data that indicates routing responsibilities within the first routing configuration for the mesh network;

detecting, by one or more nodes of the mesh network, an interruption of the first power source for the mesh network;

determining, in response to detecting the interruption of the first power source for the mesh network, a second routing configuration for nodes of the mesh network, the second routing configuration being appropriate at a time during which the first power source that powers multiple nodes of the mesh network is unavailable;

providing, to one or more second nodes of the mesh network, routing data that indicates routing responsibilities within the second routing configuration for the mesh network, each of the one or more second nodes including a second power source that is different than the first power source;

detecting, for a particular node of the one or more second nodes of the mesh network, an interruption of the second power source that is different than the first power source; and

in response to detecting the interruption of the second power source for the particular node, preventing transmission of messages to the particular node according to the second routing configuration.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded Jan 21, 2021
From: SILICON VALLEY BANK
To: ENERGYHUB, INC.; ICN ACQUISITION, LLC; ALARM.COM INCORPORATED
Reel/Frame 055069/0001 →
SECURITY INTEREST Recorded Oct 10, 2017
From: ALARM.COM, INCORPORATED; ENERGYHUB, INC.; ICN ACQUISITION, LLC
To: SILICON VALLEY BANK
Reel/Frame 044167/0235 →
Continuity (2)
Continuation 14216204 · Mar 17, 2014
Provisional Application 61790493 · Mar 15, 2013