Claims
- 1. A method for a radio link control (RLC) protocol that allows at least partial recovery of a streaming service over a wireless communication channel, comprising the steps of:
determining a play out time for each RLC block as a function of block size, play out rate and allowed delay for each transmission; aborting recovery for a RLC block if said RLC block is not received by a respective play out time thereof; and receiving and recovering said RLC block that is received by the respective play out time thereof.
- 2. The method of claim 1, wherein at a receiver said play out time for a RLC block of sequence number n is given by:
- 3. The method of claim 1, wherein a receiver receiving RLC blocks acknowledges RLC blocks that are not received by the play out time.
- 4. The method of claim 1, further comprising the step of:
at the initial transmission of an RLC block, transmitting a first plurality of copies, which are derived from the RLC block through different puncturings thereof; and at each subsequent retransmission, transmitting a second plurality of copies of the RLC block wherein the number of copies of said second plurality of copies is selected to maximize a streaming rate under loss and delay constraints.
- 5. The method of claim 4, wherein the number of copies of said second plurality of copies is also selected to minimize channel occupancy.
- 6. The method of claim 5, wherein copies are selected by cycling through puncturings, P1, P2 and P3 such that redundant information provided has minimal overlap with previous transmissions to improve performance when said receiver can store and combine this information.
- 7. The method of claim 6, wherein if an amount of new data available to an RLC of the transmitter is less than a total number of bits that can fit into a space within a RLC block of data, then the RLC of the transmitter waits until enough data becomes available even though this reduces channel occupancy.
- 8. The method of claim 6, wherein if an amount of new data available to an RLC of the transmitter is less than a total number of bits that can fit into a space within a RLC block of data, then the RLC of the transmitter uses more robust modulation and coding.
- 9. The method of claim 8, wherein said RLC of the transmitter provides a play out time reference to an RLC of the receiver by adding an update time reference (UTR) bit to an RLC/MAC header and to each initial transmission of an RLC block.
- 10. The method of claim 9 wherein the RLC of the transmitter sets UTR equal to one and the RLC block experiences a short queuing delay.
- 11. The method of claim 8, wherein:
the receiver RLC establishes a play out time, p, for the delivery of the data contained in each RLC block to the higher layer; said play out time being determined with respect to a rolling time reference and said play out time for a RLC block with sequence number, n, is set to p(n)=τ(k)+D+[(n−k) mod N]*(B/R), with R being the play out rate (in kbps), D being the delay budget in seconds, B being the amount of data contained in each RLC block (in kbits), N being the size of the sequence number space, τ(k) being a time of receipt of the first header with sequence number k, or a header with UTR=1 and sequence number k if the UTR bit is used.
- 12. The method of claim 8, wherein:
the receiver RLC establishes a play out time, p, for the delivery of the data contained in each RLC block to the higher layer; said play out time being determined with respect to a rolling time reference and said play out time for a RLC block with sequence number, n, is set to p(n)=τ(k)+D+[(n−k) mod N]*(B/R), with R being the play out rate (in kbps), D being the delay budget in seconds, B being the amount of data contained in each RLC block (in kbits), N being the size of the sequence number space, τ(k) being a time of receipt of the first header with sequence number k, with the receiver using a moving average value of τ(k).
- 13. A method for a radio link control (RLC) protocol for at least partial recovery of lost or corrupted data in a streaming data based service for use in wireless telephony, comprising the steps of:
determining a maximum number of retransmissions for each RLC block of data from a maximum delivery delay of the service and a round trip delay between two wireless stations; during an initial transmission of a first RLC block of data, transmitting a first plurality of copies of said RLG block of data; said copies are not identical since each of said plurality of copies is derived from a different puncturing of said RLC block of data; and during each subsequent retransmission, transmitting a second plurality of copies of said RLC block of data such that said second plurality of copies is selected to maximize the streaming data rate within data loss and data delay constraints.
- 14. The method of claim 13, further comprising the step of during each subsequent retransmission, transmitting a second plurality of copies of said RLC block of data such that said second plurality of copies is selected to also minimize channel occupancy.
- 15. The method of claim 14, wherein all said copies are selected by cycling through three puncturings of said RLC block of data such that each punctured copy of the block of data has minimal overlap with other punctured copies of the same RLC block of data transmitted previously.
- 16. The method of claim 15, wherein a receiving station stores and combines said copies with different puncturings to provide correction of errors of corruption or loss in said previous transmission.
- 17. The method of claim 16, wherein said RLC of the transmitter provides a play out time reference to an RLC of the receiver by adding an update time reference (UTR) bit to an RLC/MAC header and to each initial transmission of an RLC block.
- 18. The method of claim 17 wherein the RLC of the transmitter sets UTR equal to one and the RLC block experiences a short queuing delay.
- 19. The method of claim 18, wherein the receiver RLC establishes a play out time, p, for the delivery of the data contained in each RLC block to the higher layer; said play out time being determined with respect to a rolling time reference and said play out time for a RLC block with sequence number, n, is set to p(n)=(k)+D+[(n−k) mod N]*(B/R), with R being the play out rate (in kbps), D being the delay budget in seconds, B being the amount of data contained in each RLC block (in kbits), N being the size of the sequence number space, τ(k) being a time of receipt of the first header with sequence number k, or a header with UTR=1 and sequence number k if the UTR bit is used.
- 20. The method of claim 18, wherein the receiver RLC establishes a play out time, p, for the delivery of the data contained in each RLC block to the higher layer; said play out time being determined with respect to a rolling time reference and said play out time for a RLC block with sequence number, n, is set to p(n)=τ(k)+D+[(n−k) mod N]*(B/R), with R being the play out rate (in kbps), D being the delay budget in seconds, B being the amount of data contained in each RLC block (in kbits), N being the size of the sequence number space, τ(k) being a time of receipt of the first header with sequence number k, with a receiver using a moving average value of τ(k).
- 21. The method of claim 16, wherein if an amount of new data available to an RLC of the transmitter is less than a total number of bits that can fit into a space within a RLC block of data, then the RLC of the transmitter waits until enough data becomes available even though this reduces channel occupancy.
- 22. The method of claim 21, wherein the receiver RLC establishes a play out time, p, for the delivery of the data contained in each RLC block to the higher layer; said play out time being determined with respect to a rolling time reference and said play out time for a RLC block with sequence number, n, is set to p(n)=τ(k)+D+[(n−k)mod N]*(B/R), with R being the play out rate (in kbps), D being the delay budget in seconds, B being the amount of data contained in each RLC block (in kbits), N being the size of the sequence number space, τ(k) being a time of receipt of the first header with sequence number k, or a header with UTR=1 and sequence number k if the UTR bit is used.
- 23. A system for a radio link control (RLC) protocol for at least partial recovery of lost or corrupted data in a streaming data based service for use in wireless communication, comprising:
means for determining a maximum number of retransmissions for each RLC block of data from a maximum delivery delay of the service and a round trip delay between a base station and a remote station, said determining means being located at said base station; first means for transmitting a first plurality of copies of said RLG block of data during an initial transmission of a first RLC block of data, said first transmitting means being located also at said base station, said copies being non-identical since each of said plurality of copies is derived from a different puncturing of said RLC block of data; and second means for transmitting a second plurality of copies of said RLC block of data during each subsequent retransmission, said second transmitting means being located also at said base station, wherein said second plurality of copies is selected to maximize a streaming data rate while operating within data loss and data delay constraints.
- 24. The system of claim 23, wherein:
said second transmitting means transmitting said second plurality of copies of said RLC block of data such that said second plurality of copies is likewise selected to minimize channel occupancy; and said first transmitting means and said second transmitting means share a common transmitter but have different copies of data to transmit to said remote station for reception thereat.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority of Provisional Application Ser. No. 60/223,418 which was filed Aug. 7, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60223418 |
Aug 2000 |
US |