Abstract:
A method and apparatus for traffic arbitration in a system are provided. In the system, a first module operating in a first protocol and a second module operating in a second protocol share one communication channel. An arbitration circuit schedules medium accesses thereof, in which a quota table maintains a utilization value updated in accordance with the amount of time slots consumed by a particular traffic type, and a time counter periodically resets the utilization value to a default value. When the arbitration circuit receives a request for medium access of the particular traffic type, the arbitration circuit grants the request according to the utilization value, such that the first module or the second module are not activated at the same time.

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The invention relates to packet traffic arbitration, and in particular, to a quota-based traffic management method for a device comprising both WLAN and Bluetooth modules. 
   2. Description of the Related Art 
   Typically, when multiple stations operating with different protocols share one common communication channel such as wireless radio frequency bands or wired cable connections, additional procedure is required to arbitrate packet traffics among the stations. WLAN and Bluetooth modules within a common system are taken as an example and explained in the following. 
   Referring to  FIG. 1 , a conventional wireless device  100  comprising both WLAN module  110  and Bluetooth module  120  is shown. According to predefined standards, WLAN module  110  and Bluetooth module  120  both operate at the same frequency band 2.4 GHz, and consequently, physical interferences are induced therebetween. Conventionally, IEEE 802.15.2 Packet Traffic Arbitration (PTA) is utilized to mitigate the physical interferences, whereby the WLAN module  110  and Bluetooth module  120  are activated exclusively in time domain. The PTA mechanism is basically a priority based control system. In  FIG. 1 , an arbitration circuit  130  is coupled to the WLAN module  110  and Bluetooth module  120 , receiving request #RQ therefrom, and enabling either of them to perform RF activity such as medium access based on priorities of the request #RQ. A medium access operation may comprise either data transmission or data reception, or both. 
   Referring to  FIG. 2   a , a priority table  200  defining priorities of different traffic types is shown. In practice, traffic types are typically categorized into three types, Bluetooth (BT) synchronous connection oriented (SCO), BT asynchronous connectionless (ACL) and IEEE 802.11 WLAN traffics. IEEE 802.11 WLAN has the modest priority, while BT SCO traffic has the highest priority and BT ACL traffic lowest. It is noted that the priority table  200  is merely an example and designers can define priorities with respect to different traffics types for a system with coexisting WLAN and Bluetooth modules according to design necessity. When a request #RQ of a higher priority is issued from one module, traffic of a lower priority for the other module will be instantly suspended, and an exemplary flowchart is shown in  FIG. 2   b.    
   Referring to  FIG. 2   b , a flowchart showing conventional priority control according to  FIG. 2   a  is shown. In step  201 , a request #RQ from either WLAN module  110  or Bluetooth module  120  is issued, and its priority is looked up in the priority table  200 . In step  203 , the arbitration circuit  130  may check whether any traffic of higher priority is currently active on the opposing module. For example, if the request #RQ is issued from the WLAN module  110 , the Bluetooth module  120  is checked, and vice versa. If a positive result is checked in step  203 , the current request #RQ is rejected in step  209 . Otherwise, if all other traffics of higher priorities are inactive on the opposing module, the request #RQ is granted, and the process goes to step  205 . In step  205 , traffic of lower priorities on the opposing module is unconditionally suspended. For example, when a request #RQ of IEEE 802.11 is issued from the WLAN module  110 , the Bluetooth module  120  is checked whether a BT SCO traffic is active. The request #RQ of IEEE 802.11 is only granted when the BT SCO traffic is inactive, and when it is granted, any traffic of lower priority such as BT ACL on the Bluetooth module  120  will be forcibly suspended, allowing the traffic of IEEE 802.11 to be activated. In step  207 , only when the traffic of lower priorities on the opposing module is suspended, the traffic corresponding to the granted request #RQ is initiated by sending an enable signal #EN to the module where the request #RQ is originated from. Steps  207  and  209  are followed by step  211 , concluding the flowchart. 
   Summarizing, a request #RQ of the highest priority, such as BT SCO, will be unconditionally granted to interrupt RF activities of IEEE 802.11. On the other hand, a request #RQ of the lowest priority, such as BT ACL, is only granted when the traffic of IEEE 802.11 is inactive, and always vulnerable to interruptions from higher priority request #RQ when accessing medium. In other words, traffic of lower priority may not be efficiently accomplished when traffic of higher priority is existing, and the process of unconditionally suspending a requested medium access may significantly increase medium access failure. It is therefore desirable to provide an enhanced control approach to arbitrate traffics of multiple stations sharing a common channel. 
   BRIEF SUMMARY OF THE INVENTION 
   An exemplary embodiment of an arbitration circuit is provided, scheduling traffics of a first module and a second module co-located in a system sharing one communication channel to perform medium accesses of first and second protocols respectively. In the arbitration circuit, a quota table maintains a utilization value updated in accordance with the amount of time slots consumed by a particular traffic type, with a time counter periodically resetting the utilization value to a default value. When the arbitration circuit receives a request for medium access of the particular traffic type, the arbitration circuit determines whether to grant the request according to the utilization value, and allows the first or second module which issues the request to initiate the medium access of the particular packet type if the request is granted. 
   Another embodiment is an arbitration method implemented by the arbitration circuit. A quota table is first provided, maintaining a utilization value updated in accordance with the amount of time slots consumed by a particular traffic type. When a request for medium access of the particular packet type is issued from the first or second module, it is determined whether to grant the request for the medium access of the particular traffic type according to the utilization value. 
   A further embodiment is a system comprising the first and second modules, and the arbitration circuit. The first module operates in accordance with a first protocol, and the second module operating in accordance with a second protocol shares a communication channel with the first module. The arbitration circuit is coupled to the first and second modules to schedule traffics thereof and comprises a quota table and a time counter. The quota table maintains a utilization value updated in accordance with the amount of time slots consumed by a particular traffic type. The time counter periodically resets the utilization value to a default value. When the arbitration circuit receives a request for medium access of the particular traffic type, the arbitration circuit grants the request according to the utilization value such that the first module or the second module which issues the request initiates the medium access of the particular traffic type accordingly. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein: 
       FIG. 1  shows a conventional wireless device  100  comprising both a WLAN module  110  and a Bluetooth module  120 ; 
       FIG. 2   a  shows an exemplary priority table  200  defining priorities of different traffic types; 
       FIG. 2   b  is a flowchart showing conventional traffic management; 
       FIG. 3  shows an embodiment of a device  300  according to the invention; and 
       FIG. 4  is a flowchart of the arbitration method implemented in the device  300  according to  FIG. 3 . 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims. For a system comprising two modules sharing one communication channel to deploy medium accesses of different protocols, an arbitration mechanism is desired to prevent conflicts. Referring to  FIG. 3 , an embodiment of a device  300  according to the invention is shown. In addition to the WLAN module  110  and Bluetooth module  120 , an arbitration circuit  310  is provided to schedule medium accesses of the WLAN module  110  and Bluetooth module  120  in an exclusive fashion, such that time slots are not assigned to perform WLAN and Bluetooth RF actives at the same time. The device  300  combines the conventional priority control with a ‘novel’ quota management to form a hybrid control scheme. The arbitration circuit  310  comprises a priority table  200 , a quota table  304  and a time counter  306 . The priority table  200  is a programmable unit defining priorities of different traffic types, among which a particular traffic type may be assigned as a quota owner which owns the quota table  304 . The quota table  304  is a memory cell recording a utilization value such as the total used quota or remaining quota. The total used quota is equivalent to total time slots consumed by the particular traffic type during a predefined period. 
   The time counter  306  is an independent unit to count the time, by which the utilization value recorded in the quota table  304  is reset to a default value at an interval equal to the predefined period. If the utilization value represents the total used quota, the default value is equivalent to zero, such that the total consumed time slots are periodically reset and recounted. In an alternative example, utilization value may represent remaining quota, thus subtraction is performed every time the quota is used. In this situation, the default value is equivalent to a reservation quota defined according to the predefined period. By defining the reservation quota, successfulness of medium accesses of lower priorities are guaranteed. For example, the predefined period may be 100 milliseconds (ms), and the reservation quota may be 1/10 the predefined period, say 10 ms. When the arbitration circuit  310  receives a request #RQ for medium access of the quota owner, the arbitration circuit  310  checks the quota table  304  to determine whether the reservation quota has run out. If the total consumed time slots do not exceed the reservation quota, it means there is still remaining quota available, thus the arbitration circuit  310  sends an enable signal #EN to the WLAN module  110  or Bluetooth module  120  where the request #RQ has originated from to grant medium access of the quota owner as if it has the highest priority. 
   In the situation where the granted RF activities may be interrupted by a request #RQ of higher priority in the middle, the arbitration circuit  310  updates the amount of used quota in the quota table  304  on completion of the medium access. Alternatively, the quota owner may be defined as halfway uninterruptible, such that a higher priority request #RQ issued from the opposing module does not affect the quota owner while the medium is accessed. 
   As described, the traffic types in the priority table  200  are categorized into an IEEE 802.11 traffic, a Bluetooth SCO traffic and a Bluetooth ACL traffic, and priorities of which are programmable and maintained in the priority table  200 . The traffic types are not limited in the embodiment and other traffic types may also be defined depending on requirement. The particular traffic type which owns the quota table  304  is selected from one of the above traffic types, which is preferably a lowest priority traffic in need of quota protection to ensure a minimum performance. 
   When the arbitration circuit  310  determines the reservation quota has run out, the quota owner does not enjoy the priority anymore, and a conventional priority controlling approach is used instead. Likewise, traffic types other than the quota owner do not benefit from the traffic reservation provided by the quota table  304 , and are also processed in the conventional priority control approach. In this situation, referring to  FIG. 2   b , the arbitration circuit  310  looks up the priority table  200  and checks whether any traffic of higher priority is currently active on the opposing module; and the request is granted if all traffics of higher priority are inactive. When the request is granted, the arbitration circuit  310  suspends all traffics of lower priority to initiate the medium access or receiving corresponding to the granted request. 
   In an alternative embodiment, more than one quota tables  304  may be provided to preserve traffic for various traffic types, each of which is defined with a programmable reservation quota. When a request #RQ of a specific quota owner is issued from either the WLAN module  110  or the Bluetooth module  120 , the arbitration circuit  310  checks respective corresponding quota table  304  to determine whether to grant a medium access. Since a request #RQ of lower priority has higher possibility to be rejected or interrupted, the usage of quota tables  304  efficiently increases the possibility of successful transmitting of lower priority traffics. 
   Referring to  FIG. 4 , a flowchart of the arbitration method implemented in the device  300  according to  FIG. 3  is shown. In step  401 , after the device  300  is initialized, a request #RQ delivered from either WLAN module  110  or Bluetooth module  120  is received. In step  403 , the arbitration circuit  310  determines whether the request #RQ is from the quota owner which owns the quota table  304 . If not, a conventional priority controlling approach such as PTA mechanism is processed in step  203 . If the request #RQ has originated from the quota owner, step  405  is processed, in which the arbitration circuit  310  checks quota table  304  to see whether any available quota is left for the requested medium access. Specifically, the quota for the quota owner is used up if the total consumed time slots exceed the reservation quota. In this situation, the process also goes to the conventional priority control approach in step  203 . In step  407 , the request #RQ is granted as long as there is still quota available, and consequently, a medium access corresponding to the request #RQ is instantly initiated as if it has the highest priority, while other traffic on opposing modules are simultaneously interrupted or suspended. On completion of the medium access corresponding to the request #RQ, a utilization value in the  304  is updated according to the total consumed time slots, and a remaining quota is calculated accordingly. 
   For the situation where step  203  is triggered to perform a conventional priority controlling approach such as the PTA mechanism according to IEEE 802.15.2, the arbitration circuit  130  may check whether any traffic of higher priority is currently active on the opposing module. For example, if the request #RQ is issued from the WLAN module  110 , the Bluetooth module  120  is checked, and vice versa. In step  203 , if a positive result is checked, the current request #RQ is rejected in step  209 . Otherwise result of step  203  goes to step  205 , in which traffic of lower priorities on the opposing module are unconditionally suspended. For example, when a request #RQ of IEEE 802.11 is issued from the WLAN module  110 , the Bluetooth module  120  is checked whether a BT SCO medium access is active. The request #RQ of IEEE 802.11 is granted when the BT SCO traffic is inactive, and when it is granted, any traffic of lower priority such as BT ACL on the Bluetooth module  120  will be forcibly suspended, allowing the medium access of IEEE 802.11 to be activated. In step  207 , when traffic of lower priorities on the opposing module is suspended, the medium access corresponding to the granted request #RQ is initiated. Steps  409 ,  207  and  209  are followed by step  411 , thus, concluding the flowchart. 
   The embodiment is particularly adaptable for a mobile device comprising both WLAN module  110  and Bluetooth module  120 , whereby a quota based traffic management scheme is provided in addition to conventional priority based control. However, the protocols are not limited to WLAN and Bluetooth. Any types of traffics sharing the same frequency bands or communication channels at the same time, should be applicable in this invention. The reservation quota may be flexibly adjusted according to traffic requirements, and more than one quota tables  304  may be simultaneously implemented for traffics of different priorities. Further, the method of inventions can be employed in different ways in accordance with design necessity. For example, the arbitration circuit  310  is not necessarily a separated and single circuit; that is the arbitration circuit  310  may be divided and a part of it is built in the WLAN module  110  while the other part is built in the Bluetooth module  120  in accordance with desired functions. 
   While the invention has been described by way of example and in terms of preferred embodiment, it is to be understood that the invention is not limited thereto. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.