Channel aggregation having low latency and overhead

Pulse or digital communications – Systems using alternating or pulsating current – Plural channels for transmission of a single pulse train

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C455S062000, C370S431000, C370S329000

Reexamination Certificate

active

06240140

ABSTRACT:

BACKGROUND OF THE INVENTION
The invention relates generally to data communications, and more particularly, to a channel aggregation method and apparatus featuring low latency and low overhead and applicable to channels with varying channel rates.
In the field of digital communications, it is often useful to improve the effective communications bandwidth between two entities by aggregating multiple communication channels to transmit a single data stream. For example, video teleconferencing systems which operate over “plain old telephone service” (POTS) lines require, for acceptable resolution and frame rate, data transmission rates which exceed those which can be provided by a single line. Greater data transmission rates can be achieved by using multiple POTS lines to form a single communications link. A known technique for channel aggregation is the use of a synchronous aggregation protocol. Synchronous aggregation protocols operate by fixing the pattern in which units of data are distributed to each channel. Since the pattern is fixed (for a given channel count), there is no overhead needed to assure that the transmitter and receiver can uniquely determine which units of data are to travel over which channel. Since there is no overhead, the units of distributed data may be arbitrarily small, resulting in little latency added by the protocol. As a result, synchronous protocols can simultaneously achieve both low latency and lower overhead. However, because the distribution pattern is fixed, synchronous channel aggregation protocols cannot operate on channels of arbitrary, differing, or time varying bit-rate. They cannot, for example, reliably operate over POTS lines, since each POTS line will have an unpredictable quality, resulting in unpredictable transmission rates on any given line. An alternative known technique for channel aggregation is the use of a packet oriented channel aggregation protocol. In a packet oriented channel aggregation protocol, data is divided into fixed or variable length packets and each packet is transmitted on one of the channels over which the aggregation is being performed. The transmitter typically chooses to send a packet on the channel whose transmit queue is least full—allowing it to distribute packets proportionally on all channels regardless of their rate. With each packet, the transmitter must include a header to delineate packet boundaries and identify the original order of the packets so that the receiver can reconstruct the original data stream. The overhead of a packet oriented channel aggregation protocol is inversely proportional to the size of the packets—the smaller the packet, the larger the percentage of the packet size that consists of header or overhead information. The latency of transmission, however, is proportional to the size of the packets—the larger the packet, the greater the latency introduced by the channel aggregation protocol. This results in a trade-off between latency and overhead in known packet based channel aggregation protocols.
It is an object of the invention to achieve a channel aggregation protocol which can operate over an arbitrary and varying number of channels of arbitrary, differing, and time-varying bit rates, but which simultaneously exhibits low overhead and low latency. Another object of the invention is to achieve this result in a protocol of low implementation complexity. Another object of the invention is to achieve this result over channels which are unidirectional or bi-directional.
SUMMARY OF THE INVENTION
The present invention provides a method and system for aggregating an arbitrary and time-varying number of multiple channels of arbitrary, differing, and time-varying bit-rates, to communicate a single stream of data between a transmitter and a receiver. The invention features a transmitter and a receiver, both of which include a finite state machine for deterministicly producing a progression of channel indicators. Data samples from an input stream are transmitted over individual channels according to the output of the finite state machine, and data samples are read from the individual channels and processed by the receiver to recreate the data samples of the input stream in the same order. The invention features a method for re-synchronizing the finite state machines in the transmitter and the receiver at any time, and in particular after any change in the number of channels, or their data transmission rates. The invention also features a method for error detection.
In general, in one aspect, the invention features, in a data transmission system having a plurality of data transmission channels, a transmitter and a receiver, a method for transmitting data samples comprising including transmitting at the transmitter a first set of initialization data over a first set of data transmission channels, receiving at the receiver, from the first set of data transmission channels, the first set of initialization data, initializing a first finite state machine in the transmitter using the first set of initialization data, initializing a second finite state machine in the receiver using the first set of initialization data, repeatedly using the first finite state machine to generate a first channel identifier, selecting a selected transmission channel from the first set of data transmission channels according to the value of the channel identifier, and transmitting, from the transmitter to the receiver, a data sample over the selected data transmission channel and repeatedly using the second finite state machine to generate a channel identifier, selecting a selected data transmission channel from the first set of data transmission channels according to the value of the channel identifier, and reading, at the receiver, a data sample from the selected data transmission channel.
Preferred embodiments may include one or more of the following features. The set of initialization data includes, for each channel in the first set of data transmission channels, a channel proportion value, proportional to the relative throughput rate of the channel. Using the finite state machine to generate a channel identifier includes incrementing a state variable associated with each of the first set of data transmission channels by the channel proportion value associated with the channel, identifying the data transmission channel having the largest associated state variable, generating the channel identifier associated with the identified data transmission channel, and decrementing the state variable associated with the identified data transmission channel by an amount equal to the total of channel proportion parameters for each of the first set of data transmission channels. Transmitting initialization data over the set of data transmission channels includes transmitting a header set which includes at least one header block transmitted over each of the first set of data transmission channels, and for each channel the header block includes a channel proportion parameter proportional to the relative throughput of the channel. Transmitting initialization data over the set of data transmission channels includes transmitting a header set which includes at least one header block transmitted over each of the first set of data transmission channels, and for each channel the header block includes a header flag, a sequence number common to all of the header blocks in the header set, a channel tag identifying the channel, and information specifying whether the channel tag is the largest of the channel tags identifying channels in the first selected set of data transmission channels. After performing the steps outlined above, transmitting a second set of initialization data over a second set of data transmission channels, receiving at the receiver, from the second set of data transmission channels, the second set of initialization data, initializing the first finite state machine using the second set of initialization data and initializing the second finite state machine using the second set of initialization data. Transmitting a da

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Channel aggregation having low latency and overhead does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Channel aggregation having low latency and overhead, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Channel aggregation having low latency and overhead will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2452733

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.