IP Library Granted Patent US 9,942,824
Granted Patent B2
US 9,942,824 · App. 15/354,506 · Granted Apr 10, 2018

System and method for implementing mesh network communications using a mesh network protocol

Inventor: Michel Veillette (Waterloo, CA)
Assignee: Trilliant Networks Inc.
H04W40/02H04L45/20H04L45/34H04L45/42H04L45/44H04L45/48H04L45/52H04L45/72H04L63/123H04W40/005H04W40/12H04W40/22H04W40/246H04W40/28H04W48/18H04W8/02H04W84/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 9,942,824
App. No.
15/354,506
Granted
Apr 10, 2018
Kind
B2
Abstract

A process for routing data frames from a first node to a second node within a network is provided. The process includes: a tree routing sub-process, a source routing sub-process, a temporary routing sub-process and a mesh routing sub-process, wherein the particular sub-process for routing a data frame from the first node the second nodes is selected in accordance with the following logic executed on a processor: if the data frame has a source route header the source routing sub-process is selected; if there is an entry for the target address in a temporary routing table, the temporary routing sub-process is selected; if the second node is a coordinator node, the tree routing sub-process is selected; if the second node is not a coordinator node, the mesh routing sub-process is selected.

Claims (31)

1. A process for routing data frames from a first node to a second node within a network, the process including:

a tree routing sub-process, a source routing sub-process, a temporary routing sub-process and a mesh routing sub-process, wherein the mesh routing sub-process comprises:

accessing a first route table at the first node to determine a first interim node address from the route based on the second node address;

sending the data frame from the first node to a first interim node in the route using the first interim node address from the route;

accessing a second route table at the first interim node to determine a second interim node address from the route based on the second node address;

sending the data frame from the first interim node to the second interim node address;

if the first interim node is unable to send the data frame to the second interim node address, broadcasting a route error message and deleting a second interim node address; and

receiving an error message at the first node if the data frame does not reach the second node,

and wherein the particular sub-process for routing a data frame from the first node the second node is selected in accordance with the following logic executed on a processor:

if the data frame has a source route header the source routing sub-process is selected;

if there is an entry for the target address in a temporary routing table, the temporary routing sub-process is selected;

if the second node is a coordinator node, the tree routing sub-process is selected;

if the second node is not a coordinator node, the mesh routing sub-process is selected.

2. The process according to claim 1 , wherein the tree routing sub-process comprises:

accessing by the first node a neighborhood table to determine a route to the coordinator;

selecting by the first node a neighbor with a preferred parent flag;

transmitting the data frame to a first parent neighbor with the preferred parent flag;

if transmission to the first parent neighbor does not succeed, selecting a next parent neighbor from the neighborhood table with a hop-count value less than the hop-count value of the first node until the transmission succeeds;

if transmission does not succeed via a neighbor having a hop-count value less than the hop-count value of the first node, selecting a sibling neighbor from the neighborhood table for transmission to the second node, wherein a sibling neighbor has a hop-count value that is equal to the hop-count value of the first node.

3. The process according to claim 2 , wherein the tree routing sub-process further comprises within the step of selecting a next parent neighbor from the neighborhood table with a hop-count value less than the hop-count value of the first node until the transmission succeeds:

ordering next parent neighbors according to a preferred route ratio value as follows:

Preferred Route Ratio=Min LQI class<<12|(15−Number of Hops)<<8|Avg LQI

where Min LQI class is the minimum of all LQI class for each hop between the first node and the coordinator node through this next parent neighbor, and

Avg LQI is the average of the LQI value of each hop between the first node and the coordinator node through this next parent neighbor;

for all the possible routes with the best min LQI class, selecting the next parent neighbors with the least number of hops; and

select the next parent neighbor with the best Avg LQI.

4. The process according to claim 1 , wherein the source routing sub-process comprises:

following a known route from the first node to the second node, the known route being embedded in a header of the data frame in the form of a list of node addresses located along the known route from the first node to the second node, wherein each node located along a route path from the first node to the second node forwards the data frame to the next node address located on the list after the current node's address;

wherein the known route to the second node is determined by

(i) sending by the first node a route request frame to the second node with a trace route flag set or

(ii) sending by the first node a route establishment request frame to the coordinator requesting a route to the second node.

Assignments (2)
SECURITY INTEREST Recorded Nov 12, 2019
From: TRILLIANT NETWORKS, INC.; TRILLIANT HOLDINGS, INC.; TRILLIANT NETWORKS (CANADA) INC.
To: THIRD EYE CAPITAL CORPORATION
Reel/Frame 050989/0361 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2016
From: VEILLETTE, MICHEL
To: TRILLIANT NETWORKS INC.
Reel/Frame 040411/0923 →
Continuity (4)
Division 14182047 · Feb 17, 2014
Division 12554135 · Sep 4, 2009
Provisional Application 61094116 · Sep 4, 2008
Related Publication 20170070941A1 · Mar 9, 2017