IP Library Granted Patent US 10,959,112
Granted Patent B2
US 10,959,112 · App. 16/199,917 · Granted Mar 23, 2021

Systems and methods for networking and wirelessly routing communications

Inventors: Mark Jen (San Francisco, CA); Zachary Brock (San Francisco, CA); Amrik Kochhar (San Francisco, CA)
Assignee: Facebook, Inc.
H04W24/02H04L45/42H04L49/3009H04W24/04H04W24/06H04W24/10H04W28/16H04W40/02H04W40/248
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,959,112
App. No.
16/199,917
Granted
Mar 23, 2021
Kind
B2
Abstract

Systems and methods include [i] identifying operational attributes of the mesh radio network; [ii] identifying an Internet communication request originating from at least one of the plurality of network communication devices or identifying an Internet communication response originating from the one or more Internet sources; [iii] generating an Internet communication routing table for the mesh radio network; [iv] transmitting the Internet communication routing table to the mesh radio network; and [v] in response to identifying the Internet communication requests, selecting an optimal communications routing path for the Internet communication request or the Internet communication response based on the Internet communication routing table.

Claims (62)

1. A system comprising:

a set of wireless nodes defining a network, wherein at least one of the wireless nodes is connected to an external data source via a physical communication medium; and

a central controller that includes one or more programs that, when executed by the central controller, cause the central controller to:

identify respective operational attributes associated with the set of wireless nodes based on operational attributes data that is provided by one or more of the set of wireless nodes and determined by applying test loads;

generate a first routing table for the network based on the respective operational attributes associated with the set of wireless nodes, wherein the first routing table indicates a first set of wireless communication paths between the set of wireless nodes and the external data sources;

transmit the first routing table to one or more wireless nodes in the set of wireless nodes;

detect a change in the operational attributes associated with one or more of the wireless nodes in the set of wireless nodes;

generate a second routing table for the network based on the change in the operational attributes, wherein the second routing table indicates a second set of wireless communication paths between the set of wireless nodes and the external data source; and

transmit the second routing table to one or more wireless nodes in the set of wireless nodes.

2. The system of claim 1 , wherein the one or more programs further causes the central controller to:

identify the respective operational attributes by collecting the operational attributes in one of an active mode and a passive mode;

the passive mode includes acquiring operational attributes data as the one or more of the set of wireless nodes provide operational attributes data to the central controller, and

the active mode includes acquiring operational attributes based on applying test loads during a test period to the network and collecting the operational attributes of the network during the test period.

3. The system of claim 2 , wherein

the operational attributes of each of the wireless nodes includes an offline/online status of each of the wireless nodes, wherein a default offline status is assigned to wireless nodes that fail to provide an affirmative offline/online status.

4. The system of claim 1 , wherein

identifying the respective operational attributes includes collecting operational attributes of each active radio link between pairs of wireless nodes within the network.

5. The system of claim 1 , wherein

identifying the respective operational attributes includes collecting operational attributes of each of the wireless nodes.

6. A method comprising:

at a central controller of a network that includes a set of wireless nodes that are in wireless communication with each other:

identifying respective operational attributes associated with the set of wireless nodes based on operational attributes data that is provided by one or more of the set of wireless nodes and determined by applying test loads;

generating a first routing table for the network based on the respective operational attributes associated with the set of wireless nodes, wherein the first routing table indicates a first set of wireless communication paths between the set of wireless nodes and the external data sources;

transmitting the first routing table to one or more wireless nodes in the set of wireless nodes;

detecting a change in the operational attributes associated with one or more of the wireless nodes in the set of wireless nodes;

generating a second routing table for the network based on the change in the operational attributes, wherein the second routing table indicates a second set of wireless communication paths between the set of wireless nodes and the external data source; and

transmitting the second routing table to one or more wireless nodes in the set of wireless nodes.

7. The method of claim 6 , further comprising:

identifying each radio link between the set of wireless nodes; and

generating a normalizing routing score for each radio link.

8. The method of claim 7 , further comprising:

identifying each pair of wireless nodes having a radio link; and

identifying a physical distance between each identified pair of wireless nodes.

9. The method of claim 8 , further comprising: generating a scored routing graph base on:

the normalizing routing score for each radio link; and

the identified physical distance between each identified pair of wireless node.

10. The method of claim 6 , wherein:

generating the first routing table includes identifying one or more whitelisted wireless nodes within the network, the one or more whitelisted wireless nodes satisfy a whitelist performance threshold, and

identifying the first set of wireless communication paths based on the one or more whitelisted nodes.

11. The method of claim 6 , wherein:

generating the first routing table includes using a maximum/minimum algorithm to compute the first set of wireless communication paths, and

the maximum/minimum algorithm identifies the first set of wireless communication paths based on maximum available bandwidths along routes and minimum total routing distances between sources of communications and destinations of communications within the network.

12. The method of claim 6 , wherein:

identifying the respective operational attributes by collecting the operational attributes in one of an active mode and a passive mode;

the passive mode includes acquiring operational attributes data as the one or more of the set of wireless nodes provide operational attributes data to the central controller, and

the active mode includes acquiring operational attributes based on applying test loads during a test period to the network and collecting the operational attributes of the network during the test period.

13. The method of claim 12 , wherein:

the operational attributes of each of the wireless nodes includes an offline/online status of each of the wireless nodes, wherein a default offline status is assigned to wireless nodes that fail to provide an affirmative offline/online status.

14. The method of claim 6 , wherein:

identifying the respective operational attributes includes collecting operational attributes of each active radio link between pairs of wireless nodes within the network.

15. The method of claim 14 , wherein

collecting operational attributes of each active radio link includes collecting an available bandwidth of each active radio link.

16. The method of claim 6 , wherein:

identifying the respective operational attributes includes collecting operational attributes of each of the wireless nodes.

17. The method of claim 6 , wherein detecting the change in the operational attributes comprises:

detecting that one of the wireless nodes in the set of wireless nodes has switched from an online status to an offline status.

18. The method of claim 6 , wherein detecting the change in the operational attributes comprises:

detecting that a new wireless node has been added to the network.

19. The system of claim 1 , wherein detecting the change in the operational attributes comprises:

detecting that one of the wireless nodes in the set of wireless nodes has switched from an online status to an offline status.

20. The system of claim 1 , wherein detecting the change in the operational attributes comprises:

detecting that a new wireless node has been added to the network.

Assignments (4)
CHANGE OF NAME Recorded Dec 13, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058495/0763 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2020
From: INSOLVENCY SERVICES GROUP, INC.
To: FACEBOOK, INC.
Reel/Frame 054667/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2020
From: COMMON NETWORKS, INC.
To: INSOLVENCY SERVICES GROUP, INC.
Reel/Frame 054650/0646 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2018
From: JEN, MARK; BROCK, ZACHARY; KOCHHAR, AMRICK
To: COMMON NETWORKS, INC.
Reel/Frame 047583/0441 →
Continuity (4)
Continuation 15937707 · Mar 27, 2018
Provisional Application 62616628 · Jan 12, 2018
Provisional Application 62482400 · Apr 6, 2017
Related Publication 20190098517A1 · Mar 28, 2019