Claims
- 1. A method for transmitting a stream of data over a channel made up of a plurality of subchannels having respective subchannel rates, the method comprising:
partitioning the data among the subchannels, such that successive words of the data are mapped to the subchannels in alternation responsive to the respective subchannel rates; transmitting the words of the data over the subchannels to which they are mapped; and receiving and processing the words from the subchannels to recover the stream of data.
- 2. A method according to claim 1, wherein partitioning the data comprises mapping bytes of the data in alternation to the subchannels.
- 3. A method according to claim 1, wherein the stream of data is divided into a sequence of data blocks, each such block comprising a number of the words and having a block size defined by the number of the words therein, and wherein partitioning the data comprises mapping the successive words to the subchannels in a manner substantially independent of the block size.
- 4. A method according to claim 3, wherein the data blocks belong to one of a group of block types consisting of data frames, packets and cells.
- 5. A method according to claim 3, and comprising framing the blocks in accordance with a data framing protocol applicable to the channel prior to mapping the successive words to the subchannels, and wherein processing the words comprises reassembling the blocks.
- 6. A method according to claim 5, wherein framing the blocks comprises, for each block among at least some of the blocks, combining the data from multiple bearers in a payload of the block, and wherein mapping the successive words comprises mapping the words to the subchannels in a manner substantially independent of a partitioning of the payload among the multiple bearers.
- 7. A method according to claim 6, wherein combining the data comprises altering the partitioning of the payload of the blocks, without affecting the partitioning of the data among the subchannels.
- 8. A method according to claim 1, wherein the plurality of subchannels comprise a plurality of different frequency bands carried on a common physical channel.
- 9. A method according to claim 1, wherein each of the plurality of subchannels comprises a separate group of one or more wires.
- 10. A method according to claim 1, wherein partitioning the data comprises changing the partitioning among the subchannels while transmitting the words of the data, responsive to a change in one or more of the subchannels.
- 11. A method according to claim 1, wherein partitioning the data comprises deciding, for each word among the successive words, to which of the subchannels the word should be mapped.
- 12. A method according to claim 11, wherein deciding to which of the subchannels the word should be mapped comprises assigning respective numbers of the words to the subchannels so that at any point in time while transmitting the words of the data over the subchannels, a ratio of the numbers of the words that have been assigned to each of a given pair of the subchannels is approximately equal to the ratio of the respective subchannel rates.
- 13. A method according to claim 11, wherein deciding to which of the subchannels the word should be mapped comprises assigning the words to the subchannels in an order such that the words that are mapped to each of the subchannels are distributed approximately evenly with respect to the stream of data.
- 14. A method according to claim 11, wherein deciding to which of the subchannels the word should be mapped comprises computing in advance a table of assignment of the successive words to the subchannels, and wherein partitioning the data comprises mapping the words to the subchannels responsive to the table.
- 15. A method according to claim 11, wherein deciding to which of the subchannels the word should be mapped comprises interleaving the words among the subchannels in an order that is fully determined by the subchannel rates.
- 16. A method according to claim 15, wherein receiving and processing the words comprises determining, dependent upon the rates, an order in which to reassemble the words so as to recover the stream of data.
- 17. A method according to claim 11, wherein deciding to which of the subchannels the word should be mapped comprises selecting one of the subchannels responsive to an accumulated value indicative of a distribution of the words among the subchannels, and updating the accumulated value responsive to the selected subchannel for use in deciding to which of the subchannels subsequent words should be mapped.
- 18. A method according to claim 17, wherein selecting one of the subchannels comprises assigning a respective subchannel value to each of the subchannels in proportion to the respective subchannel rates, and wherein updating the accumulated value comprises changing the accumulated value responsive to the subchannel value assigned to the selected subchannel.
- 19. A method according to claim 17, wherein updating the accumulated value comprises computing respective accumulated values for all the subchannels, responsive to the subchannel rates and to respective numbers of the words mapped to the subchannels, and wherein selecting one of the subchannels comprises selecting the one of the subchannels whose respective accumulated value satisfies a predetermined criterion.
- 20. A method according to claim 17, wherein the plurality of subchannels comprises three or more subchannels, and wherein deciding to which of the subchannels the word should be mapped comprises:
grouping at least two of the subchannels together in a subchannel group; routing a subset of the words of the data to the subchannel group; and splitting the subset of the words among the subchannels in the subchannel group.
- 21. A method according to claim 20, wherein grouping at least two of the subchannels comprises assigning the subchannels in multiple subchannel groups, and providing a hierarchy of splitters for dividing the words among the groups, wherein routing and splitting the subset of the words comprises controlling the splitters so as to route and split the subset of the words.
- 22. A method according to claim 1, wherein transmitting the words of the data comprises transmitting the data over a Digital Subscribe Line (DSL) connection.
- 23. A method for transmitting a stream of data over a channel made up of a plurality of subchannels, the method comprising:
framing the data in a sequence of data blocks in accordance with a data framing protocol; partitioning the data in each of the blocks among the subchannels, such that successive words of the data are mapped to the subchannels in alternation, in a manner substantially independent of the framing of the data blocks; transmitting the words of the data over the subchannels to which they are mapped; and receiving and processing the words from the subchannels so as to reassemble the data blocks.
- 24. A method according to claim 23, wherein the data blocks belong to one of a group of block types consisting of data frames, packets and cells.
- 25. A method according to claim 23, wherein framing the data comprises framing the blocks in accordance with a data framing protocol applicable to the channel.
- 26. A method according to claim 25, wherein framing the blocks comprises, for each block among at least some of the blocks, combining the data from multiple bearers in a payload of the block, and wherein mapping the successive words comprises mapping the words to the subchannels in a manner substantially independent of a partitioning of the payload among the multiple bearers.
- 27. A method according to claim 26, wherein combining the data comprises altering the partitioning of the payload of the blocks, substantially without affecting the partitioning of the data among the subchannels.
- 28. Apparatus for transmitting a stream of data over a channel made up of a plurality of subchannels having respective subchannel rates, the apparatus comprising:
a subchannel demultiplexer, which is adapted to partition the data among the subchannels by mapping successive words of the data to the subchannels in alternation responsive to the respective subchannel rates; and one or more physical layer interfaces, coupled to transmit the words of the data over the subchannels to which they are mapped, whereby a receiver is able to receive and process the words from the subchannels to recover the stream of data.
- 29. Apparatus according to claim 28, wherein the subchannel demultiplexer is adapted to map bytes of the data in alternation to the subchannels.
- 30. Apparatus according to claim 28, wherein the stream of data is divided into a sequence of data blocks, each such block comprising a number of the words and having a block size defined by the number of the words therein, and wherein the subchannel demultiplexer is adapted to map the successive words to the subchannels in a manner substantially independent of the block size.
- 31. Apparatus according to claim 30, wherein the data blocks belong to one of a group of block types consisting of data frames, packets and cells.
- 32. Apparatus according to claim 30, and comprising a protocol processor, which is adapted to frame the blocks in accordance with a data framing protocol applicable to the channel, prior to mapping the successive words to the subchannels by the subchannel demultiplexer.
- 33. Apparatus according to claim 32, wherein the protocol processor is adapted, for each block among at least some of the blocks, to combine the data from multiple bearers in a payload of the block, and wherein the subchannel demultiplexer is adapted to map the words to the subchannels in a manner substantially independent of a partitioning of the payload among the multiple bearers.
- 34. Apparatus according to claim 33, wherein the protocol processor is adapted to alter the partitioning of the payload of the blocks, without affecting the partitioning of the data among the subchannels by the subchannel demultiplexer.
- 35. Apparatus according to claim 28, wherein the plurality of subchannels comprise a plurality of different frequency bands carried on a common physical channel.
- 36. Apparatus according to claim 28, wherein each of the plurality of subchannels comprises a separate group of one or more wires, and wherein the one or more physical layer interfaces comprise a plurality of physical layer interfaces, respectively coupled to the plurality of subchannels.
- 37. Apparatus according to claim 28, wherein the subchannel demultiplexer is adapted to change the partitioning of the data among the subchannels while transmitting the words of the data, responsive to a change in one or more of the subchannels.
- 38. Apparatus according to claim 28, wherein the subchannel demultiplexer is adapted to partition the data by deciding, for each word among the successive words, to which of the subchannels the word should be mapped.
- 39. Apparatus according to claim 38, wherein the subchannel demultiplexer is adapted to assign respective numbers of the words to the subchannels so that at any point in time while transmitting the words of the data over the subchannels, a ratio of the numbers of the words that have been assigned to each of a given pair of the subchannels is approximately equal to the ratio of the respective subchannel rates.
- 40. Apparatus according to claim 38, wherein the subchannel demultiplexer is adapted to assign the words to the subchannels in an order such that the words that are mapped to each of the subchannels are distributed approximately evenly with respect to the stream of data.
- 41. Apparatus according to claim 38, wherein the subchannel demultiplexer is adapted to map the words to the subchannels responsive to a pre-computed table of assignment of the successive words to the subchannels.
- 42. Apparatus according to claim 38, wherein the subchannel demultiplexer is adapted to interleave the words among the subchannels in an order that is fully determined by the subchannel rates, whereby the receiver is able to determine, dependent upon the rates, an order in which to reassemble the words so as to recover the stream of data.
- 43. Apparatus according to claim 38, wherein the subchannel demultiplexer is adapted to select one of the subchannels to which the word should be mapped responsive to an accumulated value indicative of a distribution of the words among the subchannels, and to update the accumulated value responsive to the selected subchannel for use in deciding to which of the subchannels subsequent words should be mapped.
- 44. Apparatus according to claim 43, wherein the subchannel demultiplexer is adapted to assign a respective subchannel value to each of the subchannels in proportion to the respective subchannel rates, and to update the accumulated value responsive to the subchannel value assigned to the selected subchannel.
- 45. Apparatus according to claim 43, wherein the subchannel demultiplexer is adapted to compute respective accumulated values for all the subchannels, responsive to the subchannel rates and to respective numbers of the words mapped to the subchannels, and to select the one of the subchannels whose respective accumulated value satisfies a predetermined criterion.
- 46. Apparatus according to claim 43, wherein the plurality of subchannels comprises three or more subchannels, and wherein the subchannel demultiplexer is adapted to decide to which of the subchannels the word should be mapped by grouping at least two of the subchannels together in a subchannel group, routing a subset of the words of the data to the subchannel group, and splitting the subset of the words among the subchannels in the subchannel group.
- 47. Apparatus according to claim 46, wherein the subchannel demultiplexer comprises a hierarchy of splitters arranged so as to group the subchannels in multiple subchannel groups, and is adapted to control the splitters so as to route and split the words among the multiple groups.
- 48. Apparatus according to claim 28, wherein the channel comprises a Digital Subscribe Line (DSL) connection.
- 49. Apparatus for transmitting a stream of data over a channel made up of a plurality of subchannels, the method comprising:
a protocol processor, which is adapted to frame the data in a sequence of data blocks; a subchannel demultiplexer, which is adapted to partition the data among the subchannels by mapping successive words of the data to the subchannels in alternation, substantially independently of the framing of the data blocks by the protocol processor; one or more physical layer interfaces, coupled to transmit the words of the data over the subchannels to which they are mapped, whereby a receiver is able to receive and process the words from the subchannels so as to reassemble the data blocks.
- 50. Apparatus according to claim 49, wherein the data blocks belong to one of a group of block types consisting of data frames, packets and cells.
- 51. Apparatus according to claim 49, wherein the protocol processor is adapted to frame the blocks in accordance with a data framing protocol applicable to the channel.
- 52. Apparatus according to claim 49, wherein the protocol processor is adapted, for each block among at least some of the blocks, to combine the data from multiple bearers in a payload of the block, and wherein the subchannel demultiplexer is adapted to map the successive words to the subchannels in a manner substantially independent of a partitioning of the payload among the multiple bearers.
- 53. Apparatus according to claim 52, wherein the protocol processor is adapted to alter the partitioning of the payload of the blocks, substantially without affecting the partitioning of the data among the subchannels.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of the following U.S. provisional patent applications: provisional application No. 60/266,802, filed Feb. 6, 2001; a provisional application entitled “Multi-Link Transmission Method,” filed Nov. 7, 2001; a provisional application entitled “Data Partitioning for a Modem with Multiple Transmit Subchannels,” filed Dec. 14, 2001; and a provisional application entitled “Apparatus and Method for Data Partitioning in a Multi-Link Modem,” filed Jan. 3, 2002. All of these related applications are incorporated herein by reference.
Provisional Applications (4)
|
Number |
Date |
Country |
|
60266802 |
Feb 2001 |
US |
|
60337038 |
Nov 2001 |
US |
|
60340283 |
Dec 2001 |
US |
|
60345492 |
Jan 2002 |
US |