Abstract:
The invention discloses a method for boosting the downlink transmission rate to a mobile station by a processing unit thereof, including the steps of requesting a base station for a bandwidth amount for transmission of at least one un-generated acknowledgement (ACK) packet, generating the ACK packet or packets, and instructing an RF module to transmit the ACK packet or packets to the base station following a notification from the base station indicating that the requested bandwidth amount has been allocated.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Application No. 61/141,857, filed on Dec. 31, 2008, the entirety of which is incorporated by reference herein. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The invention relates generally to a method for boosting the downlink transmission to a mobile station, and more particularly, to a method for boosting the downlink transmission to a mobile station and a system utilizing the same. 
         [0004]    2. Description of the Related Art 
         [0005]    Among various communication topologies, Transmission Control Protocol (TCP) is the most common end-to-end data transmission protocol among computer hosts. The acronym TCP usually appears with Internet Protocol (IP) because TCP is widely deployed as a transport layer protocol over IP networks. TCP/IP supports error-free data transfers, in-order deliveries, congestion control and flow control. TCP/IP is suitable for data transmission over the Internet as it has excellent ability to restrain network congestion and guarantee traffic integrity. Thus, most Internet applications use TCP/IP, such as the File Transfer Protocol (FTP) and World Wide Web (WWW) applications. TCP data transfer aims at providing an error-free channel over two endpoints, i.e. transmitting party and receiving party. Therefore, TCP is able to handle some problems that commonly occur in communication networks, such as packet loss, out-of-order routing and duplicated data. In addition, TCP also allows data recovery for damaged or lost data. Since two endpoints of a TCP session may have different processing capabilities due to different processors or buffer sizes, TCP also performs an end-to-end flow control to prevent the transmitting party from sending too much data to the receiving party. The flow control mechanism is achieved by using a sliding window. The TCP window size determines the amount of data flow. In addition, TCP also provides congestion control which dynamically adjusts the transmission rate based on the network conditions. The transmitting party may increase or decrease the window size based on network conditions. If the network condition is good enough, the window size is increased and vice versa. The most important indicator for network condition is the acknowledgement packet (ACK packet) that is replied by a receiving party. For a good network condition, the replies of the ACK packets are rapid. To boost the downlink bandwidth rate, a procedure is needed to reply ACK packets as earlier as possible. 
       BRIEF SUMMARY OF THE INVENTION 
       [0006]    The invention discloses a method for boosting the downlink transmission rate to a mobile station by a media access control (MAC) unit thereof, comprising the steps of requesting a base station for a bandwidth amount for transmission of at least one un-generated acknowledgement (ACK) packet, generating the ACK packet or packets, and instructing an RF module to transmit the ACK packet or packets to the base station following a notification from the base station indicating that the requested bandwidth amount has been allocated. 
         [0007]    Furthermore, the invention discloses a system for boosting the downlink transmission, comprising an RF module and a media access control (MAC) unit. The processing unit is coupled to the RF module, requesting a base station for a bandwidth amount for transmission of at least one un-generated acknowledgement (ACK) packet, generating the ACK packet or packets, and directing the RF module to transmit the generated ACK packet or packets to the base station following a notification from the base station indicating that the requested bandwidth amount has been allocated. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein: 
           [0009]      FIG. 1  shows an architecture of a WiMAX network according to an embodiment of the invention; 
           [0010]      FIG. 2  shows a block diagram of a mobile station according to an embodiment of the invention; 
           [0011]      FIG. 3  shows a WiMAX bandwidth request procedure between a mobile station and a base station according to an embodiment of the invention; 
           [0012]      FIG. 4  shows the data structure of a TCP packet according to an embodiment of the invention; 
           [0013]      FIG. 5  shows a TCP connection setup diagram between a transmitting party and a receiving party according to an embodiment of the invention; 
           [0014]      FIG. 6  shows an exemplary format of a TCP packet according to an embodiment of the invention; 
           [0015]      FIG. 7  shows an exemplary format of an ACK packet according to an embodiment of the invention; 
           [0016]      FIG. 8A  shows a diagram of an increasing sliding window according to an embodiment of the invention; 
           [0017]      FIG. 8B  shows a diagram of a decreasing sliding window according to an embodiment of the invention; 
           [0018]      FIG. 9  shows a TCP downlink session over a WiMAX network according to an embodiment of the invention; 
           [0019]      FIG. 10  shows an MAC data plane of a mobile station according to an embodiment of the invention; 
           [0020]      FIG. 11  shows a flowchart of ACK estimation and prediction according to an embodiment of the invention; 
           [0021]      FIG. 12  shows a message sequence chart of a WiMAX network downlink session to a mobile station according to an embodiment of the invention; 
           [0022]      FIG. 13A  shows a header of a bandwidth request according to an embodiment of the invention; 
           [0023]      FIG. 13B  shows another header of a bandwidth request according to an embodiment of the invention; 
           [0024]      FIG. 13C  shows another header of a bandwidth request according to an embodiment of the invention; 
           [0025]      FIG. 13D  shows another header of a bandwidth request according to an embodiment of the invention; and 
           [0026]      FIG. 13E  shows a Grant Management Subheader for a bandwidth request according to an embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0027]    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. 
         [0028]    Worldwide Interoperability for Microwave Access (WiMAX) is an alternative for wireless communication technology which provides an enhanced infrastructure for the transmission of data, audio and video signals over a range of 30 miles. It was originally designed for the last mile of a broadband access network and used to replace the wired communication networks such as Digital Subscriber Line (DSL), Cable Modem and so on. WiMAX was developed based on the Institute of Electronics and Electrical Engineers (IEEE) Standard 802.16 which describes Media Access Control (MAC) layers and Physical (PHY) layers. The WiMAX network topology is based on a point-to-multipoint architecture as illustrated in  FIG. 1 , which shows an architecture of a WiMAX network  10  according to an embodiment of the invention. Referring to  FIG. 1 , the WiMAX network  10  utilizes a centralized control unit, namely the base station  13 , to provide network resources and arrange uplink and downlink traffic transmission over its coverage. The WiMAX client, namely the mobile stations  14  and  15 , communicates with the base station  13  to obtain network connectivity based on the IEEE 802.16 protocol. The base station  13  provides the network access services to the mobile stations  14  and  15 , allowing the mobile stations  14  and  15  to reach an application server  12  through the IP network  11 . Various application servers resident on the IP network  11  communicates with the mobile stations  14  and  15  via a backbone network  16  and the base station  13 . The application server  12  may be a FTP server, a Session Initiation Protocol (SIP) server or a Web server. The mobile stations  14  and  15  may be a handset or a customer-premises equipment (CPE), but are not limited thereto. 
         [0029]    Referring to  FIG. 2 , the mobile station  14  or  15  may comprise an antenna  141 , a radio frequency (RF) module  142 , an analog to digital converter (ADC)  143 , a baseband chip  144  and a network driver interface  145 . The antenna  141  and the RF module  142  are responsible for receiving and transmitting air signals. The ADC  143  is responsible for analog/digital conversion for the air signals. The baseband chip  144  may comprise a Media Access Control (MAC)  1441 , a physical layer controller  1442 , and a processor  1443 . Both the MAC  1441  and the physical layer controller  1442  are implemented based on the IEEE 802.16 standard. The MAC  1441  provides an upper application and a modem interface and negotiates with the MAC of the base station  13  based on the IEEE 802.16 standard. The physical layer controller  1442  is responsible for signal modulation and coding. The base station  13  may comprise several components for receiving and transmitting one or more service flows from and to one or more mobile stations  14  and  15 , wherein the service flows are designed to meet Quality of Service (QoS) requirements. In the downlink direction, the base station  13  broadcasts data of service flows to all mobile stations  14  and  15 . As for the uplink direction, the network bandwidth is distributed in a request-and-grant manner. The base station  13  is in charge of coordinating the bandwidth resources. Once a mobile station  14  or  15  demands bandwidth, it makes a bandwidth request to the base station  13  in either a contention-based or a unicast manner. When the base station  13  receives the request, the scheduler (not shown) of the base station  13  will decide whether the bandwidth request is granted or not. When a bandwidth grant signal is replied (i.e. the bandwidth request is granted) to a specific mobile station  14  or  15 , the mobile station  14  or  15  scheduler is awakened and arranges the data packets to be sent upon the granted transmission. A detailed procedure for a bandwidth request is illustrated in  FIG. 3  below. 
         [0030]      FIG. 3  shows a WiMAX bandwidth request procedure between a mobile station and a base station according to an embodiment of the invention. Bandwidth Scheduling is a kernel process for wireless communication networks. An efficient bandwidth scheduling ensures quality of service and optimizes system throughput. The base station  13  and the mobile station  14  or  15  employ two phases of bandwidth scheduling. The bandwidth scheduling tasks are operated at real-time to provide a required QoS in order to fully utilize available bandwidth resources and minimize costs. The WiMAX standard also defines a high level QoS and provides bandwidth scheduling support to enable traffic delivery over wireless environments. However, the standard does not define a specific algorithm for bandwidth scheduling and requires vendor implementation. The types of bandwidth scheduling may comprise: Unsolicited Grant Service (UGS), real-time Polling Service (rtPS), extended real-time Polling Service (ertPS), non-real-time Polling Pervice (nrtPS), Best Effort (BE) and so on. The scheduling types are designed for well-known applications. The bandwidth scheduling UGS and ertPS are mainly designed for Voice over Internet Protocol (VoIP) applications. The rtPS is used for Moving Picture Experts Group (MPEG) streaming, the nrtPS focuses on the FTP sessions, and the BE is designed for traditional Internet traffic. Each of the types of bandwidth scheduling is specified with a set of parameters for QoS management. For detailed description of service flows and the types of uplink scheduling, reference may be made to the IEEE 802.16 standard. 
         [0031]    As stated in the related art above, TCP utilizes a sliding window for flow control. A detailed description of the sliding window is described below.  FIG. 4  shows the data structure of a TCP packet according to an embodiment of the invention. The TCP packet in  FIG. 4  comprises two portions: a header; and a data payload. The header comprises the following fields: source port, destination port, sequence number, acknowledgement number, data offset, reserved, urgent (URG), acknowledge (ACK), push (PSH), reset (RST), synchronous (SYN), finish (FIN), window, checksum, urgent pointer and options. The source port specifies the source address of a TCP packet, and the destination port specifies the destination address of the TCP packet. The sequence number specifies the order of a transmitted TCP packet. With the specified order for TCP packets, data can be reliably transferred in an appropriate order regardless of fragmentation, disordering or loss. The sequence number increases by 1 for each subsequently transmitted TCP byte. Upon reception of one TCP packet, the receiving party responds with an ACK, informing the transmitting party that its TCP packet has been successfully received. The ACK is also carried by the data structure of the TCP packet (also referred to as ACK packet), and each ACK packet is also given an order specified in the acknowledgement number field. When a TCP packet is transmitted, the transmitting party starts a timer for the transmitted packet. If the responded ACK packet is not received by the transmitting party before the timer expires, the TCP packet is considered lost. Therefore, the transmitting party would retransmit the TCP packet. The data offset field specifies where the data begins. The reserved field is unused and left for future implementation. The URG, ACK, PSH, RST, SYN and FIN are control flags. The control flag URG indicates whether a TCP packet is an urgent one which must be processed immediately. The control flag ACK indicates that the validity of the acknowledgement number. If the acknowledgement number is valid for a TCP packet (the flag ACK is “1”), it indicates that the TCP packet is an ACK packet. The flag ACK is usually set as “1” except for the initial TCP packet requesting for setting up a connection with another party. The control flag PSH indicates whether a TCP packet should be transmitted immediately. If the flag PSH for a TCP packet is set as “1”, it indicates that the TCP packet along with that other TCP packets residing in the buffer should be sent right away without waiting for the buffer to be full, and the receiving party is required to pass the received TCP packets to application programs for processing as soon as possible. The control flag RST indicates whether the connection should be terminated immediately. If the flag RST is set as “1”, the connection is terminated immediately. The control flag SYN indicates whether synchronization is requested between the transmitting and receiving parties. If the flag SYN is set as “1”, the connection between the transmitting and receiving parties is established. The control flag FIN indicates whether the data transmission is about to be finished. If a current TCP packet is the last one to be transmitted, the flag FIN of the TCP packet is set as “1”, declaring termination of the data transmission. Thereafter, the two parties terminate the connection. The checksum is for a verification purpose. Before a TCP packet is transmitted, the transmitting party performs a verification process on the transmitted data. The verification process generates a checksum value specified in the checksum field of the transmitted TCP packet. Upon reception of the transmitted TCP packet, the receiving party performs another verification process on the received data. The verification process also generates a checksum value to be further compared with the one specified in the received TCP packet. If the comparison is not consistent, the received TCP packet is considered damaged. Therefore, the transmitting party is requested to retransmit the TCP packet. The urgent pointer indicates that the starting address of the urgent data that must be processed immediately. As an example, assume that the data flow exceeds the system bandwidth, in this situation all transmitting parties will be requested to stop transmitting data to the receiving party. Thereafter, the receiving party enters an urgent state (the urgent pointer is set as “1”) and immediately processes the urgent data. After the urgent data is processed, the receiving party goes back to a normal state, allowing the transmitting party to continue the data transmission. The “option” field is used to match TCP packets depending on their TCP options. However, this field is rarely used. 
         [0032]      FIG. 5  shows a TCP connection setup diagram between a transmitting party and a receiving party according to an embodiment of the invention. A three-way handshaking process is employed for the transmitting party to setup a connection with the receiving party. In a first step, the transmitting party issues an initial TCP packet  50  to the receiving party. An exemplary format of the TCP packet  50  is shown in  FIG. 6 . In  FIG. 6 , the initial sequence number is shown as 100. This number is randomly generated by the transmitting party. In addition, the window size is specified as 200. This indicates that the transmitting party is currently able to receive up to 200 TCP packets from the receiving party at once. Also, the flag SYN of the TCP packet  50  is set as “1” because this is an initial TCP packet requesting connection with the receiving party. Note that the acknowledgement number specified in the TCP packet  50  is currently not available. In a second step, upon reception of the TCP packet  50  from the transmitting party, the receiving party issues an ACK packet  51  to the transmitting party in acknowledgement of the TCP packet  50 . An exemplary format of the ACK packet  51  is shown in  FIG. 7 . In  FIG. 7 , the sequence number is set to 190, which is also randomly generated by the receiving party. In addition, the window size is specified as 250, which means that the receiving party is currently able to receive up to 250 TCP packets from the transmitting party at once. Also, the flag SYN of  51  is set as “1” as this is also a packet requesting connection with the transmitting party. At this time, the acknowledgement number of the ACK packet  51  is specified as the transmitting party sequence number plus 1, i.e. 101 in this embodiment. This indicates that the receiving party hopes to receive a next TCP packet with a sequence number specified as 101. In a third step, upon reception of the ACK packet  51 , the transmitting party responds with a TCP packet  52 . In the TCP packet  52 , the acknowledgement number is specified as the receiving party sequence number plus 1, i.e. 191 in this embodiment. In addition, the flag SYN of the packet is no longer set to “1” as the connection has already been set up. The procedure of a TCP connection setup has been described above. Following, a TCP flow control will be illustrated. 
         [0033]    As described previously, the TCP window size determines the data throughput. The transmitting party may increase or decrease the window size based on the network condition. An example of an increasing sliding window is illustrated in  FIG. 8A . In  FIG. 8A , two TCP packets are initially transmitted to the receiving party. A timer for transmitted TCP packets is then started. Upon reception of the two TCP packets, the receiving party generates and issues an ACK packet to the transmitting party. If the ACK packet arrives at the transmitted party before the timer expires, the transmitted party considers that the network condition is good, and vice versa. In this embodiment, the ACK packet is received before the timer expires. Therefore, the transmitting party resets the timer, shortens the counting of the timer and increases the window size to allow more TCP packets to be transmitted in a predetermined time period. As a result, the transmitting party may be able to transmit more TCP packets (four TCP packets in this embodiment), which achieves a higher throughput. On the contrary, network congestion may occur, as shown in  FIG. 8B . In  FIG. 8B , five TCP packets are transmitted to the receiving party. A timer for transmitting TCP packets is then started. Upon reception of the TCP packets, the receiving party generates and issues an ACK packet to the transmitting party. In this embodiment, the ACK packet is not received before the timer expires. Therefore, the transmitting party considers that network is congested. To resolve the congestion condition, the transmitting party decreases the window size and retransmits the TCP packets with increased counting of timer. As a result, the transmitting party will transmit fewer TCP packets (two TCP packets in this embodiment), which lowers throughput. 
         [0034]    Based on the above, a larger window size may be chosen for an efficient network. In addition, a packet delay or loss may affect the reply of the ACK packet, which results in a reduction of window size. For a wireless network, the transmitted TCP packets are much easier to get lost or be delayed when compared to a wired one. One of the reasons is that the ACK packet is damaged due to fading, shadowing, hand offs or other radio effects which do not exist in wired networks. In current TCP/IP network, any packet loss or delay is always considered as a sign of network congestion and starts to decrease the window size in a rapid scale. Thus, radio resources are underutilized. To solve this issue, WiMAX employs Automatic Repeat Request (ARQ) and Hybrid ARQ (HARQ) to enhance the error restraint ability. Additionally, another reason why wireless networks have longer transmission delay than the wired one, is that collisions or signal interferences are more frequent occurred in the air environment compared to wired networks. Because of the reasons above, for wireless networks, the access mechanism performed by the MAC always takes more time on negotiation before actual data transmission to reduce the collision. This approach also encounters transmission delay as a side effect. Take the WiMAX architecture in  FIG. 1  as an example, a contention-based bandwidth ranging code or a contention-free bandwidth request is sent first before data is transmitted. Thereafter, the mobile station  14  or  15  waits for a bandwidth grant from the base station  13 . The procedure of a bandwidth request takes time and causes transmission delay in the MAC layer. The delay may not damage the TCP transmission if the transmission rate is not high. If the TCP transmission rate is high and the window size is great, the transmitting party expects the receiving party to quickly reply with the ACK packets. However, transmission delay may hinder the response time of the ACK packets. As a result, the transmitting party may consider that the network condition is not good enough and maintain or even decrease the original window size. In such a case, the transmitting party may underestimate the network condition as the IP network still have more bandwidth resources available for data transmission. The following  FIG. 9  illustrates a TCP downlink session over the WiMAX network  10  (for example, downloading a file from a FTP server using the mobile station  14  or  15 ). In  FIG. 9 , the base station  13  (transmitting party) initially sends a couple of TCP packets to the mobile station  14  or  15  (receiving party). Upon receipt of the TCP packets, the mobile station  14  or  15  generates an ACK packet. After the ACK packet is generated, the mobile station  14  or  15  makes a bandwidth request to the base station  13  and waits for a bandwidth grant for subsequent transmission of the ACK packet. The bandwidth request procedure delays the transmission of the ACK packet since the bandwidth request can not be issued until the ACK packet is generated. To address the drawbacks, the bandwidth request is made as early as possible to reduce the transmission delay, for example, before the ACK packet is generated. The bandwidth is preferably prepared and allocated by the base station  13  in advance so that the ACK packet may be transmitted upon completely providing the ACK packets. To achieve this, the mobile station  14  or  15  may predict the number of ACK packet(s) that is going to be generated in the near future, as well as the timings of ACK packet generation. Based on the predicted number of ACK packet(s), the mobile station  14  or  15  issues the bandwidth request to the base station  13  to acquire sufficient bandwidth for transmission of the incoming ACK packet(s) prior to the generation of ACK packet(s). Therefore, the base station  13  can receive, process and grant the bandwidth request before the ACK packet(s) arrives. Consequently, the receiving party replies with the ACK packet(s) to the transmitting party more quickly, thus, window size is increased (or FTP downlink throughput is improved). The detailed implementation is illustrated in  FIG. 10 . 
         [0035]    An embodiment of an MAC data plane is introduced to provide an additional function for estimating the number and the arrival of ACK packet(s) subsequently to the base station  13  via the RF module  142 . The function may be realized as an additional MAC component with or directly integrated into an uplink traffic scheduler, for example, inside of the MAC  1441 .  FIG. 10  shows an MAC data plane of a mobile station according to an embodiment of the invention. The MAC  1441  contains at least an uplink-MAP parser  100 , a convergence sublayer manager  101 , an uplink traffic scheduler  102 , an ACK estimation and prediction module  103 , and a PHY controller  104 . The uplink traffic scheduler  102  is responsible for managing the bandwidth allocations by the base station  13 . It collects the bandwidth allocations information from the uplink-MAP parser  100 , as well as the uplink TCP packets from the convergence sublayer manager  101 . Once the uplink traffic scheduler  102  completes transmission data arrangement, the PHY controller  104  triggers the transmission. 
         [0036]    In addition, the ACK estimation and prediction module  103  also obtains uplink traffic information from the convergence sublayer manager  101 . According to the obtained information, the ACK estimation and prediction module  103  estimates the number of ACK packet(s) that is going to be generated and predicts the timing for when the ACK packet(s) will be generated. The ACK estimation and prediction module  103  instructs the PHY controller  104  to request for the required bandwidth amount before the arrival of the ACK packet(s) to the PHY controller  104 . The obtained information is treated as the input of the ACK estimation and prediction module  103  for ACK prediction and analysis. If the ACK packet(s) is expected to be generated in a near future, the ACK estimation and prediction module  103  calculates the required bandwidth for the ACK packet(s) and triggers the PHY controller  104  to perform a bandwidth request to the base station  13 . The flowchart of ACK estimation and prediction is shown in  FIG. 11 , performed by the MAC unit  1441 . 
         [0037]    In  FIG. 11 , TCP packets are received from a base station (step S 110 ). Next, uplink traffic information is obtained (step S 111 ). Next, the number of ACK packet(s) that is going to be generated is predicted and estimated (step S 112 ). Next, a bandwidth amount for transmission of at least the predicted ACK packet(s) is determined (step S 113 ). Next, a bandwidth request for transmission of the determined bandwidth amount is made to the base station (step S 114 ). Finally, the ACK packet(s) is/are transmitted to the base station following a notification from the base station indicating that the requested bandwidth amount has been allocated (step S 115 ). 
         [0038]    There are several ways to predict the ACK packet(s). The first one is to embed a TCP protocol parser (not shown) inside the ACK estimation and prediction module  113 . With the TCP protocol parser, the MAC is able to analyze the historical ACK packets generated at historical time frames. Following is an exemplary formula used to calculate the number of ACK packet(s) that is going to be generated: 
         [0000]    
       
         
           
             
               
                 
                   
                     x 
                      
                     
                       [ 
                       t 
                       ] 
                     
                   
                   = 
                     
                    
                   
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           1 
                         
                         n 
                       
                        
                       
                         
                           ω 
                           k 
                         
                         · 
                         
                           x 
                            
                           
                             [ 
                             
                               t 
                               - 
                               k 
                             
                             ] 
                           
                         
                       
                     
                     + 
                     Δ 
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     
                       
                         ω 
                         1 
                       
                       · 
                       
                         x 
                          
                         
                           [ 
                           
                             t 
                             - 
                             1 
                           
                           ] 
                         
                       
                     
                     + 
                     
                       
                         ω 
                         2 
                       
                       · 
                       
                         x 
                          
                         
                           [ 
                           
                             t 
                             - 
                             2 
                           
                           ] 
                         
                       
                     
                     + 
                   
                 
               
             
             
               
                 
                     
                    
                   
                     
                       
                         
                           ω 
                           3 
                         
                         · 
                         
                           x 
                            
                           
                             [ 
                             
                               t 
                               - 
                               3 
                             
                             ] 
                           
                         
                       
                       + 
                       … 
                       + 
                       
                         
                           ω 
                           n 
                         
                         · 
                         
                           x 
                            
                           
                             [ 
                             
                               t 
                               - 
                               n 
                             
                             ] 
                           
                         
                       
                       + 
                       Δ 
                     
                     , 
                   
                 
               
             
           
         
       
     
         [0000]    wherein the variable t is an index of time frame, x[t] is the predicted number of ACK packet(s) at time frame t, x[t−k] is the historical number of ACK packet(s) at time frame t−k, ω k  is the weighted parameter of x[t−k], and the summation of all weighted parameters may be 1. The symbol Δ is the extra shift quantity, which may be adjusted as desired. 
         [0039]    The above formula is a time-variant general discrete function, which predicts the forthcoming ACK packet(s) based on the historical ACK packets. In other words, the historical ACK packets generated at historical time frames with relevant weightings are used for ACK prediction. Here is a further explanation of the formula. The variable x[t−1] is the number of historical ACK packet(s) generated at a historical time frame t−1, which may be the time interval of 5 milliseconds prior to the time frame t, for example. Similarly, the variable x[t−2] is the number of historical ACK packet(s) generated at another earlier historical time frame t−2, which may be the time interval of 5 milliseconds prior to the time frame t−1, for example. By using the weighted function, it is also possible to consider the timing factor. For example, information regarding the historical ACK packet(s) generated at a recent time frame is considered more significant than that at an earlier time frame. Therefore, the historical ACK packet(s) generated at recent time frames are given a higher weighted value than earlier ones. Based on this, it is possible to predict the number of ACK packet(s) that is expected to be generated at forthcoming time frames. Although a TCP parser benefits approximation, it may require additional hardware, process time or complexity. 
         [0040]    Another embodiment to predict and estimate the number of ACK packet(s) is based on the predicted downlink TCP packets (expressed as d[t]) that are going to be received from the base station  13 , as well as the predicted uplink TCP packets (expressed as u[t]) that are going to be transmitted to the base station  13 . Exemplary formulas are as follows: 
         [0000]    
       
         
           
             
               
                 
                   
                     d 
                      
                     
                       [ 
                       t 
                       ] 
                     
                   
                   = 
                     
                    
                   
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           1 
                         
                         n 
                       
                        
                       
                         
                           ω 
                           k 
                         
                         · 
                         
                           d 
                            
                           
                             [ 
                             
                               t 
                               - 
                               k 
                             
                             ] 
                           
                         
                       
                     
                     + 
                     
                       Δ 
                       d 
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     
                       
                         ω 
                         1 
                       
                       · 
                       
                         d 
                          
                         
                           [ 
                           
                             t 
                             - 
                             1 
                           
                           ] 
                         
                       
                     
                     + 
                     
                       
                         ω 
                         2 
                       
                       · 
                       
                         d 
                          
                         
                           [ 
                           
                             t 
                             - 
                             2 
                           
                           ] 
                         
                       
                     
                     + 
                     
                       
                         ω 
                         3 
                       
                       · 
                       
                         d 
                          
                         
                           [ 
                           
                             t 
                             - 
                             3 
                           
                           ] 
                         
                       
                     
                     + 
                     … 
                     + 
                   
                 
               
             
             
               
                 
                     
                    
                   
                     
                       
                         ω 
                         n 
                       
                       · 
                       
                         d 
                          
                         
                           [ 
                           
                             t 
                             - 
                             n 
                           
                           ] 
                         
                       
                     
                     + 
                     
                       Δ 
                       d 
                     
                   
                 
               
             
           
         
       
       
         
           
             
               
                 
                   
                     u 
                      
                     
                       [ 
                       t 
                       ] 
                     
                   
                   = 
                     
                    
                   
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           1 
                         
                         n 
                       
                        
                       
                         
                           ω 
                           k 
                           ′ 
                         
                         · 
                         
                           u 
                            
                           
                             [ 
                             
                               t 
                               - 
                               k 
                             
                             ] 
                           
                         
                       
                     
                     + 
                     
                       Δ 
                       u 
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     
                       
                         ω 
                         1 
                         ′ 
                       
                       · 
                       
                         u 
                          
                         
                           [ 
                           
                             t 
                             - 
                             1 
                           
                           ] 
                         
                       
                     
                     + 
                     
                       
                         ω 
                         2 
                         ′ 
                       
                       · 
                       
                         u 
                          
                         
                           [ 
                           
                             t 
                             - 
                             2 
                           
                           ] 
                         
                       
                     
                     + 
                     
                       
                         ω 
                         3 
                         ′ 
                       
                       · 
                       
                         u 
                          
                         
                           [ 
                           
                             t 
                             - 
                             3 
                           
                           ] 
                         
                       
                     
                     + 
                     … 
                     + 
                   
                 
               
             
             
               
                 
                     
                    
                   
                     
                       
                         
                           ω 
                           n 
                           ′ 
                         
                         · 
                         
                           u 
                            
                           
                             [ 
                             
                               t 
                               - 
                               n 
                             
                             ] 
                           
                         
                       
                       + 
                       
                         Δ 
                         u 
                       
                     
                     , 
                   
                 
               
             
           
         
       
     
         [0041]    herein, d[t] and u[t] are the downlink and uplink TCP packets observed or predicted at time frame t, d[t−k] and u[t−k] are the downlink and uplink TCP packets observed or predicted at time frame t−k, respectively, ω n  is the weighted parameter of d[t−k], k is one of 1 to n, the summation of all weighted parameters ω n  may be 1, ω n ′ is the weighted parameter of u[t−k], and the summation of all weighted parameters ω n ′ may be 1. The symbols Δ d  and Δ u  are the extra shift quantity, which may be adjusted as desired. 
         [0042]    This method requires historical downlink/uplink TCP traffic statistics. All incoming (downlink) and outgoing (uplink) historical TCP packets of the mobile station  14  or  15  are taken into consideration. 
         [0043]    Based on the predicted d[t] and u[t], the predicted number of ACK packet(s) may be determined according to the formula: 
         [0000]    
       
      
       p[t]=ω 
       u 
       ·u[t]+ω 
       d 
       ·d[t].  
      
     
         [0044]    wherein, p[t] is the predicted number of ACK packet(s) at time frame t, ω u  is the weighted parameter of u[t], and ω d  is the weighted parameter of d[t]. 
         [0045]    ACK traffic always has its own specialized pattern since the number of generated ACK packet(s) is proportional to the transmission rate and the sliding window size. The transmission rates of both the historical downlink TCP traffic and the historical uplink TCP traffic are recorded, and the expected amount of downlink and uplink TCP traffic at time frame t are derived. Based on the values, by properly adjusting the weighted values ω u  and ω d , the ACK traffic can be detected and calculated. In addition, by referring to the historical downlink TCP traffic and the historical uplink TCP traffic, the MAC is also able to determine the timing for when the subsequent ACK packet(s) will be generated. 
         [0046]      FIG. 12  shows a message sequence chart of a WiMAX network downlink session to a mobile station according to an embodiment of the invention. In  FIG. 12 , the timing for when the ACK packet(s) will be generated is predicted, and the mobile station  14  or  15  makes a bandwidth request to the base station  13  for the predicted ACK packet(s) in advance. When the bandwidth request is granted before the ACK packet(s) is generated, the ACK packet(s) is sent immediately. The ACK message is delivered to the transmitting party more quickly via the base station  13 . As a result, the transmitting party increases its sliding window size and the transmission throughput is accordingly increased. 
         [0047]    The data structure of a header of a bandwidth request is shown in  FIG. 13A . The format comprises a field “BR” which indicates the required bandwidth. The required bandwidth is expressed in 19 bits.  FIG. 13B  shows the data structure of a header which expresses the required bandwidth and uplink transmission (Tx) power. The field “BR” indicates that the required bandwidth expressed in 11 bits.  FIG. 13C  shows the data structure of a header which expresses Carrier to Interference plus Noise Ratio (CINR) and the required bandwidth. The field “BR” indicates that the required bandwidth is also expressed in 11 bits.  FIG. 13D  shows the data structure of a header related to power saving. However, this header may also be used to request bandwidth amount. The field “BR” indicates that the required bandwidth is also expressed in 11 bits.  FIG. 13E  shows a Grant Management Subheader. This header is sent along with the TCP traffic. The “PiggyBack Request” field indicates the required bandwidth amount. 
         [0048]    Apart from the WiMAX network, the invention may also be applied to other wireless networks, such as a High-Speed Uplink Packet Access (HSUPA) or Long Term Evolution (LTE) wireless network. To optimize utilization of frequency bands, recent wireless technology standards have been designed with a centralized infrastructure and request-and-grant mechanism. In addition, packet switched networks are widely used since such networks are more compatible with the Internet than circuit switched networks. The proposed embodiments of the systems and methods of the invention originated from such networks (i.e. WiMAX) and can be easily applied to other wireless networks based on similar concepts. 
         [0049]    While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. 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.