IP Library Granted Patent US 11,683,379
Granted Patent B2
US 11,683,379 · App. 16/385,487 · Granted Jun 20, 2023

Efficient message transmission and loop avoidance in an RPL network

Inventors: Ankush Sabharwal (New Delhi, IN); Saurabh Jain (Ghaziabad, IN); Shobhit Kumar Singh (Ghaziabad, IN)
Assignee: Landis+Gyr Innovations, Inc.
H04L67/14H04L41/0836H04L41/12H04L2101/659
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 11,683,379
App. No.
16/385,487
Granted
Jun 20, 2023
Kind
B2
Abstract

In some implementations, formation of loops between nodes in an RPL network may be avoided. A node that receives a neighbor-discovery message may determine, based on a parent-child status, whether the neighbor-discovery message was received from a parent of the node. If the neighbor-discovery message was received from the parent, the node may transmit an error code to the parent. In addition, the node may determine, based on a comparison of reliability rankings, whether the neighbor-discovery message was received from a node with relatively high reliability, such as a potential grandparent node. If the neighbor-discovery message was received from a high-reliability node, the node may transmit an error code to the high-reliability node. Furthermore, the node may reduce network traffic by withholding a neighbor-detection message from a child node. The node may transmit a response to neighbor-detection messages received from the child node.

Claims (19)

1. A system for establishing neighbor relationships in a computer network using an IPv6 routing protocol for low-power and lossy networks (“RPL network”), the system including:

a first node included in the RPL network, wherein the first node stores information about each node in the RPL network having a direct communication path with the first node in a table, wherein the first node is capable of communicating with each node in the RPL network having the direct communication path with the first node without routing through another node in the RPL network, the first node having a first neighbor relationship with respect to a second node included in the RPL network and a second neighbor relationship with respect to a third node included in the RPL network, wherein the first neighbor relationship indicates a parent status of the first node and a child status of the second node and the second neighbor relationship indicates a child status of the first node and a parent status of the third node, wherein a first table entry in the table describes the first neighbor relationship, and a second table entry in the table describes the second neighbor relationship, wherein each of the first node, the second node, and the third node is a non-root node in the RPL network,

wherein the first node includes a processor that is configured to perform operations comprising:

receiving, from the third node having the parent status, a first neighbor-discovery multicast message indicated as not available for retransmission to an additional node in the RPL network, wherein the first neighbor-discovery multicast message includes a first error code indicating that the third node does not have a parent, wherein the first neighbor-discovery multicast message indicates a requested modification to the second neighbor relationship, the requested modification describing (i) a revised parent status of the first node with respect to the third node and (ii) a revised child status of the third node with respect to the first node;

determining, responsive to receiving the first neighbor-discovery multicast message and based on the second table entry that describes the second neighbor relationship, that the third node has the parent status with respect to the first node;

responsive to determining that the third node has the parent status with respect to the first node, transmitting to the third node a first response to the first neighbor-discovery multicast message, the first response including a second error code, wherein the second error code indicates that the requested modification is not available;

responsive to determining a lost connection with the third node, transmitting, by the first node, a second neighbor-discovery message to the second node, wherein the second neighbor-discovery message indicates a requested modification to the first neighbor relationship, the requested modification describing (i) a revised parent status of the second node with respect to the first node and (ii) a revised child status of the first node with respect to the second node;

receiving, by the first node and from the second node, a second response to the second neighbor-discovery message, the second response including the second error code;

determining, responsive to receiving the second error code from the second node, a lifetime registration counter associated with the second node and transmitting no additional neighbor-discovery messages to the second node during a time duration of the lifetime registration counter; and

responsive to the second response including the second error code, establishing, by the first node, a third neighbor relationship with respect to a fourth node included in the RPL network, wherein the third neighbor relationship indicates a child status of the first node and a parent status of the fourth node.

2. The system of claim 1 , the processor further configured for:

transmitting, responsive to receiving the second error code from the second node, a deregistration message to the second node, wherein the deregistration message indicates a revocation of the child status of the second node; and

subsequent to sending the deregistration message, transmitting an additional neighbor-discovery message to the second node.

3. The system of claim 1 , wherein determining the lost connection includes:

transmitting a third neighbor-discovery message to the third node; and

determining an expiration of a timeout threshold prior to receiving a third response to the third neighbor-discovery message.

4. The system of claim 1 , wherein the second error code is a code indicating a status of a memory cache.

5. The system of claim 1 , wherein the second error code is a code indicating an absence of a network route.

6. The system of claim 1 , wherein the first neighbor-discovery multicast message indicates a ranking of the third node.

Assignments (2)
MERGER Recorded Oct 27, 2023
From: LANDIS+GYR INNOVATIONS, INC.
To: LANDIS+GYR TECHNOLOGY, INC.
Reel/Frame 065383/0120 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2019
From: SABHARWAL, ANKUSH; JAIN, SAURABH; SINGH, SHOBHIT KUMAR
To: LANDIS+GYR INNOVATIONS, INC.
Reel/Frame 048918/0591 →