MIXED SERIAL AND PARALLEL STREAM CHANNEL BONDING ARCHITECTURE
Different data communication architectures deliver a wide variety of content, including audio and video content, to consumers. The architectures employ channel bonding to deliver more bandwidth than any single communication channel can carry. In some implementations, channel bonding may be used to bond channels with mixed serial and parallel streams.
1 . A system comprising:
an input interface;
output interfaces to individual communication channels; and
logic in communication with the input interface and the output interfaces, the logic configured to:
determine which of the communications channels to employ together as a bonded channel group;
obtain source data from the input interface;
distribute channel bonding information across the output interfaces; and
distribute the source data across the communication channels in the bonded channel group, wherein a first output interface of the output interfaces is a serial interface and a second output interface of the output interfaces is a parallel interface.
2 . The system according to claim 1 , wherein the parallel interface has a plurality of communication lines that are clocked synchronously.
3 . The system according to claim 1 , wherein in the logic is configured to analyze the source data and assign the source data into the communication units.
4 . The system according to claim 1 , the logic is configured to distribute a communication unit to the parallel interface based on source data assigned to the communication unit.
5 . The system according to claim 1 , the communication unit is distributed across each of the plurality of parallel communication lines.
6 . The system of claim 1 , wherein the logic is configured to distribute the data in a round-robin manner across the bonded channel group.
7 . The system of claim 1 , where the channel bonding information comprises marker packets.
8 . The system of claim 1 , wherein the source data comprises video stream packets.
9 . A receiver system comprising:
input interfaces connected to individual communication channels, wherein a first input interface of the input interfaces is a serial interface and a second input interface of the input interfaces is a parallel interface;
an output interface connected to an output communication channel; and
logic in communication with the input interfaces and the output interface, the logic configured to:
determine which of the communications channels are employed together as a bonded channel group;
obtain data from the individual communication channels;
identify channel bonding information received from the input interfaces; and
arrange the data from the communication channels in a predefined order based on the channel bonding information.
10 . The system according to claim 9 , wherein the parallel interface has a plurality of communication lines that are clocked synchronously.
11 . The system according to claim 9 , a chunk of data is distributed across each of the plurality of parallel communication lines.
12 . The system of claim 9 , wherein the source data comprises video stream packets.
13 . The system of claim 9 , wherein the system comprises a set top box having a plurality of single band tuners and a wide band tuner.
14 . The system of claim 13 , wherein the plurality of single band tuners generate individual serial data streams that are demodulated and provided to the logic.
15 . The system of claim 13 , wherein the wideband tuner generates a wide band data stream that is demodulated and multiplexed into the parallel interface, where the logic is in communication with the parallel interface to receive the wide band data.
16 . A method comprising:
obtaining a packet stream created by a statistical multiplexer;
dividing the packet stream into communication units;
identifying a bonded channel group of communication channels among a set of available communication channels, wherein a first communication channel of the bonded channel group is a serial communication channel and a second communication channel of the bonded channel group is a parallel communication channel;
distributing channel bonding information across the bonding channel group; and
distributing the communication units across the bonded channel group.
17 . The method according to claim 16 , wherein the parallel interface has a plurality of communication lines that are clocked synchronously.
18 . The method according to claim 16 , wherein in the logic is configured to analyze the source data and assign the source data into the communication units.
19 . The method according to claim 16 , the logic is configured to distribute a communication unit to the parallel interface based on source data assigned to the communication unit.
20 . The method according to claim 19 , the communication unit is distributed across each of the plurality of parallel communication lines.