IP Library Granted Patent US 9,590,825
Granted Patent B2
US 9,590,825 · App. 14/597,188 · Granted Mar 7, 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,590,825
App. No.
14/597,188
Granted
Mar 7, 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 (73)

1. A method comprising:

receiving, at a node in a data path from an upstream node, a request to establish a data stream, the data path comprising a source node, a sink node, and one or more intermediary nodes, the node comprising at least a processor and a non-transitory computer-readable storage medium storing instructions executable by the processor;

outputting, by the node to a downstream node, the request to establish the data stream;

receiving, by the node from the downstream node, a list of formats compatible with the downstream node;

generating an updated list of formats by:

removing formats from the list of formats with which the node is not compatible; and

adding additional formats to the list, each additional format comprising a format which the node can transcode into one or more of the formats within the list of formats;

providing the updated list of formats to the upstream node; and

receiving confirmation of a selected format from the upstream node, the selected format comprising a format from the updated list of formats.

2. The method of claim 1 , wherein the selected format comprises a format selected by the source node from a list of formats received by the source node from a node downstream from the source node.

3. The method of claim 2 , wherein the list of formats received by the source node comprises the updated list of formats.

4. The method of claim 2 , wherein the list of formats received by the source node comprises a list of formats generated by a node upstream from the node based at least in part on the updated list of formats.

5. The method of claim 2 , wherein the selected format comprises a format selected by a node upstream from the node based at least in part on an initial format selected by the source node, the node upstream from the node configured to transcode data in the initial format to data in the selected format.

6. The method of claim 1 , further comprising:

in response to the selected format comprising a format on the received list of formats, providing the received confirmation of the selected format to the downstream node; and

in response to the selected format comprising a format on the updated list of formats but not the received list of formats:

selecting an updated format, the updated format comprising a format into which the node can transcode the selected format; and

providing an updated confirmation to the downstream node, the updated confirmation comprising the updated format.

7. The method of claim 1 , further comprising:

receiving data stream data from the upstream node in the selected format;

in response to the selected format comprising a format on the received list of formats, outputting the received data to the downstream node; and

in response to the selected format comprising a format on the updated list of formats but not the received list of formats:

transcoding the received data into an updated format, the updated format comprising a format on the received list of formats; and

providing the transcoded data to the downstream node.

8. A system comprising:

a first node within a data path and communicatively coupled to an upstream node and a downstream node, the data path comprising a source node, a sink node, and one or more intermediary nodes, the first node comprising a processor specially configured to enable communication by the first node with the upstream node and the downstream node and to enable the first node to perform steps comprising:

receiving, from the upstream node, a request to establish a data stream;

outputting, to the downstream node, the request to establish the data stream;

receiving, from the downstream node, a list of formats compatible with the downstream node;

generating an updated list of formats by:

removing formats from the list of formats with which the first node is not compatible; and

adding additional formats to the list, each additional format comprising a format which the first node can transcode into one or more of the formats within the list of formats;

providing the updated list of formats to the upstream node; and

receiving confirmation of a selected format from the upstream node, the selected format comprising a format from the updated list of formats.

9. The system of claim 8 , wherein the selected format comprises a format selected by the source node from a list of formats received by the source node from a node downstream from the source node.

10. The system of claim 9 , wherein the list of formats received by the source node comprises the updated list of formats.

11. The system of claim 9 , wherein the list of formats received by the source node comprises a list of formats generated by a node upstream from the first node based at least in part on the updated list of formats.

12. The system of claim 9 , wherein the selected format comprises a format selected by a node upstream from the first node based at least in part on an initial format selected by the source node, the node upstream from the first node configured to transcode data in the initial format to data in the selected format.

13. The system of claim 8 , wherein the processor further enables the first node to perform steps comprising:

in response to the selected format comprising a format on the received list of formats, providing the received confirmation of the selected format to the downstream node; and

in response to the selected format comprising a format on the updated list of formats but not the received list of formats:

selecting an updated format, the updated format comprising a format into which the first node can transcode the selected format; and

providing an updated confirmation to the downstream node, the updated confirmation comprising the updated format.

14. The system of claim 8 , wherein the processor further enables the first node to perform steps comprising:

receiving data stream data from the upstream node in the selected format;

in response to the selected format comprising a format on the received list of formats, outputting the received data to the downstream node; and

in response to the selected format comprising a format on the updated list of formats but not the received list of formats:

transcoding the received data into an updated format, the updated format comprising a format on the received list of formats; and

providing the transcoded data to the downstream node.

15. A non-transitory computer-readable storage medium storing computer instructions configured to, when executed by a processor of a first node within a data path and communicatively coupled to an upstream node and a downstream node, the data path comprising a source node, a sink node, and one or more intermediary nodes, cause the first node to perform steps comprising:

receiving, from the upstream node, a request to establish a data stream, the data path comprising a source node, a sink node, and one or more intermediary nodes;

outputting, to the downstream node, the request to establish the data stream;

receiving, from the downstream node, a list of formats compatible with the downstream node;

generating an updated list of formats by:

removing formats from the list of formats with which the first node is not compatible; and

adding additional formats to the list, each additional format comprising a format which the first node can transcode into one or more of the formats within the list of formats;

providing the updated list of formats to the upstream node; and

receiving confirmation of a selected format from the upstream node, the selected format comprising a format from the updated list of formats.

16. The computer-readable storage medium of claim 15 , wherein the selected format comprises a format selected by the source node from a list of formats received by the source node from a node downstream from the source node.

17. The computer-readable storage medium of claim 16 , wherein the list of formats received by the source node comprises the updated list of formats.

18. The computer-readable storage medium of claim 16 , wherein the list of formats received by the source node comprises a list of formats generated by a node upstream from the first node based at least in part on the updated list of formats.

19. The computer-readable storage medium of claim 16 , wherein the selected format comprises a format selected by a node upstream from the first node based at least in part on an initial format selected by the source node, the node upstream from the first node configured to transcode data in the initial format to data in the selected format.

20. The computer-readable storage medium of claim 15 , the instructions configured to cause the first node to perform further steps comprising:

in response to the selected format comprising a format on the received list of formats, providing the received confirmation of the selected format to the downstream node; and

in response to the selected format comprising a format on the updated list of formats but not the received list of formats:

selecting an updated format, the updated format comprising a format into which the first node can transcode the selected format; and

providing an updated confirmation to the downstream node, the updated confirmation comprising the updated format.

21. The method of claim 15 , the instructions configured to cause the first node to perform further steps comprising:

receiving data stream data from the upstream node in the selected format;

in response to the selected format comprising a format on the received list of formats, outputting the received data to the downstream node; and

in response to the selected format comprising a format on the updated list of formats but not the received list of formats:

transcoding the received data into an updated format, the updated format comprising a format on the received list of formats; and

providing the transcoded data to the downstream node.

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/0944 →
Continuity (2)
Provisional Application 61991126 · May 9, 2014
Related Publication 20150326440A1 · Nov 12, 2015