COMMUNCIATION APPARATUS, METHOD AND COMPUTER READABLE MEDIUM FOR ADJUSTING THE NUMBER OF CONNECTION IDENTIFICATION

Information

  • Patent Application
  • 20080084830
  • Publication Number
    20080084830
  • Date Filed
    April 04, 2007
    17 years ago
  • Date Published
    April 10, 2008
    16 years ago
Abstract
A communication apparatus, a method, and a computer readable medium for adjusting the number of communication identifications (CID) are provided. The communication apparatus comprises a database, a quality of service (QoS) scheduler, and a CID adjustment engine. The database stores first service information and second service information which respectively comprise a corresponding CID. The QoS scheduler determines whether an operating load thereof reaches to a threshold value. If yes, the CID adjustment engine unifies the CIDs of the first service information and the second service information. The QoS scheduler schedules the first service information and the second service information in response to the unified CID.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic diagram illustrating a communication apparatus adapted to IEEE 802.16 standard of the prior art;



FIG. 2 is a schematic diagram illustrating a first embodiment of the present invention;



FIG. 3 is a schematic diagram illustrating a payload header of the first embodiment; and



FIG. 4 is a flow chart illustrating a second embodiment of the present invention.





DESCRIPTION OF THE PREFERRED EMBODIMENT

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 FIG. 2, a first embodiment of the present invention is a wireless communication apparatus 2 under IEEE 802.16 standard, which is capable of adjusting the number of connection CIDs. The wireless communication apparatus 2 comprises a packet classifier 201, a database 203, a payload header suppressor 205, a QoS queue register 207, a QoS scheduler 209, and a CID adjustment engine 211. The database 203 stores pieces of service information each of which has a corresponding CID. When the packet classifier 201 receives a packet 200, the packet classifier 201 accesses the database 203 to find whether the database 203 stores a CID corresponding to the packet 200.


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 FIG. 3, an example of a payload header consists of a destination MAC address 301 having six bytes, a source MAC address 303 having six bytes, a destination IP address 305 having four bytes, a destination port 307 having two bytes, a source IP address 309 having four bytes, and a source port 311 having two bytes.


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.















TABLE 1






Destination
Source






Unifying
MAC
MAC
Destination
Destination
Source IP
Source


Priority
Address
Address
IP Address
Port
Address
Port







1








1







2







2








2








3








3






3








3








4








4







5













. . .


. . .








Lowest










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 FIG. 2 illustrates that the QoS scheduler 209 transmits the first enable signal 206 and the second enable signal 208 by two signal lines, the invention is not limited to this. More specifically, the QoS scheduler 209 can use a high level and a low level carried by a single line to present that the operating load reaches the threshold value and goes below the threshold value, respectively. Accordingly, the high level corresponds to the first enable signal 206, and the low level corresponds to the second enable signal 208.


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 FIG. 4, the method is performed by an application program which is stored in a computer readable medium. After the communication apparatus receives a packet, step 401 is executed in which the application program comprises code for controlling the QoS scheduler to determine whether an operating load of the communication apparatus reaches a threshold value. If the operating load of the communication apparatus reaches the threshold value, step 403 is executed in which the application program comprises code for controlling the CID adjustment engine to unify the CIDs corresponding to some of the service information. Then, step 405 is executed in which the application program comprises code for controlling the CID adjustment engine to update the unified CID into the database. Then the method returns to step 401, the code controls the QoS scheduler to determine whether the operating load still reaches the threshold value. The QoS scheduler schedules the service information in response to the unified CIDs.


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 FIG. 4, the application program of the second embodiment has code able to execute all of the operations or functions recited in the first embodiment. Those skilled in the art can straightforwardly realize how the second embodiment performs these operations and functions based on the above descriptions of the first embodiment. Therefore, the descriptions for these operations and functions are redundant and not repeated herein.


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.

Claims
  • 1. A communication apparatus capable of adjusting the number of connection identifications (CID), comprising: a database for storing first service information and second service information, the first service information and the second service information respectively comprising a corresponding CID;a quality of service (QoS) scheduler for determining whether an operating load of the QoS scheduler reaches to a threshold value; anda CID adjustment engine for unifying the CIDs of the first service information and the second service information if the operating load reaches to the threshold value;wherein the QoS scheduler schedules the first service information and the second service information in response to the unified CID.
  • 2. The communication apparatus as claimed in claim 1, wherein a class of the first service information and that of the second service information are the same.
  • 3. The communication apparatus as claimed in claim 1, wherein the first service information and the second service information respectively correspond to a first packet and a second packet, the first packet and the second packet respectively comprise a header, and the first service information and the second service information are the service information, in all service information stored in the database, that has most identical data in the headers.
  • 4. The communication apparatus as claimed in claim 1, wherein the CID adjustment engine splits the unified CID into two split CIDs respectively corresponding to the first service information and the second service information if the operating load goes below the threshold value, and the QoS scheduler schedules the first service information and the second service information in response to the split CIDs.
  • 5. The communication apparatus as claimed in claim 1, further comprising a packet classifier, wherein when the packet classifier receives a packet, the QoS scheduler determines whether the operating load reaches to the threshold value in response to the receipt of the packet.
  • 6. A method for adjusting the number of CIDs in a communication apparatus, the communication apparatus comprising a database for storing first service information and second service information, the first service information and the second service information respectively comprising a corresponding CID, the method comprising the steps of: determining whether an operating load of the communication apparatus reaches to a threshold value; andunifying the CIDs of the first service information and the second service information if the operating load reaches to the threshold value;wherein the first service information and the second service information is scheduled in response to the unified CID.
  • 7. The method as claimed in claim 6, wherein a class of the first service information and that of the second service information are the same.
  • 8. The method as claimed in claim 6, wherein the first service information and the second service information respectively correspond to a first packet and a second packet, the first packet and the second packet respectively comprise a header, and the first service information and the second service information are the service information, in all service information stored in the database, that has most identical data in the headers.
  • 9. The method as claimed in claim 6, further comprising the step of: determining whether the operating load goes below the threshold value; andsplitting the unified CID into two split CIDs respectively corresponding to the first service information and the second service information if the operating load goes below the threshold value;wherein the first service information and the second service information is scheduled in response to the split CIDs.
  • 10. The method as claimed in claim 6, further comprising the step of: receiving a packet;wherein the determining step is executed in response to the receiving step.
  • 11. A computer readable medium storing a computer program for a communication apparatus to execute a method for adjusting the number of CIDs, the communication apparatus comprising a database for storing first service information and second service information, the first service information and the second service information respectively comprising a corresponding CID, the method comprising the steps of: determining whether an operating load of the communication apparatus reaches to a threshold value;unifying the CIDs of the first service information and the second service information if the operating load reaches to the threshold value; andupdating the CIDs of the first service information and the second service information in the database;wherein the first service information and the second service information is scheduled in response to the unified CID.
  • 12. The computer readable medium as claimed in claim 11, wherein a class of the first service information and that of the second service information are the same.
  • 13. The computer readable medium as claimed in claim 11, wherein the first service information and the second service information respectively correspond to a first packet and a second packet, the first packet and the second packet respectively comprise a header, and the first service information and the second service information are the service information, in all service information stored in the database, that has most identical data in the headers.
  • 14. The computer readable medium as claimed in claim 11, wherein the method further comprises the step of: determining whether the operating load goes below the threshold value;splitting the unified CID into two split CIDs respectively corresponding to the first service information and the second service information if the operating load goes below the threshold value; andupdating the CIDs of the first service information and the second service information in the database;wherein the first service information and the second service information is scheduled in response to the split CIDs.
  • 15. The computer readable medium as claimed in claim 11, wherein the method further comprises the step of: receiving a packet;wherein the determining step is executed in response to the receiving step.
  • 16. A communication apparatus capable of adjusting the number of CIDs comprising: a database for storing first service information and second service information, the first service information and the second service information corresponding to an unified CID;a QoS scheduler for determining whether an operating load of the QoS scheduler goes below a threshold value; anda CID adjustment engine for splitting the unified CID into two split CIDs respectively corresponding to the first service information and the second service information if the operating load goes below the threshold value;wherein the QoS scheduler schedules the first service information and the second service information in response to the split CIDs.
  • 17. The communication apparatus as claimed in claim 16, further comprising a packet classifier, wherein when the packet classifier receives a packet, the QoS scheduler determines whether the operating load goes below the threshold value in response to the receipt of the packet.
  • 18. A method for adjusting the number of CIDs in a communication apparatus, the communication apparatus comprising a database for storing first service information and second service information, the first service information and the second service information corresponding to an unified CID, the method comprising the steps of: determining whether an operating load of the communication apparatus goes below a threshold value;splitting the unified CID into two split CIDs respectively corresponding to the first service information and the second service information if the operating load goes below the threshold value; andscheduling the first service information and the second service information in response to the split CIDs.
  • 19. The method as claimed in claim 18, further comprising the step of: receiving a packet;wherein the determining step is executed in response to the receiving step.
  • 20. A computer readable medium storing a computer program for a communication apparatus to execute a method for adjusting the number of CIDs, the communication apparatus comprising a database for storing first service information and second service information, the first service information and the second service information corresponding to an unified CID, the method comprising the steps of: determining whether an operating load of the communication apparatus goes below a threshold value;splitting the unified CID into two split CIDs respectively corresponding to the first service information and the second service information if the operating load goes below the threshold value; andupdating the CIDs of the first service information and the second service information in the database;wherein the first service information and the second service information is scheduled in response to the split CIDs.
  • 21. The computer readable medium as claimed in claim 20, wherein the method further comprises the step of: receiving a packet;wherein the determining step is executed in response to the receiving step.
Priority Claims (1)
Number Date Country Kind
095136903 Oct 2006 TW national