IP Library Granted Patent US 9,584,344
Granted Patent B2
US 9,584,344 · App. 14/597,189 · Granted Feb 28, 2017

Stream creation with limited topology information

Inventors: Taliaferro Smith (San Jose, CA); Sergey Yarygin (San Jose, CA)
Assignee: Lattice Semiconductor Corporation
H04L12/6418H04L41/0853H04L41/0883H04L41/12H04L45/02H04L45/745
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,584,344
App. No.
14/597,189
Granted
Feb 28, 2017
Kind
B2
Abstract

The discovery of a topology of a network with an unknown topology can enable the selection of a data path within the network, and the establishment of a data stream over the selected data path. Routing tables mapping originating nodes to input ports can be created based on the receipt of discovery messages generated by the originating nodes. A source node can select a data path between the source node and a sink node in order to establish a data stream using the routing tables. Data paths can be selected based on, for instance, routing table bandwidth information, latency information, and/or distance information. Data streams can be established over the selected data path, and each node can release any reserved output bandwidth determined to be unnecessary for the data stream.

Claims (43)

1. A method comprising:

receiving, at a first node via a first port of the first node, a discovery message, the discovery message identifying an originating node and including bandwidth information corresponding to a first data path between the originating node and the first port, latency information corresponding to the first data path, and distance information corresponding to the first data path;

receiving, at the first node via a second port of the first node, a second discovery message, the second discovery message identifying the originating node and including second bandwidth information corresponding to a second data path between the originating node and the second port, second latency information corresponding to the second data path, and second distance information corresponding to the second data path;

parsing the identity of the originating node, the bandwidth information, the second bandwidth information, the latency information, the second latency information, the distance information, and the second distance information from the discovery message and the second discovery message;

accessing a routing table associated with the first node;

responsive to the routing table not including an entry corresponding to the originating node and the first port, generating an entry corresponding to the originating node and the first port, the entry comprising the identity of the originating node mapped to the first port and one or more of: the bandwidth information, the latency information, and the distance information;

responsive to the routing table including an entry corresponding to the originating node and the first port, replacing the entry in response to a comparison between information included within the entry and one or more of: the bandwidth information, the latency information, and the distance information;

responsive to the routing table not including a second entry corresponding to the originating node and the second port, generating a second entry corresponding to the originating node and the second port, the entry comprising the identity of the originating node mapped to the second port and one or more of: the second bandwidth information, the second latency information, and the second distance information; and

responsive to the routing table including a second entry corresponding to the originating node and the second port, replacing the second entry in response to a comparison between information included within the second entry and one or more of: the second bandwidth information, the second latency information, and the second distance information.

2. The method of claim 1 , wherein the bandwidth information comprises a lowest bandwidth between adjacent nodes in the first data path.

3. The method of claim 1 , wherein the latency information comprises a total latency between the originating node and the first node within the first data path.

4. The method of claim 1 , wherein the distance information comprises a total number of nodes within the first data path from the originating node to the first node.

5. The method of claim 1 , further comprising modifying one or more of the bandwidth information, the latency information, and the distance information to reflect the receipt of the discovery message by the first node.

6. The method of claim 1 , wherein the routing table entry is replaced in response to one or more of: the bandwidth information comprises a greater bandwidth than a bandwidth stored within the entry, the latency information comprises a lesser latency than a latency stored within the entry, and the distance comprises a lesser distance than the distance stored within the entry.

7. A system comprising:

a first node communicatively coupled to one or more other nodes, the first node comprising a processor specially configured to enable communication by the first node with the one or more other nodes and to enable the first node to perform steps comprising:

receiving, via a first port of the first node, a discovery message, the discovery message identifying an originating node and including bandwidth information corresponding to a first data path between the originating node and the first port, latency information corresponding to the first data path, and distance information corresponding to the first data path;

receiving, via a second port of the first node, a second discovery message, the second discovery message identifying the originating node and including second bandwidth information corresponding to a second data path between the originating node and the second port, second latency information corresponding to the second data path, and second distance information corresponding to the second data path;

parsing the identity of the originating node, the bandwidth information, the second bandwidth information, the latency information, the second latency information, the distance information, and the second distance information from the discovery message and the second discovery message;

accessing a routing table associated with the first node;

responsive to the routing table not including an entry corresponding to the originating node and the first port, generating an entry corresponding to the originating node and the first port, the entry comprising the identity of the originating node mapped to the first port and one or more of: the bandwidth information, the latency information, and the distance information;

responsive to the routing table including an entry corresponding to the originating node and the first port, replacing the entry in response to a comparison between information included within the entry and one or more of: the bandwidth information, the latency information, and the distance information;

responsive to the routing table not including a second entry corresponding to the originating node and the second port, generating a second entry corresponding to the originating node and the second port, the entry comprising the identity of the originating node mapped to the second port and one or more of: the second bandwidth information, the second latency information, and the second distance information; and

responsive to the routing table including a second entry corresponding to the originating node and the second port, replacing the second entry in response to a comparison between information included within the second entry and one or more of: the second bandwidth information, the second latency information, and the second distance information.

8. The system of claim 7 , wherein the bandwidth information comprises a lowest bandwidth between adjacent nodes in the first data path.

9. The system of claim 7 , wherein the latency information comprises a total latency between the originating node and the first node within the first data path.

10. The system of claim 7 , wherein the distance information comprises a total number of nodes within the first data path from the originating node to the first node.

11. The system of claim 7 , further comprising modifying one or more of the bandwidth information, the latency information, and the distance information to reflect the receipt of the discovery message by the first node.

12. The system of claim 7 , wherein the routing table entry is replaced in response to one or more of: the bandwidth information comprises a greater bandwidth than a bandwidth stored within the entry, the latency information comprises a lesser latency than a latency stored within the entry, and the distance comprises a lesser distance than the distance stored within the entry.

13. A non-transitory computer-readable storage medium storing computer instructions configured to, when executed by a processor of a first node communicatively coupled to other nodes, cause the first node to perform steps comprising:

receiving, via a first port of the first node, a discovery message, the discovery message identifying an originating node and including bandwidth information corresponding to a first data path between the originating node and the first port, latency information corresponding to the first data path, and distance information corresponding to the first data path;

receiving, via a second port of the first node, a second discovery message, the second discovery message identifying the originating node and including second bandwidth information corresponding to a second data path between the originating node and the second port, second latency information corresponding to the second data path, and second distance information corresponding to the second data path;

parsing the identity of the originating node, the bandwidth information, the second bandwidth information, the latency information, the second latency information, the distance information, and the second distance information from the discovery message and the second discovery message;

accessing a routing table associated with the first node;

responsive to the routing table not including an entry corresponding to the originating node and the first port, generating an entry corresponding to the originating node and the first port, the entry comprising the identity of the originating node mapped to the first port and one or more of: the bandwidth information, the latency information, and the distance information;

responsive to the routing table including an entry corresponding to the originating node and the first port, replacing the entry in response to a comparison between information included within the entry and one or more of: the bandwidth information, the latency information, and the distance information;

responsive to the routing table not including a second entry corresponding to the originating node and the second port, generating a second entry corresponding to the originating node and the second port, the entry comprising the identity of the originating node mapped to the second port and one or more of: the second bandwidth information, the second latency information, and the second distance information; and

responsive to the routing table including a second entry corresponding to the originating node and the second port, replacing the second entry in response to a comparison between information included within the second entry and one or more of: the second bandwidth information, the second latency information, and the second distance information.

14. The computer-readable storage medium of claim 13 , wherein the bandwidth information comprises a lowest bandwidth between adjacent nodes in the first data path.

15. The computer-readable storage medium of claim 13 , wherein the latency information comprises a total latency between the originating node and the first node within the first data path.

16. The computer-readable storage medium of claim 13 , wherein the distance information comprises a total number of nodes within the first data path from the originating node to the first node.

17. The computer-readable storage medium of claim 13 , further comprising modifying one or more of the bandwidth information, the latency information, and the distance information to reflect the receipt of the discovery message by the first node.

18. The computer-readable storage medium of claim 13 , wherein the routing table entry is replaced in response to one or more of: the bandwidth information comprises a greater bandwidth than a bandwidth stored within the entry, the latency information comprises a lesser latency than a latency stored within the entry, and the distance comprises a lesser distance than the distance stored within the entry.

Assignments (4)
SECURITY INTEREST Recorded May 21, 2019
From: LATTICE SEMICONDUCTOR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 049980/0786 →
SECURITY INTEREST Recorded Mar 8, 2016
From: LATTICE SEMICONDUCTOR CORPORATION; SILICON IMAGE, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 037924/0839 →
MERGER Recorded Aug 21, 2015
From: SILICON IMAGE, INC.
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 036419/0792 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2015
From: SMITH, TALIAFERRO; YARYGIN, SERGEY
To: SILICON IMAGE, INC.
Reel/Frame 035109/0938 →
Continuity (2)
Provisional Application 61991126 · May 9, 2014
Related Publication 20150326441A1 · Nov 12, 2015