In this specification, the term “in response to” is defined as “replying to” or “reacting to.” For example, “in response to a signal” means “replying to a signal” or “reacting to a signal” without necessity of direct signal reception.
As shown in
If the database 203 stores the CID corresponding to the packet 200, the packet 200 can be scheduled for transmission by the QoS scheduler 209. If the database 203 does not store the CID corresponding to the packet 200, it means that there is no CID corresponding to the packet 200 in the database 203. The wireless communication apparatus 2 then generates service information related to the packet 200. The service information, recording a CID corresponding to the packet 200, is stored into the database 203. After that, the packet classifier 201 combines the generated service information with the packet 200 to generate a service datum 202, and the service datum 202 is transmitted to the payload header suppressor 205.
After suppressing the service datum 202, the payload header suppressor 205 generates a QoS queue 204. The QoS queue register 207 receives and registers the QoS queue 204. At an appropriate timing, the QoS queue register 207 transmits the QoS queue 204 to the QoS scheduler 209. The QoS scheduler 209 determines whether an operating load thereof reaches a threshold value. The QoS scheduler 209 transmits a first enable signal 206 to the CID adjustment engine 211 if the operating load reaches to the threshold value. The CID adjustment engine 211 unifies the CIDs of the pieces of the service information stored in the database 203 in response to the first enable signal 206.
The threshold value is the biggest number of QoS queues the wireless communication apparatus 2 can accept. For example, the threshold value may be 800, 900, or 1000 if the wireless communication apparatus 2 is a base station, or may be set 80, 90, or 120 if the wireless communication apparatus 2 is a mobile phone. Once the number of QoS queues reaches to the biggest number, the QoS scheduler 209 needs much hardware resource to schedule the QoS queues so that a processing speed becomes slow, or even the QoS queues fail to be processed. Therefore, some of the CIDs are unified to reduce the number of CIDs. Two pieces of service information whose CIDs have been unified will be regarded as one QoS queue.
To unify CIDs, the CIDs in the database 203 being selected must have the same QoS class. IEEE 802.16 defines four kinds of QoS classes: UGS, RTPS, NRTPS, and Best Effort. The packets with different QoS classes have different payload header formats. As shown in
In the pieces of service information having the same QoS class, the CIDs of two pieces service information which have most identical data in the headers are selected to be unified. The selection of most identical data in the headers makes the payload header suppressor 205 able to suppress the most data to reduce bandwidth needed during transmission.
The CID adjustment engine 211 has a table for listing the unifying priorities of the CIDs. An example of the table is shown as follows.
The “✓” in fields of TABLE. 1 represents the same parts of payload headers, and the unifying priority field means the unifying priorities that the CID adjustment engine 211 chooses service information to unify CIDs thereof. The highest unifying priority means that data of payload headers corresponding to the service information have the most identical parts. For example, the first row of TABLE. 1 indicates that a different part of payload headers is only the destination port 307. Therefore, there are only two bytes different so that the unifying priority is the highest. There are only two bytes different in the second row as well so that the unifying priority is also the highest. If the unifying priorities are the same, it means the payload headers thereof have the same amounts of the identical data (bytes). The CID adjustment engine 211 can choose any CIDs whose priorities are the same to unify. The lowest unifying priority means that data of the payload headers are all different.
There is an example for illustration as follows. When unifying the CIDs, the CID adjustment engine 211 chooses the pieces of the service information having the same QoS class, such as the first service information (the corresponding CID is CID1), the second service information (the corresponding CID is CID2), and the third service information (the corresponding CID is CID3) all of which have the RTPS QoS class. Then the CID adjustment engine 211 chooses the service information whose headers have the most identical data in the three pieces of the service information. Assume the first service information and the second service information have the most identical data in the headers. The CID adjustment engine 211 unifies the CIDs of the first service information and the second service information into CID4. After the CIDs are unified, the CID adjustment engine 211 updates the CID4 in the database 203. When packets corresponding to the first service information and the second service information enter, the packet classifier 201 retrieves the CID4 from the database 203 so that the first service information and the second service information will be treated as one QoS queue but not two. Accordingly, the number of QoS queues is reduced.
The embodiment can continuous unifying until the number of QoS queues goes below the threshold value.
When the number of QoS queues goes below the threshold value, the QoS scheduler 209 determines whether a suppression rate that the payload header suppressor 205 suppresses headers is high enough. If not, it means that too much bandwidth is occupied during packet transmission. Under such circumstances, the QoS scheduler 209 transmits a second enable signal 208 to the CID adjustment engine 211. The CID adjustment engine 211 splits the unified CIDs of the service information in the database 203. More specifically, the CID adjustment engine 211 splits the CID of two pieces of service information whose headers have the least identical information. For example, the CID adjustment engine 211 splits the CID4 of the above first service information and the above second service information into CID5 and CID6, and updates the CID5 and CID6 in the database 203. When packets corresponding to the first service information and the second service information enter, the QoS scheduler 209 schedules the first service information and the second service information in response to the CID5 and the CID6, respectively.
Although
A second embodiment of the present invention is a method for adjusting the number of CIDs in a communication apparatus, such as the wireless communication apparatus 2. As shown in
If the operating load of the communication apparatus does not reach the threshold value, step 407 is executed in which the application program comprises code for controlling the QoS scheduler to determine whether the operating load goes below the threshold value. If no, step 409 is executed in which the application program is skipped. If the operating load goes below the threshold value, step 411 is executed in which the application program comprises code for controlling the CID adjustment engine to split the unified CID into a plurality of split CIDs respectively corresponding to the unified service information. Then, step 413 is executed in which the application program comprises code for controlling the CID adjustment engine to update the split CIDs in the database. Finally, the QoS scheduler schedules the service information in response to the updated CIDs.
In addition to the steps shown in
Accordingly, the present invention unifies CIDs to avoid scheduling overload when the operating load of the communication apparatus reaches to a threshold value. Furthermore, the present invention can spilt unified CIDs to reduce transmission bandwidth when the operating load goes below the threshold value. Therefore, the present invention can fully use an operation capability of the communication apparatus to avoid that the communication apparatus fail to provide service due to short of CIDs or overload.
The above disclosure is related to the detailed technical contents and inventive features thereof. People skilled in this field may proceed with a variety of modifications and replacements based on the disclosures and suggestions of the invention as described without departing from the characteristics thereof. Nevertheless, although such modifications and replacements are not fully disclosed in the above descriptions, they have substantially been covered in the following claims as appended.
Number | Date | Country | Kind |
---|---|---|---|
095136903 | Oct 2006 | TW | national |