Claims
- 1. A method for scheduling a plurality of streams of data to form a single output stream of data, each of the plurality of streams of data including a plurality of packets, the method comprising the steps of:
providing a plurality of queue control units that are each capable of accessing at least one of the plurality of streams of data and a plurality of data control units that are each capable of implementing a specific channel access protocol on at least one of the plurality of streams of data, with each queue control unit having a queue output data path capable of being coupled to a data input data path of one of the plurality of data control units; operating selected ones of the plurality of queue control units in parallel and selected ones of the plurality of data control units in parallel such that:
each selected one of the queue control units accesses an associated one of the plurality of streams of data and provides the associated one stream of data to an associated selected one of the data control units coupled thereto; and each associated selected one of the data control units outputs the associated one stream of data using the specific channel access protocol associated therewith; and obtaining the single output stream of data from the plurality of streams of data by prioritizing each of the plurality of streams of data obtained from the selected ones of the plurality of data control units.
- 2. The method according to claim 1 wherein the steps of operating and obtaining results in a slotted transmission of data packets from the plurality of streams of data.
- 3. The method according to claim 1 wherein the step of operating the selected ones of the queue control units in parallel includes the step of traffic shaping.
- 4. The method according to claim 3 wherein the step of traffic shaping includes setting one of a data rate and burst characteristic.
- 5. The method according to claim 4 wherein the step of traffic shaping includes setting the data rate to at least one of a maximum and minimum data rate.
- 6. The method according to claim 4 wherein the step of traffic shaping includes setting the data rate to a constant data rate.
- 7. The method according to claim 1 wherein the step of providing includes ensuring that each of the selected ones of the queue control units is programmed to access one of the streams of data.
- 8. The method according to claim 7 wherein the step of providing includes ensuring that each of the selected ones of the queue control units is programmed to operate based upon a plurality of selected parameters, each of the plurality of selected parameters being chosen from a group of possible values available for each of the plurality of selected parameters.
- 9. The method according to claim 8 wherein the step of providing includes as one of the parameters a data rate, and the group of possible values associated with the data rate parameter is a plurality of possible data rates.
- 10. The method according to claim 8 wherein the step of providing includes as one of the parameters a burst characteristic, and the group of possible values associated with the burst characteristic is one of a plurality of possible burst lengths or one of a plurality of possible periodicities.
- 11. The method according to claim 8 wherein the step of providing includes ensuring that each of the selected ones of the plurality of data control units is programmed to implement the specific channel access protocol on at least one of the plurality of streams of data.
- 12. The method according to claim 11 wherein the step of providing includes ensuring that each of the selected ones of the plurality of data control units is programmed based upon a plurality of selected parameters, each of the plurality of selected parameters being chosen from a group of possible values available for each of the plurality of selected parameters.
- 13. The method according to claim 12 wherein the step of providing includes as one of the parameters a channel access protocol, and the group of possible values associated with the channel access protocol parameter is a plurality of possible channel access protocols.
- 14. The method according to claim 13 wherein the plurality of possible channel access protocols include at least one of polling, TDMA, and EDCF.
- 15. The method according to claim 14 wherein the channel access protocol is HCF polling.
- 16. The method according to claim 13 wherein the channel access protocol is a special PHY channel access mechanism.
- 17. The method according to claim 12 wherein the step of providing includes as one of the parameters a contention window, and the group of possible values associated with the contention window parameter is a plurality of possible contention windows, each of the possible contention windows having a minimum value and a maximum value.
- 18. The method according to claim 8 wherein the step of providing includes ensuring that each of the selected ones of the data control units is programmed to implement the specific channel access protocol on at least one of the plurality of streams of data.
- 19. The method according to claim 18 wherein the step of providing includes ensuring that each of the selected ones of the plurality of data control units is programmed based upon a plurality of selected parameters, each of the plurality of selected parameters being chosen from a group of possible values available for each of the plurality of selected parameters.
- 20. The method according to claim 19 wherein the step of providing includes as one of the parameters a channel access protocol, and the group of possible values associated with the channel access protocol parameter is a plurality of possible channel access protocols.
- 21. The method according to claim 20 wherein the possible channel access protocols include at least one of polling, TDMA, and EDCF.
- 22. The method according to claim 21 wherein the channel access protocol is HCF polling.
- 23. The method according to claim 20 wherein the channel access protocol is a special PHY channel access mechanism.
- 24. The method according to claim 19 wherein the step of providing includes as one of the parameters a contention window, and the group of possible values associated with the contention window parameter is a plurality of possible contention windows, each of the possible contention windows having a minimum value and a maximum value.
- 25. The method according to claim 19 the step of obtaining the single output stream includes the step of determining which of the plurality of data control units are ready to transmit.
- 26. The method according to claim 25 wherein the step of operating includes the step of each of the plurality of data control units receiving a ready signal obtained from the queue control unit coupled thereto indicating that at least a portion of the stream of data associated therewith is ready to transmit.
- 27. The method according to claim 26 wherein the during the step of obtaining, the prioritizing considers each of the plurality of data control units that have at least the portion of the stream of data associated therewith ready to transmit and have received the ready signal from one of the queue control units.
- 28. The method according to claim 26 wherein:
the step of providing causes the coupling of a certain plurality of the selected ones of the plurality of queue control units to one of the selected ones of the plurality of data control units, such that each queue output data path associated with each of the certain plurality of the selected ones of the plurality of queue control units is capable of being coupled to the data input data path of the one of the selected ones of the plurality of data control units; and each of the certain plurality of the selected ones of the plurality of queue control units provides a ready signal to the one of the selected ones of the plurality of data control units.
- 29. The method according to claim 28 wherein the step of operating includes operating the one of the selected ones of the plurality of data control units so that priority is determined between the certain plurality of queue control units coupled thereto.
- 30. The method according to claim 29 wherein the step of providing includes the step of configuring at least one of (a) the prioritizing of certain ones of the plurality of streams of data used in the step of obtaining, (b) the coupling of the queue output data path of certain selected ones of the queue control units and the data input data path of certain selected ones of the plurality of data control units, and (c) certain ones of the plurality of selected parameters.
- 31. The method according to claim 29 wherein the step of determining priority determines priority using a round robin priority scheme.
- 32. The method according to claim 7 wherein the single output stream includes as a first portion of the single output stream the stream of data from a particular selected one of the queue control units and an associated selected one of the data control units coupled thereto having a highest priority.
- 33. The method according to claim 7 wherein the highest priority is associated with beacon generation.
- 34. The method according to claim 33 wherein, during the step of operating, between instances of beacon generation, one of the queue control units also implements a power savings scheme.
- 35. The method according to claim 1 wherein the step of providing provides for at least two selected ones of the plurality of queue control units and two of the selected ones of the data control units coupled thereto to operate upon two different respective streams of data associated therewith using a different channel access protocol on each different stream of data.
- 36. The method according to claim 35 wherein one of the channel access protocols is dependent on rate and another of the channel access protocols is dependent on priority.
- 37. The method according to claim 35 wherein one of the channel access protocols is dependent on rate and another of the channel access protocols is dependent on polling.
- 38. The method according to claim 35 wherein one of the channel access protocols is dependent on polling and another of the channel access protocols is dependent on priority.
- 39. The method according to claim 1 wherein the step of obtaining obtains a single packet at a time from each of the plurality of data control units.
- 40. The method according to claim 39 wherein the step of obtaining obtains more than one packet at a time from certain ones of the plurality of data control units.
- 41. The method according to claim 1 wherein the step of providing causes the coupling of a certain plurality of selected queue control units to one of the selected data control units, such that each queue output data path associated with each of the certain plurality of selected queue control units is capable of being coupled to the data input data path of the one selected data control unit.
- 42. The method according to claim 1 wherein the step of providing includes the step of configuring at least one of (a) the prioritizing of certain ones of the plurality of streams of data used in the step of obtaining, (b) the coupling of the queue output data path of certain selected ones of the queue control units and the data input data path of certain selected ones of the plurality of data control units, and (c) certain ones of the plurality of selected parameters.
- 43. The method according to claim 1 wherein the step of providing includes providing at least two of the plurality of streams to one of the selected queue control units.
- 44. The method according to claim 1 wherein the step of providing also includes, for certain of the data control units, providing for final formatting of the stream of data.
- 45. The method according to claim 24 wherein the step of providing for final formatting includes providing for at least one of error check coding, cryptography and compression.
- 46. The method according to claim 1 further including the step of transmitting the single output stream of data wirelessly.
- 47. The method according to claim 1 wherein the step of providing provides for at least one selected queue control unit to implement unthrottled frame scheduling during the step of operating.
- 48. The method according to claim 1 wherein the step of providing provides for at least selected queue control unit to implement time-throttled frame scheduling during the step of operating.
- 49. The method according to claim 1 wherein the step of providing provides for at least one selected queue control unit to implement event-throttled frame scheduling during the step of operating.
- 50. The method according to claim 1 wherein the step of providing provides for at least one selected queue control unit to implement one of ASAP and constant bit rate frame scheduling policies during the step of operating.
- 51. The method according to claim 1 wherein the step of providing provides for at least one selected queue control unit to implement an externally gated frame scheduling policy during the step of operating.
- 52. The method according to claim 51 wherein the externally gated frame scheduling policy is obtained from antennae switching logic.
- 53. The method according to claim 51 wherein the step of providing provides for at least one selected queue control unit to also implement a power saving sleep policy during the step of operating.
- 54. The method according to claim 1 wherein the step of providing provides for at least one selected queue control unit to implement a TSF gated frame scheduling policy during the step of operating.
- 55. The method according to claim 54 wherein the step of providing provides for at least selected queue control unit to also implement a power saving sleep policy during the step of operating.
- 56. The method according to claim 1 wherein the step of providing provides for at least one selected queue control unit to implement a power saving sleep policy during the step of operating.
- 57. The method according to claim 56 wherein the power saving sleep policy causes power savings between expected incoming packets having a predictable arrival pattern.
- 58. The method according to claim 56 wherein the power saving sleep policy causes power savings between instances of beacon generation.
- 59. The method according to claim 1 wherein the step of operating selected ones of the plurality of queue control units in parallel and selected ones of the plurality of data control units in parallel operates all of the queue control units and all of the data control units.
- 60. An apparatus for determining priority in a communication system that has a priority scheme with a predetermined number of available priorities, the apparatus operating upon a plurality of data streams each containing a plurality of packets, comprising:
a plurality of queue control units, each queue control unit having a queue input for inputting one of the data streams and a queue output for outputting the one data stream and providing at least one traffic shaping function to the one data stream; a plurality of data control units, each data control unit having a data input coupled to one of the queue outputs and a data output and further providing at least one channel access function; and a priority selector coupled to each data output, the priority selector capable of causing the data control units to output certain ones of the plurality of packets associated with the data stream to the priority selector one at a time according to priority rules.
- 61. The apparatus according to claim 60 wherein the plurality of queue control units exceed in number a predetermined number of available priorities.
- 62. The apparatus according to claim 61 wherein the plurality of data control units equal in number the predetermined number of available priorities.
- 63. An apparatus according to claim 60 wherein each of the queue outputs can be coupled to any one of the data inputs.
- 64. The apparatus according to claim 60 wherein the priority rules grant priority to a particular data stream associated with a beacon.
- 65. The apparatus according to claim 60 wherein certain ones of the plurality of queue control units include different traffic shaping parameters.
- 66. The apparatus according to claim 65 wherein the traffic shaping parameters include at least one of data rate and burst characteristic.
- 67. The apparatus according to claim 66 wherein the data rate is set to be between a maximum and minimum data rate.
- 68. The method according to claim 66 wherein the data rate is set to a constant data rate.
- 69. The apparatus according to claim 60 wherein each queue control unit provides a readiness indication to the data control unit to which the particular queue control unit is coupled, the readiness indicator being used to determine whether the particular queue control unit is ready to transmit the data stream associated therewith.
- 70. The apparatus according to claim 60 wherein each of the queue control units and data control units is programmable.
- 71. The apparatus according to claim 70 wherein each queue control unit is programmed to access one of the streams of data.
- 72. The method according to claim 70 wherein each queue control unit is programmed to operate based upon a plurality of selected parameters, each of the plurality of selected parameters being chosen from a group of possible values available for each of the plurality of selected parameters.
- 73. The apparatus according to claim 72 wherein included as one of the parameters is a data rate, and the group of possible values associated with the data rate parameter is a plurality of possible data rates.
- 74. The apparatus according to claim 72 wherein included as one of the parameters is a burst characteristic, and the group of possible values associated with the burst characteristic parameter is one of a plurality of possible burst lengths or one of a plurality of possible periodicities.
- 75. The apparatus according to claim 70 wherein each data control unit is programmed to implement the specific channel access protocol on at least one of the plurality of streams of data.
- 76. The apparatus according to claim 70 wherein each data control unit is programmed based upon a plurality of selected parameters, each of the plurality of selected parameters being chosen from a group of possible values available for each of the plurality of selected parameters.
- 77. The apparatus according to claim 76 wherein one of the parameters includes a channel access protocol, and the group of possible values associated with the channel access protocol parameter is a plurality of possible channel access protocols.
- 78. The apparatus according to claim 77 wherein the possible channel access protocols include at least one of polling, TDMA, and EDCF.
- 79. The apparatus according to claim 78 wherein the channel access protocol is HCF polling.
- 80. The apparatus according to claim 77 wherein one of the parameters is a contention window, and the group of possible values associated with the contention window parameter is a plurality of possible contention windows, each of the possible contention windows having a minimum value and a maximum value.
- 81. The apparatus according to claim 70 wherein each of the queue control units and each of the data control units are formed using a same architecture.
- 82. The apparatus according to claim 81 wherein the plurality of queue control units and the data control units coupled thereto each operate in parallel and substantially independent.
- 83. The apparatus according to claim 83 further including a transmitter for wirelessly transmitting the certain ones of the plurality of packets associated with each data stream that are output from the priority selector.
Parent Case Info
[0001] This application claims priority to U.S. Provisional Application Serial No. 60/377,907 filed May 4, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60377907 |
May 2002 |
US |