Claims
- 1. In a system comprising a network and an associated mobile station (MS) for establishing a connection and maintaining a communication channel between them, both the network and the MS capable of acting as a transmitting entity and a receiving entity, the transmitting entity for transmitting messages to the receiving entity and re-transmitting messages according to an acknowledgement procedure, a method for limiting the number of retransmitted messages sent by the transmitting entity, comprising:
receiving one or more first maximum allowable retransmission (MAR) messages, each first MAR message containing a MAR value and data rate information defining one or more ranges of data rates for the communication channel to which the MAR value in the first MAR message is assigned, each MAR value representing a maximum number of allowable retransmissions; processing the one or more first MAR messages to generate a first assignment of one or more MAR values across a range of possible data rates for the communication channel; and limiting a number of retransmitted messages sent by the transmitting entity in accordance with a current data rate of the communication channel and the MAR value assigned to the current data rate.
- 2. The method as recited in claim 1, wherein the step of limiting a number of retransmitted messages sent by the transmitting entity comprises:
limiting a number of retransmission requests sent by the receiving entity in accordance with a current data rate of the communication channel and the MAR value assigned to the current data rate.
- 3. The method as recited in claim 1, wherein the data rate information for each first MAR message comprises:
one or more lower limit data rate fields and one or more upper limit data rate fields for defining lower and upper bounds to the one or more ranges of data rates to which the MAR value in the first MAR message is assigned; and one or more lower limit data rate flags and one or more upper limit data rate flags for identifying whether the one or more lower limit data rate fields and one or more upper limit data rate fields contain valid data, or if default values should be used.
- 4. The method as recited in claim 1, wherein the step of processing the one or more first MAR messages comprises, for each first MAR message received at the receiving entity:
assigning the MAR value to the one or more ranges of data rates defined in the first MAR message while overriding any MAR value previously assigned to the one or more ranges of data rates defined in the first MAR message.
- 5. The method as recited in claim 1, wherein prior to receiving the one or more first MAR messages, the method further comprises:
identifying the first assignment of one or more MAR values across the range of possible data rates for the communication channel by determining current conditions and using statistics and history of similar or equivalent conditions to select efficient MAR values over the range of possible data rates; and determining the one or more first MAR messages for generating the first assignment of one or more MAR values.
- 6. The method as recited in claim 1, further including:
receiving the one or more first MAR messages at a start of establishment of the connection; and receiving a second set of one or more first MAR messages while the connection is active, the second set of one or more first MAR messages for updating the first assignment of one or more MAR values.
- 7. The method as recited in claim 6, wherein the second set of one or more first MAR messages are selected to update the first assignment of one or more MAR values in accordance with statistics compiled during the current connection.
- 8. The method as recited in claim 5, wherein the step of determining the one or more first MAR messages for generating the first assignment of one or more MAR values comprises:
enumerating, for each unique MAR value present in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that unique MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; identifying one or more combinations of sequences of MAR messages for generating the predetermined section of the first assignment of one or more MAR values, each combination containing one sequence for every unique MAR value present in the predetermined section of the first assignment of one or more MAR values; and selecting the combination of sequences of MAR messages that can most efficiently generate the predetermined section of the first assignment of one or more MAR values.
- 9. The method as recited in claim 5, wherein the step of determining the one or more first MAR messages for generating the first assignment of one or more MAR values comprises:
identifying, for the MAR value with the most discrete entries in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 10. The method as recited in claim 5, wherein the step of determining the one or more first MAR messages for generating the first assignment of one or more MAR values comprises:
identifying, for the MAR value assigned over the widest range of data rates in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 11. The method as recited in claim 5, wherein the step of determining the one or more first MAR messages for generating the first assignment of one or more MAR values comprises:
identifying, for the MAR value assigned to the most data rates in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 12. The method as recited in claim 5, wherein the step of determining the one or more first MAR messages for generating the first assignment of one or more MAR values comprises:
storing a mapping of MAR value patterns and efficient sequences of MAR messages for generating the MAR value patterns; and identifying one or more MAR value patterns in the first assignment of one or more MAR values and using the mapping to determine the efficient sequence of MAR messages for generating that MAR value pattern.
- 13. The method as recited in claim 5, wherein the step of identifying the first assignment of one or more MAR values comprises:
receiving one or more initial MAR messages, each initial MAR message containing a MAR value and data rate information defining one or more ranges of data rates for the communication channel to which the MAR value in the initial MAR message is assigned for generating an initial assignment of MAR values across the range of possible data rates for the communication channel; processing the one or more initial MAR messages to generate the initial assignment of MAR values; determining current conditions and using compiled statistics and history of similar or equivalent conditions to generate a second assignment of MAR values across the range of possible data rates for the communication channel; and negotiating the initial assignment of MAR values with the second assignment of MAR values to determine the first assignment of one or more MAR values.
- 14. The method as recited in claim 13, wherein the step of processing the one or more initial MAR messages comprises, for each initial MAR message received:
assigning the MAR value to the one or more ranges of data rates defined in the initial MAR message while overriding any MAR value previously assigned to the one or more ranges of data rates defined in the initial MAR message.
- 15. The method as recited in claim 13, wherein the step of negotiating comprises overriding the initial assignment of MAR values with the second assignment of MAR values at those data rates at which a conflict exists.
- 16. A mobile station (MS) associated with a base station (BS) for establishing a connection and maintaining a communication channel with the BS and configured as a receiving entity for receiving messages from the BS and for performing an acknowledgement procedure for controlling a number of retransmitted messages sent by the BS if a message is not properly received, the MS comprising:
a MS processor programmed for
receiving one or more first maximum allowable retransmission (MAR) messages from the BS, each first MAR message containing a MAR value and data rate information defining one or more ranges of data rates to which the MAR value in the first MAR message is assigned, each MAR value representing a maximum number of allowable retransmissions; processing the one or more first MAR messages to generate a first assignment of one or more MAR values across the range of possible data rates for the communication channel; and configuring the acknowledgement procedure to limit the number of retransmitted messages sent by the BS in accordance with a current data rate of the communication channel and the MAR value assigned to the current data rate.
- 17. The MS as recited in claim 16, wherein the MS processor is further programmed for processing the one or more first MAR messages by assigning, for each first MAR message received by the MS, the MAR value within that first MAR message to the one or more ranges of data rates defined in the first MAR message while overriding any MAR value previously assigned to the one or more ranges of data rates defined in the first MAR message.
- 18. The MS as recited in claim 16, the MS processor further programmed for:
receiving the one or more first MAR messages from the BS at a start of establishment of the connection; and receiving a second set of one or more first MAR messages from the BS while the connection is active, the second set of one or more first MAR messages for updating the first assignment of one or more MAR values.
- 19. The MS as recited in claim 18, wherein the second set of one or more first MAR messages are for updating the first assignment of one or more MAR values in accordance with statistics compiled by the BS during the current connection.
- 20. A mobile station (MS) associated with a base station (3S) for establishing a connection and maintaining a communication channel with the BS and configured as a transmitting entity for transmitting messages to the BS and re-transmitting messages according to an acknowledgement procedure, the BS capable of receiving one or more first maximum allowable retransmission (MAR) messages from the MS for configuring the acknowledgement procedure to limit a number of retransmitted messages sent by the MS, the MS for assisting the BS in configuring the acknowledgement procedure to limit the number of retransmitted messages sent by the MS, the MS comprising:
a MS processor programmed for communicating one or more first MAR messages from the MS to the BS, each first MAR message containing a MAR value and data rate information defining one or more ranges of data rates for the communication channel to which the MAR value in the first MAR message is assigned, the one or more first MAR messages for generating a first assignment of one or more MAR values across a range of possible data rates for the communication channel.
- 21. The MS as recited in claim 20, wherein the data rate information for each first MAR message comprises:
one or more lower limit data rate fields and one or more upper limit data rate fields for defining lower and upper bounds to the one or more ranges of data rates to which the MAR value in the first MAR message is assigned; and one or more lower limit data rate flags and one or more upper limit data rate flags for identifying whether the one or more lower limit data rate fields and one or more upper limit data rate fields contain valid data, or if default values should be used.
- 22. The MS as recited in claim 20, wherein prior to communicating the one or more first MAR messages from the MS to the BS, the MS processor is further programmed for identifying the first assignment of one or more MAR values across the range of possible data rates for the communication channel by determining current conditions and using statistics and history compiled by the MS processor of similar or equivalent conditions to select efficient MAR values over the range of possible data rates, and determining the one or more first MAR messages for generating the first assignment of one or more MAR values.
- 23. The MS as recited in claim 20, the MS processor further programmed for:
communicating the one or more first MAR messages from the MS to the BS at a start of establishment of the connection; and communicating a second set of one or more first MAR messages from the MS to the BS while the connection is active, the second set of one or more first MAR messages for updating the first assignment of one or more MAR values.
- 24. The MS as recited in claim 23, wherein the second set of one or more first MAR messages are selected to update the first assignment of one or more MAR values in accordance with statistics compiled during the current connection.
- 25. The MS as recited in claim 22, the MS processor further programmed for determining the one or more first MAR messages by:
enumerating, for each unique MAR value present in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that unique MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; identifying one or more combinations of sequences of MAR messages for generating the predetermined section of the first assignment of one or more MAR values, each combination containing one sequence for every unique MAR value present in the predetermined section of the first assignment of one or more MAR values; and selecting the combination of sequences of MAR messages that can most efficiently generate the predetermined section of the first assignment of one or more MAR values.
- 26. The MS as recited in claim 22, the MS processor further programmed for determining the one or more first MAR messages by:
identifying, for the MAR value with the most discrete entries in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 27. The MS as recited in claim 22, the MS processor further programmed for determining the one or more first MAR messages by:
identifying, for the MAR value assigned over the widest range of data rates in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 28. The MS as recited in claim 22, the MS processor further programmed for determining the one or more first MAR messages by:
identifying, for the MAR value assigned to the most data rates in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 29. The MS as recited in claim 22, the MS processor further programmed for determining the one or more first MAR messages by:
storing a mapping of MAR value patterns and efficient sequences of MAR messages for generating the MAR value patterns; and identifying one or more MAR value patterns in the first assignment of one or more MAR values and using the mapping to determine the efficient sequence of MAR messages for generating that MAR value pattern.
- 30. The MS as recited in claim 22, the MS processor further programmed for identifying the first assignment of one or more MAR values by:
receiving one or more initial MAR messages from the BS, each initial MAR message containing a MAR value and data rate information defining one or more ranges of data rates to which the MAR value is assigned, the one or more initial MAR messages for generating an initial assignment of MAR values across the range of possible data rates for the communication channel; processing the one or more initial MAR messages to generate the initial assignment of MAR values; determining current conditions at the MS and using statistics and history compiled by the MS of similar or equivalent conditions to generate a second assignment of MAR values across the range of possible data rates for the communication channel; and negotiating the initial assignment of MAR values with the second assignment of MAR values to determine the first assignment of one or more MAR values.
- 31. The MS as recited in claim 30, the MS processor further programmed for processing the one or more initial MAR messages by:
for each initial MAR message received at the MS, assigning the MAR value to the one or more ranges of data rates defined in the initial MAR message while overriding any MAR value previously assigned to the one or more ranges of data rates defined in the initial MAR message.
- 32. The MS as recited in claim 30, the MS processor further programmed for negotiating the initial assignment of MAR values with the second assignment of MAR values by overriding the initial assignment of MAR values with the second of MAR values at those data rates at which a conflict exists.
- 33. A mobile station (MS) associated with a base station (BS) for establishing a connection and maintaining a communication channel with the BS and configured as a transmitting entity for transmitting messages to the BS and re-transmitting messages according to an acknowledgement procedure, the MS comprising:
a MS processor programmed for
receiving one or more first maximum allowable retransmission (MAR) messages from the BS, each first MAR message containing a MAR value and data rate information defining one or more ranges of data rates to which the MAR value in the first MAR message is assigned, each MAR value representing a maximum number of allowable retransmissions; processing the one or more first MAR messages to generate a first assignment of one or more MAR values across the range of possible data rates for the communication channel; and limiting a number of retransmitted messages sent by the MS in accordance with a current data rate of the communication channel and the MAR value assigned to the current data rate.
- 34. The MS as recited in claim 33, wherein the MS processor is further programmed for processing the one or more first MAR messages by assigning, for each first MAR message received by the MS, the MAR value within that first MAR message to the one or more ranges of data rates defined in the first MAR message while overriding any MAR value previously assigned to the one or more ranges of data rates defined in the first MAR message.
- 35. The MS as recited in claim 33, the MS processor further programmed for:
receiving the one or more first MAR messages from the BS at a start of establishment of the connection; and receiving a second set of one or more first MAR messages from the BS while the connection is active, the second set of one or more first MAR messages for updating the first assignment of one or more MAR values.
- 36. The MS as recited in claim 35, wherein the second set of one or more first MAR messages are for updating the first assignment of one or more MAR values in accordance with statistics compiled by the BS during the current connection.
- 37. A mobile station (MS) associated with a base station (BS) for establishing a connection and maintaining a communication channel with the BS and configured as a receiving entity for receiving messages from the BS and for performing an acknowledgement procedure for assisting the BS in controlling a number of retransmitted messages sent by the BS if a message is not properly received, the BS capable of receiving one or more first maximum allowable retransmission (MAR) messages from the MS to limit a number of retransmitted messages sent by the BS, the MS comprising:
a MS processor programmed for communicating one or more first MAR messages from the MS to the BS, each first MAR message containing a MAR value and data rate information defining one or more ranges of data rates for the communication channel to which the MAR value in the first MAR message is assigned, the one or more first MAR messages for generating a first assignment of one or more MAR values across a range of possible data rates for the communication channel.
- 38. The MS as recited in claim 37, wherein the data rate information for each first MAR message comprises:
one or more lower limit data rate fields and one or more upper limit data rate fields for defining lower and upper bounds to the one or more ranges of data rates to which the MAR value in the first MAR message is assigned; and one or more lower limit data rate flags and one or more upper limit data rate flags for identifying whether the one or more lower limit data rate fields and one or more upper limit data rate fields contain valid data, or if default values should be used.
- 39. The MS as recited in claim 37, the MS processor further programmed for:
prior to communicating the one or more first MAR messages from the MS to the BS, identifying the first assignment of one or more MAR values across the range of possible data rates for the communication channel by determining current conditions and using statistics and history compiled by the MS processor of similar or equivalent conditions to select efficient MAR values over the range of possible data rates, and determining the one or more first MAR messages for generating the first assignment of one or more MAR values.
- 40. The MS as recited in claim 37, the MS processor further programmed for:
communicating the one or more first MAR messages from the MS to the BS at a start of establishment of the connection; and communicating a second set of one or more first MAR messages from the MS to the BS while the connection is active, the second set of one or more first MAR messages for updating the first assignment of one or more MAR values.
- 41. The MS as recited in claim 40, wherein the second set of one or more first MAR messages are selected to update the first assignment of one or more MAR values in accordance with statistics compiled during the current connection.
- 42. The MS as recited in claim 39, the MS processor further programmed for determining the one or more first MAR messages by:
enumerating, for each unique MAR value present in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that unique MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; identifying one or more combinations of sequences of MAR messages for generating the predetermined section of the first assignment of one or more MAR values, each combination containing one sequence for every unique MAR value present in the predetermined section of the first assignment of one or more MAR values; and selecting the combination of sequences of MAR messages that can most efficiently generate the predetermined section of the first assignment of one or more MAR values.
- 43. The MS as recited in claim 39, the MS processor further programmed for determining the one or more first MAR messages by:
identifying, for the MAR value with the most discrete entries in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 44. The MS as recited in claim 39, the MS processor further programmed for determining the one or more first MAR messages by:
identifying, for the MAR value assigned over the widest range of data rates in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 45. The MS as recited in claim 39, the MS processor further programmed for determining the one or more first MAR messages by:
identifying, for the MAR value assigned to the most data rates in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 46. The MS as recited in claim 39, the MS processor further programmed for determining the one or more first MAR messages by:
storing a mapping of MAR value patterns and efficient sequences of MAR messages for generating the MAR value patterns; and identifying one or more MAR value patterns in the first assignment of one or more MAR values and using the mapping to determine the efficient sequence of MAR messages for generating that MAR value pattern.
- 47. The MS as recited in claim 39, the MS processor further programmed for identifying the first assignment of one or more MAR values by:
receiving one or more initial MAR messages from the BS, each initial MAR message containing a MAR value and data rate information defining one or more ranges of data rates to which the MAR value is assigned, the one or more initial MAR messages for generating an initial assignment of MAR values across the range of possible data rates for the communication channel; processing the one or more initial MAR messages to generate the initial assignment of MAR values; determining current conditions at the MS and using statistics and history compiled by the MS of similar or equivalent conditions to generate a second assignment of MAR values across the range of possible data rates for the communication channel; and negotiating the initial assignment of MAR values with the second assignment of MAR values to determine the first assignment of one or more MAR values.
- 48. The MS as recited in claim 47, the MS processor further programmed for processing the one or more initial MAR messages by:
for each initial MAR message received at the MS, assigning the MAR value to the one or more ranges of data rates defined in the initial MAR message while overriding any MAR value previously assigned to the one or more ranges of data rates defined in the initial MAR message.
- 49. The MS as recited in claim 47, the MS processor further programmed for negotiating the initial assignment of MAR values with the second assignment of MAR values by overriding the initial assignment of MAR values with the second of MAR values at those data rates at which a conflict exists.
- 50. A base station (BS) associated with a mobile station (MS) for establishing a connection and maintaining a communication channel with the MS and configured as a receiving entity for receiving messages from the MS and for performing an acknowledgement procedure for controlling a number of retransmitted messages sent by the MS if a message is not properly received, the BS comprising:
a BS processor programmed for
receiving one or more first maximum allowable retransmission (MAR) messages from the MS, each first MAR message containing a MAR value and data rate information defining one or more ranges of data rates to which the MAR value in the first MAR message is assigned, each MAR value representing a maximum number of allowable retransmissions; processing the one or more first MAR messages to generate a first assignment of one or more MAR values across a range of possible data rates for the communication channel; and configuring the acknowledgement procedure to limit the number of retransmitted messages sent by the MS in accordance with a current data rate of the communication channel and the MAR value assigned to the current data rate.
- 51. The BS as recited in claim 50, wherein the BS processor is further programmed for processing the one or more first MAR messages by assigning, for each first MAR message received by the BS, the MAR value within that first MAR message to the one or more ranges of data rates defined in the first MAR message while overriding any MAR value previously assigned to the one or more ranges of data rates defined in the first MAR message.
- 52. The BS as recited in claim 50, the BS processor further programmed for:
receiving the one or more first MAR messages from the MS at a start of establishment of the connection; and receiving a second set of one or more first MAR messages from the MS while the connection is active, the second set of one or more first MAR messages for updating the first assignment of one or more MAR values.
- 53. The BS as recited in claim 52, wherein the second set of one or more first MAR messages are for updating the first assignment of one or more MAR values in accordance with statistics compiled by the BS during the current connection.
- 54. A base station (BS) associated with a mobile station (MS) for establishing a connection and maintaining a communication channel with the MS and configured as a transmitting entity for transmitting messages to the MS and re-transmitting messages according to an acknowledgement procedure, the MS capable of receiving one or more first MAR messages from the BS for configuring the acknowledgement procedure to limit a number of retransmitted messages sent by the BS, the BS for assisting the MS in configuring the acknowledgement procedure to limit the number of retransmitted messages sent by the BS, the BS comprising:
a BS processor programmed for communicating one or more first MAR messages from the BS to the MS, each first MAR message containing a MAR value and data rate information defining one or more ranges of data rates for the communication channel to which the MAR value in the first MAR message is assigned, the one or more first MAR messages for generating a first assignment of one or more MAR values across a range of possible data rates for the communication channel.
- 55. The BS as recited in claim 54, wherein the data rate information for each first MAR message comprises:
one or more lower limit data rate fields and one or more upper limit data rate fields for defining lower and upper bounds to the one or more ranges of data rates to which the MAR value in the first MAR message is assigned; and one or more lower limit data rate flags and one or more upper limit data rate flags for identifying whether the one or more lower limit data rate fields and one or more upper limit data rate fields contain valid data, or if default values should be used.
- 56. The BS as recited in claim 54, the BS processor further programmed for:
prior to communicating the one or more first MAR messages from the BS to the MS, identifying the first assignment of one or more MAR values across the range of possible data rates for the communication channel by determining current conditions and using statistics and history compiled by the BS processor of similar or equivalent conditions to select efficient MAR values over the range of possible data rates, and determining the one or more first MAR messages for generating the first assignment of one or more MAR values.
- 57. The BS as recited in claim 54, the BS processor further programmed for:
communicating the one or more first MAR messages from the BS to the MS at a start of establishment of the connection; and communicating a second set of one or more first MAR messages from the BS to the MS while the connection is active, the second set of one or more first MAR messages for updating the first assignment of one or more MAR values.
- 58. The BS as recited in claim 57, wherein the second set of one or more first MAR messages are selected to update the first assignment of one or more MAR values in accordance with statistics compiled during the current connection.
- 59. The BS as recited in claim 56, the BS processor further programmed for determining the one or more first MAR messages by:
enumerating, for each unique MAR value present in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that unique MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; identifying one or more combinations of sequences of MAR messages for generating the predetermined section of the first assignment of one or more MAR values, each combination containing one sequence for every unique MAR value present in the predetermined section of the first assignment of one or more MAR values; and selecting the combination of sequences of MAR messages that can most efficiently generate the predetermined section of the first assignment of one or more MAR values.
- 60. The BS as recited in claim 56, the BS processor further programmed for determining the one or more first MAR messages by:
identifying, for the MAR value with the most discrete entries in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 61. The BS as recited in claim 56, the BS processor further programmed for determining the one or more first MAR messages by:
identifying, for the MAR value assigned over the widest range of data rates in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 62. The BS as recited in claim 56, the BS processor further programmed for determining the one or more first MAR messages by:
identifying, for the MAR value assigned to the most data rates in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 63. The BS as recited in claim 56, the BS processor further programmed for determining the one or more first MAR messages by:
storing a mapping of MAR value patterns and efficient sequences of MAR messages for generating the MAR value patterns; and identifying one or more MAR value patterns in the first assignment of one or more MAR values and using the mapping to determine the efficient sequence of MAR messages for generating that MAR value pattern.
- 64. The BS as recited in claim 56, the BS processor further programmed for identifying the first assignment of one or more MAR values by:
receiving one or more initial MAR messages from the MS, each initial MAR message containing a MAR value and data rate information defining one or more ranges of data rates to which the MAR value is assigned, the one or more initial MAR messages for generating an initial assignment of MAR values across the range of possible data rates for the communication channel; processing the one or more initial MAR messages to generate the initial assignment of MAR values; determining current conditions at the BS and using statistics and history compiled by the BS of similar or equivalent conditions to generate a second assignment of MAR values across the range of possible data rates for the communication channel; and negotiating the initial assignment of MAR values with the second assignment of MAR values to determine the first assignment of one or more MAR values.
- 65. The BS as recited in claim 64, the BS processor further programmed for processing the one or more initial MAR messages by:
for each initial MAR message received at the BS, assigning the MAR value to the one or more ranges of data rates defined in the initial MAR message while overriding any MAR value previously assigned to the one or more ranges of data rates defined in the pre-negotiation MAR message.
- 66. The BS as recited in claim 64, the BS processor further programmed for negotiating the initial assignment of MAR values with the second assignment of MAR values by overriding the initial assignment of MAR values with the second assignment of MAR values at those data rates at which a conflict exists.
- 67. A base station (BS) associated with a mobile station (MS) for establishing a connection and maintaining a communication channel with the MS and configured as a transmitting entity for transmitting messages to the MS and re-transmitting messages according to an acknowledgement procedure, the BS comprising:
a BS processor programmed for
receiving one or more first maximum allowable retransmission (MAR) messages from the MS, each first MAR message containing a MAR value and data rate information defining one or more ranges of data rates to which the MAR value in the first MAR message is assigned, each MAR value representing a maximum number of allowable retransmissions; processing the one or more first MAR messages to generate a first assignment of one or more MAR values across the range of possible data rates for the communication channel; and limiting a number of retransmitted messages sent by the BS in accordance with a current data rate of the communication channel and the MAR value assigned to the current data rate.
- 68. The BS as recited in claim 67, wherein the BS processor is further programmed for processing the one or more first MAR messages by assigning, for each first MAR message received by the BS, the MAR value within that first MAR message to the one or more ranges of data rates defined in the first MAR message while overriding any MAR value previously assigned to the one or more ranges of data rates defined in the first MAR message.
- 69. The BS as recited in claim 67, the BS processor further programmed for:
receiving the one or more first MAR messages from the MS at a start of establishment of the connection; and receiving a second set of one or more first MAR messages from the MS while the connection is active, the second set of one or more first MAR messages for updating the first assignment of one or more MAR values.
- 70. The MS as recited in claim 69, wherein the second set of one or more first MAR messages are for updating the first assignment of one or more MAR values in accordance with statistics compiled by the MS during the current connection.
- 71. A base station (BS) associated with a mobile station (MS) for establishing a connection and maintaining a communication channel with the MS and configured as a receiving entity for receiving messages from the MS and for performing an acknowledgement procedure for assisting the MS in controlling a number of retransmitted messages sent by the MS if a message is not properly received, the MS capable of receiving one or more first maximum allowable retransmission (MAR) messages from the BS to limit a number of retransmitted messages sent by the MS, the BS comprising:
a BS processor programmed for communicating one or more first MAR messages from the BS to the MS, each first MAR message containing a MAR value and data rate information defining one or more ranges of data rates for the communication channel to which the MAR value in the first MAR message is assigned, the one or more first MAR messages for generating a first assignment of one or more MAR values across a range of possible data rates for the communication channel.
- 72. The BS as recited in claim 71, wherein the data rate information for each first MAR message comprises:
one or more lower limit data rate fields and one or more upper limit data rate fields for defining lower and upper bounds to the one or more ranges of data rates to which the MAR value in the first MAR message is assigned; and one or more lower limit data rate flags and one or more upper limit data rate flags for identifying whether the one or more lower limit data rate fields and one or more upper limit data rate fields contain valid data, or if default values should be used.
- 73. The BS as recited in claim 71, the BS processor further programmed for:
prior to communicating the one or more first MAR messages from the BS to the MS, identifying the first assignment of one or more MAR values across the range of possible data rates for the communication channel by determining current conditions and using statistics and history compiled by the BS processor of similar or equivalent conditions to select efficient MAR values over the range of possible data rates, and determining the one or more first MAR messages for generating the first assignment of one or more MAR values.
- 74. The BS as recited in claim 71, the BS processor further programmed for:
communicating the one or more first MAR messages from the BS to the MS at a start of establishment of the connection; and communicating a second set of one or more first MAR messages from the BS to the MS while the connection is active, the second set of one or more first MAR messages for updating the first assignment of one or more MAR values.
- 75. The BS as recited in claim 74, wherein the second set of one or more first MAR messages are selected to update the first assignment of one or more MAR values in accordance with statistics compiled during the current connection.
- 76. The BS as recited in claim 73, the BS processor further programmed for determining the one or more first MAR messages by:
enumerating, for each unique MAR value present in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that unique MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; identifying one or more combinations of sequences of MAR messages for generating the predetermined section of the first assignment of one or more MAR values, each combination containing one sequence for every unique MAR value present in the predetermined section of the first assignment of one or more MAR values; and selecting the combination of sequences of MAR messages that can most efficiently generate the predetermined section of the first assignment of one or more MAR values.
- 77. The BS as recited in claim 73, the BS processor further programmed for determining the one or more first MAR messages by:
identifying, for the MAR value with the most discrete entries in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 78. The BS as recited in claim 73, the BS processor further programmed for determining the one or more first MAR messages by:
identifying, for the MAR value assigned over the widest range of data rates in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 79. The BS as recited in claim 73, the BS processor further programmed for determining the one or more first MAR messages by:
identifying, for the MAR value assigned to the most data rates in a predetermined section of the first assignment of one or more MAR values, one or more sequences of MAR messages for assigning that MAR value to those data rates specified in that predetermined section of the first assignment of one or more MAR values; and selecting the sequence of MAR messages that can most efficiently assign that MAR value to those data rates specified in the predetermined section of the first assignment of one or more MAR values, and designating this sequence of MAR messages as the first MAR messages to be transmitted in the one or more first MAR messages.
- 80. The BS as recited in claim 73, the BS processor further programmed for determining the one or more first MAR messages by:
storing a mapping of MAR value patterns and efficient sequences of MAR messages for generating the MAR value patterns; and identifying one or more MAR value patterns in the first assignment of one or more MAR values and using the mapping to determine the efficient sequence of MAR messages for generating that MAR value pattern.
- 81. The BS as recited in claim 73, the BS processor further programmed for identifying the first assignment of one or more MAR values by:
receiving one or more initial MAR messages from the MS, each initial MAR message containing a MAR value and data rate information defining one or more ranges of data rates to which the MAR value is assigned, the one or more initial MAR messages for generating an initial assignment of MAR values across the range of possible data rates for the communication channel; processing the one or more initial MAR messages to generate the initial assignment of MAR values; determining current conditions at the BS and using statistics and history compiled by the BS of similar or equivalent conditions to generate a second assignment of MAR values across the range of possible data rates for the communication channel; and negotiating the initial assignment of MAR values with the second assignment of MAR values to determine the first assignment of one or more MAR values.
- 82. The BS as recited in claim 81, the BS processor further programmed for processing the one or more initial MAR messages by:
for each initial MAR message received at the BS, assigning the MAR value to the one or more ranges of data rates defined in the initial MAR message while overriding any MAR value previously assigned to the one or more ranges of data rates defined in the initial MAR message.
- 83. The BS as recited in claim 81, the BS processor further programmed for negotiating the initial assignment of MAR values with the second assignment of MAR values by overriding the initial assignment of MAR values with the second of MAR values at those data rates at which a conflict exists.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] Embodiments of the present invention claim priority from U.S. provisional patent application Serial No. 60/274,403 entitled “Adjustable Level of Override on Number of ARQ Retransmissions for Variable Data Rates,” filed Mar. 9, 2001, and are related to U.S. Pat. No. application Ser. No. 09/469,424 entitled “Improvements in Mobile Station to Base Station Communication and Signal Acknowledgement,” filed Dec. 23, 1999, the contents of which are incorporated herein by reference for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60274403 |
Mar 2001 |
US |