IP Library Granted Patent US 10,530,851
Granted Patent B1
US 10,530,851 · App. 15/884,380 · Granted Jan 7, 2020

Distributed data center

Inventor: Michael John Hart (San Jose, CA)
Assignee: Vivint, Inc.
H04L67/1012G06F9/505H04W28/085H04L49/70H04W84/18
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 10,530,851
App. No.
15/884,380
Granted
Jan 7, 2020
Kind
B1
Abstract

Techniques are described for wireless communication. One method includes receiving, at a first node of a mesh network from a second node, a request for data associated with a security and automation system; determining, at the first node, that a third node associated with a plurality of neighboring nodes within the mesh network has an available computing resources level to process the data based on configuration information of the mesh network; and transmitting, from the first node to the third node, a message instructing the third node to process the data.

Claims (74)

1. A method for wireless communication, comprising:

receiving, at a first node of a mesh network from a second node, a request for data associated with a security and automation system;

determining, at the first node, that a third node associated with a plurality of neighboring nodes within the mesh network has an available computing resources level to process the data based at least in part on configuration information of the mesh network;

determining, at the first node, that the available computing resources level of the first node is less than a computing resources level required to process the data;

broadcasting, by the first node, a beacon frame or a probe request frame to the plurality of neighboring nodes within the mesh network;

receiving, at the first node, a beacon response frame or a probe response frame from one or more neighboring nodes of the plurality of neighboring nodes in the mesh network;

determining, at the first node, a geolocation and available computing resources level of the one or more neighboring nodes based at least in part on the received beacon response frame or the received probe response frame;

determining, at the first node, that the one or more neighboring nodes comprises the third node and a fourth node of the plurality of neighboring nodes have available computing resource to process the data;

determining that the third node is within a first distance from the second node based at least in part on the geolocation;

determining that the fourth node is within a second distance from the second node based at least in part on the geolocation;

determining that the first distance is smaller than the second distance; and

transmitting, from the first node to the third node, a message instructing the third node to process the data based at least in part on determining that the first distance is smaller than the second distance.

2. The method of claim 1 , further comprising:

determining, at the first node, that the third node is within a threshold distance of the second node based at least in part on the configuration information,

wherein transmitting the message is based at least in part on determining that the third node is within the threshold distance.

3. The method of claim 1 , wherein the configuration information comprises at least one of a mesh network identifier (ID), a mesh network topology, a mesh neighbor list, resource information, or a combination thereof.

4. The method of claim 3 , wherein the resource information comprises a computing resource availability, a storage resource availability, or both.

5. The method of claim 1 , further comprising:

determining, at the first node, a source address associated with the requested data based at least in part on the received request; and

determining, at the first node, that the third node is associated with the source address based at least in part on the configuration information,

wherein transmitting the message to the third node is further based at least in part on determining that the third node is associated with the source address.

6. The method of claim 1 , further comprising:

determining, at the first node, a source address associated with the requested data based at least in part on the received request;

determining, at the first node, that the first node is associated with the source address based at least in part on the configuration information; and

determining, at the first node, that the available computing resources level of the first node is less than a computing resources level required to process the data,

wherein transmitting the message instructing the third node to process the data is further based at least in part on the available computing resources level of the first node being less than the computing resources level required to process the data.

7. The method of claim 1 , further comprising:

determining, at the first node, that the determined available computing resources level of the one or more neighboring nodes of the plurality of neighboring nodes in the mesh network do not satisfy the computing resources level required to process the data;

receiving, at the first node from a fifth node, the processed data based at least in part on determining that the identified available computing resources level of the one or more neighboring nodes do not satisfy the computing resources level required to process the data; and

forwarding the processed data from the first node to the third node for transmitting to the second node.

8. The method of claim 7 , wherein the fifth node is a node in a second mesh network different from the mesh network.

9. The method of claim 1 , further comprising:

determining routing information based at least in part on the configuration information; and

encoding the routing information with a portion of the message.

10. The method of claim 1 , wherein receiving the request for data from the second node is based at least in part on a first radio access technology (RAT) connection established between the first node and the second node.

11. The method of claim 10 , wherein transmitting the message is based at least in part on a second RAT connection established between the first node and the third node.

12. An apparatus for wireless communication, comprising:

a processor;

memory in electronic communication with the processor; and

instructions stored in the memory and executable by the processor to cause the apparatus to:

receive, at the apparatus of a mesh network from a second apparatus, a request for data associated with a security and automation system;

determine, at the apparatus, that a third apparatus associated with a plurality of neighboring apparatuses within the mesh network has an available computing resources level to process the data based at least in part on configuration information of the mesh network;

determine, at the apparatus, that the available computing resources level of the apparatus is less than a computing resources level required to process the data;

broadcast, by the apparatus, a beacon frame or a probe request frame to the plurality of neighboring apparatuses within the mesh network;

receive, at the apparatus, a beacon response frame or a probe response frame from one or more neighboring apparatuses of the plurality of neighboring apparatuses in the mesh network;

determine, at the apparatus, a geolocation and available computing resources level of the one or more neighboring apparatuses based at least in part on the received beacon response frame or the received probe response frame;

determine, at the apparatus, that the one or more neighboring apparatuses comprises the third apparatus and a fourth apparatus of the plurality of neighboring apparatuses have available computing resource to process the data;

determine that the third apparatus is within a first distance from the second apparatus based at least in part on the geolocation;

determine that the fourth apparatus is within a second distance from the second apparatus based at least in part on the geolocation;

determine that the first distance is smaller than the second distance; and

transmit, from the apparatus to the third apparatus, a message instructing the third apparatus to process the data based at least in part on determining that the first distance is smaller than the second distance.

13. The apparatus of claim 12 , wherein the instructions are further executable by the processor to cause the apparatus to:

determine, at the apparatus, that the third apparatus is within a threshold distance of the second apparatus based at least in part on the configuration information,

wherein transmitting the message is based at least in part on determining that the third apparatus is within the threshold distance.

14. The apparatus of claim 12 , wherein the configuration information comprises at least one of a mesh network identifier (ID), a mesh network topology, a mesh neighbor list, resource information, or a combination thereof.

15. The apparatus of claim 14 , wherein the resource information comprises a computing resource availability, a storage resource availability, or both.

16. The apparatus of claim 12 , wherein the instructions are further executable by the processor to cause the apparatus to:

determine, at the apparatus, a source address associated with the requested data based at least in part on the received request; and

determine, at the apparatus, that the third apparatus is associated with the source address based at least in part on the configuration information,

wherein transmitting the message to the third node is further based at least in part on determining that the third apparatus is associated with the source address.

17. A non-transitory computer-readable medium storing code for wireless communication, the code comprising instructions executable by a processor to:

receive, at a first node of a mesh network from a second node, a request for data associated with a security and automation system;

determine, at the first node, that a third node associated with a plurality of neighboring nodes within the mesh network has an available computing resources level to process the data based at least in part on configuration information of the mesh network;

determine, at the first node, that the available computing resources level of the first node is less than a computing resources level required to process the data;

broadcast, by the first node, a beacon frame or a probe request frame to the plurality of neighboring nodes within the mesh network;

receive, at the first node, a beacon response frame or a probe response frame from one or more neighboring nodes of the plurality of neighboring nodes in the mesh network;

determine, at the first node, a geolocation and available computing resources level of the one or more neighboring nodes based at least in part on the received beacon response frame or the received probe response frame;

determine, at the first node, that the one or more neighboring nodes comprises the third node and a fourth node of the plurality of neighboring nodes have available computing resource to process the data;

determine that the third node is within a first distance from the second node based at least in part on the geolocation;

determine that the fourth node is within a second distance from the second node based at least in part on the geolocation;

determine that the first distance is smaller than the second distance; and

transmit, from the first node to the third node, a message instructing the third node to process the data based at least in part on determining that the first distance is smaller than the second distance.

18. The non-transitory computer-readable medium of claim 17 , wherein the instructions are further executable by the processor to:

determine, at the first node, that the third node is within a threshold distance of the second node based at least in part on the configuration information, wherein transmitting the message is based at least in part on determining that the third node is within the threshold distance.

Assignments (11)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT REEL 049283, FRAME 0566 Recorded Nov 11, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VIVINT, INC.
Reel/Frame 069334/0137 →
RELEASE (REEL 047029/ FRAME 0304) Recorded Nov 1, 2024
From: BANK OF AMERICA, N.A.
To: VIVINT LLC (F/K/A VIVINT, INC.)
Reel/Frame 069289/0468 →
RELEASE OF SECURITY INTEREST Recorded Jul 12, 2021
From: BANK OF AMERICA, N.A.
To: VIVINT, INC.
Reel/Frame 056832/0824 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 24, 2021
From: AERVIVO, INC.
To: SILICON VALLEY BANK
Reel/Frame 056676/0222 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Feb 1, 2021
From: AERVIVO, INC.
To: QAMCOM TECHNOLOGY HOLDING AB
Reel/Frame 055189/0813 →
TRANSFER AGREEMENT Recorded Jan 29, 2021
From: VIVINT WIRELESS, INC.; QAMCOM TECHNOLOGY HOLDING AB
To: AERVIVO, INC.
Reel/Frame 055170/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2019
From: VIVINT, INC.
To: VIVINT WIRELESS, INC.
Reel/Frame 050684/0162 →
SECURITY AGREEMENT Recorded May 23, 2019
From: VIVINT, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049283/0566 →
SUPPL. NO. 2 SECURITY AGREEMENT Recorded Sep 6, 2018
From: VIVINT, INC.
To: BANK OF AMERICA N.A.
Reel/Frame 047024/0048 →
SECURITY AGREEMENT Recorded Sep 6, 2018
From: VIVINT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 047029/0304 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2018
From: HART, MICHAEL JOHN
To: VIVINT, INC.
Reel/Frame 044779/0344 →
Cited By (10)
US 12,232,197 US 12,267,901 US 12,309,863 US 12,317,353 US 12,328,786 US 12,369,227 US 12,513,532 US 12,520,164 US 12,531,590 US 12,701,162