IP Library Granted Patent US 10,367,708
Granted Patent B2
US 10,367,708 · App. 15/669,602 · Granted Jul 30, 2019

Network coding aware nodes in a distributed network

Inventors: Ankit Singh (Bangalore, IN); Rohitkumar Arehalli (Bangalore, IN); Shrikant Hallur (Bangalore, IN)
Assignee: Dell Products LP
H04L43/0811H04L1/0076H04L43/0829H04L67/10H04L67/12H04L67/42
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,367,708
App. No.
15/669,602
Granted
Jul 30, 2019
Kind
B2
Abstract

Embodiments are directed to transmitting network coding (NC) traffic in heterogeneous networks having both NC and non-NC nodes. A non-NC node, upon receiving the first NC encoded packet will return an error in acknowledgement to the source NC node. The source NC node maintains a table of directly neighbor nodes that indicates whether or not NC is supported. The source NC node decodes the packet for any non-NC destination node and sends the encoded packet to NC nodes per the table. For a non-NC node in the network, the source NC node will send an encoded packet and based on an acknowledgement, the table entry for that node is updated. If NC is supported, the source sends the encoded packet, otherwise it sends the decoded packet.

Claims (50)

1. A computer-implemented method for transmitting network coding (NC) and non-NC data in a heterogenous computer network having both NC nodes and non-NC nodes, the method comprising:

transmitting data packets for both the NC and non-NC data from a source node to a destination node through one or more intermediate nodes;

maintaining, in each node of the network, a network coding interoperability (NCI) table indicating an NC status of each direct neighbor of the node;

forming a protocol grouping for each direct neighbor link between an NC node and a non-NC node;

transmitting NC data directly from an upstream NC node to a direct neighbor downstream NC node;

transmitting non-NC data directly from an upstream NC node to a direct neighbor downstream non-NC node; and

decoding, using the protocol grouping, NC data bound for a non-NC node in a direct upstream NC node prior to transmission to the non-NC node.

2. The method of claim 1 wherein the NC status comprises one of: NC capable, non-NC capable, and NC status not known (NA).

3. The method of claim 2 wherein the NCI table is populated in an initial state to all direct neighbors having an NA status.

4. The method of claim 3 wherein the initial state of the NCI table is updated dynamically during runtime of the network to reflect a current status of each direct neighbor.

5. The method of claim 1 wherein the current status of each direct neighbor is updated through at least one of: a predefined message transmitted from the destination node to the source node upon attempted transmission of an NC data packet from the source node to the destination node, or upon indication that the NC data packet was dropped or not dropped at the destination node after transmission from the source node.

6. The method of claim 4 wherein the NCI table comprises a lookup table maintained in a memory of the source node.

7. The method of claim 4 further comprising:

transmitting NC data directly from the upstream NC node to a direct neighbor downstream NA node;

waiting for one of an acknowledgment or intimation signal that the direct neighbor downstream NA node dropped the NC data;

decoding the NC data bound for the NA node in the direct upstream NC node prior to transmission to the NA node;

and

updating the direct upstream node's table to reflect that a status of the NA node to non-NC capable from NA status.

8. The method of claim 7 further comprising transmitting future packets from the source node to the destination node in accordance with the updated table.

9. The method of claim 7 wherein the indication comprises at least one of: an intimation packet transmitted from the destination node to the source node, or a lack of acknowledgement of a received packet at the destination node from the direct upstream NC node based on a defined timeout period.

10. The method of claim 9 wherein the intimation packet is embodied as a reserved field of the Internet Protocol (IP) layer of the destination and source nodes.

11. The method of claim 1 wherein the network comprises at least one of: and ad hoc network, a network of multicast switches, a wireless mesh network, a peer-to-peer messaging network, and an Internet of Things (IoT) application network.

12. A system transmitting network coding (NC) and non-NC data in a heterogenous co cuter network having both NC nodes and non-NC nodes, comprising:

a source node of the network transmitting data packets for both the NC and non-NC data to a destination node through one or more intermediate nodes;

a network coding interoperability (NCI) table maintained in each node of the network and indicating an NC status of each direct neighbor of the respective node;

a server component forming a protocol grouping for each direct neighbor link between an NC node and a non-NC node;

a transmitter transmitting NC data directly from an upstream NC node to a direct neighbor downstream NC node, and transmitting non-NC data directly from an upstream NC node to a direct neighbor downstream non-NC node; and

a decoder using the protocol grouping to decode NC data bound for a non-NC node in a direct upstream NC node prior to transmission to the non-NC node.

13. The system of claim 12 wherein the NC status comprises one of: NC capable, non-NC capable, and NC status not known (NA), and wherein the NCI table is populated in an initial state to all direct neighbors having an (NA) status.

14. The system of claim 13 wherein the initial state of the NCI table is updated dynamically during runtime of the network to reflect a current status of each direct neighbor, and wherein the current status of each direct neighbor is updated through at least one of: a predefined message transmitted from the destination node to the source node upon attempted transmission of an NC data packet from the source node to the destination node, or upon indication that the NC data packet was dropped or not dropped at the destination node after transmission from the source node.

15. The system of claim 14 wherein the NCI table comprises a lookup table maintained in a memory of the source node.

16. The system of claim 13 further comprising:

the transmitter transmitting NC data directly from the upstream NC node to a direct neighbor downstream NA node, and waiting for one of an acknowledgment or intimation signal that the direct neighbor downstream NA node dropped the NC data;

the decoder decoding the NC data bound for the NA node in the direct upstream NC node prior to transmission to the NA node, and updating the direct upstream node's table to reflect that a status of the NA node to non-NC capable from NA status.

17. The system of claim 16 wherein the indication comprises at least one of: an intimation packet transmitted from the destination node to the source node, or a lack of acknowledgement of a received packet at the destination node from the direct upstream NC node based on a defined timeout period.

18. The system of claim 12 wherein the network comprises at least one of: and ad hoc network, a network of multicast switches, a wireless mesh network, a peer-to-peer messaging network, and an Internet of Things (IoT) application network.

19. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein, the computer-readable program code adapted to be executed by one or more processors to transmit network coding (NC) and non-NC data in a heterogeneous computer network having both NC nodes and non-NC nodes, by executing instructions implementing a method comprising:

transmitting data packets for both the NC and non-NC data from a source node to a destination node through one or more intermediate nodes;

maintaining, in each node of the network, a network coding interoperability (NCI) table indicating an NC status of each direct neighbor of the respective node;

forming a protocol grouping for each direct neighbor link between an NC node and a non-NC node;

transmitting NC data directly from an upstream NC node to a direct neighbor downstream NC node;

transmitting non-NC data directly from an upstream NC node to a direct neighbor downstream non-NC node; and

decoding, using the protocol grouping, NC data bound for a non-NC node in a direct upstream NC node prior to transmission to the non-NC node.

20. The computer program product of claim 19 wherein the method further comprises:

transmitting NC data directly from the upstream NC node to a direct neighbor downstream NA node;

waiting for one of an acknowledgment or intimation signal that the direct neighbor downstream NA node dropped the NC data;

decoding the NC data bound for the NA node in the direct upstream NC node prior to transmission to the NA node;

and

updating the direct upstream node's table to reflect that a status of the NA node to non-NC capable from NA status; and

transmitting future packets from the source node to the destination node in accordance with the updated table, and wherein the indication comprises at least one of: an intimation packet transmitted from the destination node to the source node, or a lack of acknowledgement of a received packet at the destination node from the direct upstream NC node based on a defined timeout period.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (043775/0082) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 043775/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2017
From: SINGH, ANKIT; AREHALLI, ROHITKUMAR; HALLUR, SHRIKANT
To: DELL PRODUCTS LP
Reel/Frame 043207/0873 →
Continuity (1)
Related Publication 20190044837A1 · Feb 7, 2019