Abstract:
A system and method are described for reducing congestion in a wireless network. A wireless base station becomes congested when substantially all of the available base station airlink resources are being used during a period of time. It is useful, however, to distinguish between periods of congestion with few users and periods where a larger number of users are using the base station. When there are few users a congestion situation is not necessarily a problem, while it is more likely that users&#39; quality of experience and quality of service suffers as the number of users increases. This system and method determines when a base station is congested and implements a congestion prime management scenario when the number of active users is above an activity threshold.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present application claims the benefit of U.S. Provisional Application No. 61/164,142, filed Mar. 27, 2009, which is incorporated herein by reference. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The field of the present invention generally relates to detecting and responding to a congestion scenario in a base station sector in a cellular wireless packet data network. The systems and methods herein manage congestion based upon the number of subscriber devices that are actively transferring data on a wireless resource at the time of congestion. 
       BACKGROUND OF THE INVENTION 
       [0003]    In modern wireless networks, users expect and demand a minimum standard of service including a rapid data transfer rate as well as low signal latency or delay. As the number of subscriber devices using a particular network base station increases, the base station or network in general may become saturated with data transfers and a user&#39;s quality of experience and quality of service suffers. However, not all network congestion contributes equally to the detriment of the user, and it is beneficial to distinguish between at least two different congestion scenarios in order to optimize a congestion response. 
         [0004]    In a first congestion scenario, a network base station or wireless sector may be congested with data transfers initiated by a relatively small number of users. The small number of users may be using all of the airlink resources or channels of a base station but the users may still be receiving optimal service. For example, if a handful of users are requesting data transfers resulting in a congested wireless sector, the user&#39;s quality of experience may remain high despite the congestion if they are experiencing a high rate of data transfer. 
         [0005]    In a second congestion scenario, a network base station or a wireless sector may be congested with data transfers initiated by a relatively large number of users. In this case, a large number of users are using the airlink resources or channels of the base station and each user&#39;s quality of experience may be degraded because of the problems associated with congestion. 
         [0006]    Prior art systems for dealing with congestion do not differentiate between the two congestion scenarios, leading to a sub-optimal response to congestion in a network. By failing to distinguish between congestion caused by a relatively small number of users and congestion caused by a relatively larger number of users, the systems and methods fail to tailor any congestion-mitigating responses appropriate to the number of users. 
         [0007]    In view of the foregoing, it would be optimal for any systems and methods for identifying and reacting to congestion in a wireless network to distinguish between the two types of congestion and respond accordingly. Additionally, a system or method for managing congestion in a wireless network would need to effectively identify the number of active users associated with a particular base station or wireless sector as well as identify when the base station is experiencing congestion. 
       SUMMARY OF THE INVENTION 
       [0008]    This summary is provided to introduce (in a simplified form) a selection of concepts that are further described below in the Detailed Description. This summary is not intended to identify key features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. 
         [0009]    In overcoming the above disadvantages associated with current congestion detection and response algorithms, the present invention discloses systems and methods for determining a congestion prime scenario on the basis of a percentage of resource utilization and the number of active users. In an embodiment, the present invention discloses a computer-implemented method for reducing congestion in a wireless communication system, comprising: determining if a wireless sector is congested; determining if a number of active consumer premises equipment in the wireless sector is above a threshold; and implementing a congestion prime scenario to reduce a level of congestion in the wireless sector when the number of active consumer premises equipment is above the threshold. 
         [0010]    In accordance with another aspect of the present invention, determining if the wireless sector is congested further comprises: determining a percentage of a set of airlink resources in use; and determining when the percentage of the set of airlink resources is above a congestion threshold. 
         [0011]    In accordance with another aspect of the present invention, determining the number of active consumer premises equipment further comprises, for each consumer premises equipment in the wireless sector: tracking a number of bytes transmitted or received by a consumer premises equipment during a measurement period; and determining whether the number of bytes transmitted or received is above an activity threshold; and counting the number of consumer premises equipment that was determined to be above the activity threshold. 
         [0012]    In accordance with another aspect of the present invention, the congestion prime scenario comprises: handing off at least one consumer premises equipment to a base station in the wireless communication network. 
         [0013]    In accordance with another aspect of the present invention, the congestion prime scenario comprises: classifying at least one consumer premises equipment as using a low-order modulation and coding scheme or a high-order modulation and coding scheme; and handing off at least one consumer premises equipment to another base station in the wireless communication network, wherein the at least one consumer premises equipment was classified as using the low-order modulation and coding scheme. 
         [0014]    In accordance with another aspect of the present invention, the congestion prime scenario comprises: identifying at least one consumer premises equipment using a largest share of a set of airlink resources; and handing off the at least one consumer premises equipment to a base station in the wireless communication network. 
         [0015]    In accordance with another aspect of the present invention, the congestion prime scenario comprises: reducing a data rate for at least one consumer premises equipment. 
         [0016]    In accordance with another aspect of the present invention, the congestion prime scenario comprises: reducing a peak data rate for at least one consumer premises equipment using a lowest order modulation and coding scheme. 
         [0017]    In accordance with another aspect of the present invention, the congestion prime scenario comprises: reducing a peak data rate for at least one consumer premises equipment using a largest percentage of a set of airlink resources. 
         [0018]    In accordance with another aspect of the present invention, the wireless sector is a base station sector. 
         [0019]    In accordance with a further aspect of the present invention is a wireless communication system for reducing congestion, comprising: a first base station; a second base station; at least one consumer premises equipment; and a data communication network facilitating data communication amongst the first base station, the second base station, and the at least one consumer premises equipment, wherein the system is configured to: determine if a wireless sector associated with the first base station is congested; determine if a number of active consumer premises equipment in the wireless sector is above a threshold; and implement a congestion prime scenario to reduce a level of congestion in the wireless sector when the number of active consumer premises equipment is above the threshold. 
         [0020]    In accordance with another aspect of the present invention, the congestion prime scenario comprises: handing off at least one consumer premises equipment to the second base station in the wireless communication network. 
         [0021]    In accordance with another aspect of the present invention, the congestion prime scenario comprises: classifying at least one consumer premises equipment as using a low-order modulation and coding scheme or a high-order modulation and coding scheme; and handing off at least one consumer premises equipment to the second base station in the wireless communication network, wherein the at least one consumer premises equipment was classified as using the low-order modulation and coding scheme. 
         [0022]    In accordance with another aspect of the present invention, the congestion prime scenario comprises: identifying at least one consumer premises equipment using the most airlink resources; and handing off the at least one consumer premises equipment to the second base station in the wireless communication network. 
         [0023]    In accordance with a further aspect of the present invention is a computer readable medium encoded with computer-executable instructions for reducing congestion in a wireless communication system, which when executed, performs a method comprising: determining if a wireless sector is congested; determining if a number of active consumer premises equipment in the wireless sector is above a threshold; and implementing a congestion prime scenario to reduce a level of congestion in the wireless sector when the number of active consumer premises equipment is above the threshold. 
         [0024]    In accordance with a further aspect of the present invention is a wireless base station for reducing congestion in an associated wireless sector, comprising: at least one memory; and at least one processor operatively coupled to the memory, wherein the wireless base station is configured to: determine if the wireless sector is congested; determine if a number of active consumer premises equipment in the wireless sector is above a threshold; and implement a congestion prime scenario to reduce a level of congestion in the wireless sector when the number of active consumer premises equipment is above the threshold. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0025]    Preferred and alternative examples of the present invention are described in detail below by way of example and with reference to the drawings, in which: 
           [0026]      FIG. 1  illustrates a perspective view of a networked computing system in accordance with an embodiment of the present invention; 
           [0027]      FIG. 2  illustrates a block diagram view of a base station in accordance with an embodiment of the present invention; 
           [0028]      FIG. 3  illustrates a block diagram of a server computer in accordance with an embodiment of the present invention; 
           [0029]      FIG. 4  illustrates a flow diagram depicting processes for establishing a measurement period and making measurements that can be used to indicate if a channel is congested in accordance with an embodiment of the present invention; 
           [0030]      FIG. 5  illustrates a first flow diagram depicting processes for detecting congestion in accordance with an embodiment of the present invention; 
           [0031]      FIG. 6  illustrates a second flow diagram depicting processes for detecting congestion in accordance with an embodiment of the present invention; 
           [0032]      FIG. 7  illustrates a first flow diagram depicting processes for determining if a consumer premises equipment is active in accordance with an embodiment of the present invention; 
           [0033]      FIG. 8  illustrates a second flow diagram depicting processes for determining if a consumer premises equipment is active in accordance with an embodiment of the present invention; 
           [0034]      FIG. 9  illustrates a flow diagram depicting processes for distinguishing between various congestion scenarios in accordance with an embodiment of the present invention; 
           [0035]      FIG. 10  illustrates by way of example an ordinary congestion scenario for a set of airlink resources accordance with an embodiment of the present invention; and 
           [0036]      FIG. 11  illustrates by way of example a congestion prime scenario for a set of airlink resources in accordance with an embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0037]    In accordance with an exemplary embodiment of the present invention,  FIG. 1  illustrates a perspective view of a networked computing system  100  including various wireline and wireless computing devices that may be utilized to implement any of the resource allocation processes associated with various embodiments of the present invention. The networked computing system  100  may include, but is not limited to, one or more remote base station devices  106   a , which may be associated with a macrocell, a microcell, or a picocell base station that may be a neighboring base station to one or more short-range base station devices  116   a  (e.g., a femtocell or picocell device) within a particular region of the networked computing system  100 ; a group of remote service provider devices  104   a - c , including server computers or any other common network device known in the art such as routers, gateways, or switch devices, which can support network resource allocation and/or digital data communication services to various network subscriber computing devices (e.g., any of the devices  108   a - c ,  110 ,  112 ,  114 ,  116   a ,  118 ,  120 , and  122 ); a data communications network  102 , including both Wide Area Network  106   b  (WAN), and Local Area Network  116   b  (LAN) portions; a variety of wireless user equipment, including: cellular phone or PDA devices  108   a - c ,  118  and  120 , and a laptop or netbook computer  122 , along with any other common portable wireless computing devices well known in the art (e.g., handheld gaming units, personal music players, video recorders, electronic book devices, etc.) that are capable of communicating with the data communications network  102  utilizing one or more of the remote base stations  106   a , the short-range base station device  116   a , or any other common wireless or wireline network communications technology; one or more network gateways or switch devices  110  and router  112  that can facilitate data communications processes within the LAN and between the LAN and the WAN of the data communications network  102 ; and a desktop computer  114  optionally connected to the LAN. While  FIG. 1  only illustrates one long-range base station device  106   a  and one short-range base station device  116   a , it may be apparent that the networked computing system  100  may include multiple base stations with varying degrees of size and overlap. 
         [0038]    In an embodiment, the remote base station  106   a , the short-range base station device  116   a  (e.g., a femtocell or picocell base station), the remote service provider devices  104   a - c , or any of the user equipment (e.g.,  108   a - c ,  114 ,  118 ,  120 , or  122 ) may be configured to run any well-known operating system, including, but not limited to: Microsoft® Windows®, Mac OS®, Google® Chrome®, Linux®, Unix®, or any well-known mobile operating system, including Symbian®, Palm®, Windows Mobile®, Google® Android®, Mobile Linux®, MXI®, etc. In an embodiment, the remote base station  106   a  may employ any number of common server, desktop, laptop, and personal computing devices. 
         [0039]    In an embodiment, the user equipment (e.g.,  108   a - c ,  114 ,  118 ,  120 , or  122 ) may include any combination of common mobile computing devices (e.g., laptop computers, netbook computers, cellular phones, PDAs, handheld gaming units, electronic book devices, personal music players, MiFi™ devices, video recorders, etc.), having wireless communications capabilities employing any common wireless data commutations technology, including, but not limited to: GSM™, UMTS™, LTE™, LTE Advanced™, WiMAX™, WiFi™, etc. 
         [0040]    In an embodiment, either of the LAN or the WAN portions of the data communications network  102  of  FIG. 1  may employ, but are not limited to, any of the following common communications technologies: optical fiber, coaxial cable, twisted pair cable, Ethernet cable, and powerline cable, along with any wireless communication technology known in the art. In an embodiment, the remote wireless base station  106   a , the wireless user equipment (e.g.,  108   a - c ,  118 ,  120 , or  122 ), as well as any of the other LAN connected computing devices (e.g.,  110 ,  112 , or  114 ) may include any standard computing software and hardware necessary for processing, storing, and communicating data amongst each other within the networked computing system  100 . The computing hardware realized by any of the network computing system  100  devices (e.g.,  104   a - c ,  106   a ,  108   a - c ,  110 ,  112 ,  114 ,  116   a ,  118 ,  120 , or  122 ) may include, but is not limited to: one or more processors, volatile and non-volatile memories, user interfaces, transcoders, modems, and wireline and/or wireless communications transceivers, etc. 
         [0041]    Further, any of the networked computing system  100  devices (e.g.,  104   a - c ,  106   a ,  108   a - c ,  110 ,  112 ,  114 ,  116   a ,  118 ,  120 , or  122 ) may be configured to include one or more computer-readable media (e.g., any common volatile or non-volatile memory type) encoded with a set of computer readable instructions, which when executed, performs a portion of any of the resource allocation processes associated with various embodiments of the present invention. 
         [0042]    In an embodiment, user equipment (e.g.,  108   a - c ,  118 ,  120 , and  122 ) may simultaneously reside within the wireless communications coverage area  116   b  of the short-range base station device  116   a  as well as within the wireless communications coverage area  106   b  of the base station  106   a , or the user equipment may reside in a single, non-overlapping area of LAN  116   b  or WAN  106   b.    
         [0043]      FIG. 2  illustrates a block diagram view of a base station device  200  (e.g., a femtocell, picocell, microcell, or a macrocell device) that may be representative of the long-range base station device  106   a  and/or the short-range base station device  116   a  in  FIG. 1 . In accordance with an embodiment of the present invention, the base station device  200  may include, but is not limited to, a baseband processing circuit including at least one central processing unit (CPU)  202 . In an embodiment, the CPU  202  may include an arithmetic logic unit (ALU, not shown) that performs arithmetic and logical operations and one or more control units (CUs, not shown) that extract instructions and stored content from memory and then executes and/or processes them, calling on the ALU when necessary during program execution. The CPU  202  is responsible for executing all computer programs stored on the base station device&#39;s  200  volatile (RAM) and nonvolatile (ROM) system memories,  204  and  226 . 
         [0044]    The base station device  200  may also include, but is not limited to, a radio frequency (RF) circuit for transmitting and receiving data to and from the network. The RF circuit may include, but is not limited to, a transmit path including a digital-to-analog converter  210  for converting digital signals from the system bus  220  into analog signals to be transmitted, an upconverter  208  for setting the frequency of the analog signal, and a transmit amplifier  206  for amplifying analog signals to be sent to the antenna  212 . Further, the RF circuit may also include, but is not limited to, a receive path including the receive amplifier  214  for amplifying the signals received by the antenna  212 , a downconverter  216  for reducing the frequency of the received signals, and an analog-to-digital converter  218  for outputting the received signals onto the system bus  220 . The system bus  220  facilitates data communication amongst all the hardware resources of the base station device  200 . 
         [0045]    Further, the base station device  200  may also include, but is not limited to, a user interface  222 ; operations and maintenance interface  224 ; memory  226  storing application and protocol processing software for performing the congestion determination, active CPE determination, congestion prime scenario implementation, and other processes in accordance with the present invention; and a network interface circuit  228  facilitating communication across the LAN and/or WAN portions of the data communications network  102  (i.e., a backhaul network). 
         [0046]    In accordance with an embodiment of the present invention, the base station  200  may use any modulation/encoding scheme known in the art such as Binary Phase Shift Keying (BPSK, having 1 bit/symbol), Quadrature Phase Shift Keying (QPSK, having 2 bits/symbol), and Quadrature Amplitude Modulation (e.g., 16-QAM, 64-QAM, etc., having 4 bits/symbol, 6 bits/symbol, etc.). Additionally, the base station  200  may be configured to communicate with the subscriber devices (e.g.,  108   a - c ,  118 ,  120 , and  122 ) via any Cellular Data Communications Protocol, including any common GSM, UMTS, WiMAX or LTE protocol. 
         [0047]      FIG. 3  illustrates a block diagram view of a server computer  300  that may be representative of any of the remote service provider devices  104   a - c  or the base station  106   a  and  116   a  in  FIG. 1 , or any other common network device known in the art such as a router, gateway, or switch device. The server computer  300  may include, but is not limited to, one or more processor devices including a central processing unit (CPU)  304 . In an embodiment, the CPU  304  may include an arithmetic logic unit (ALU, not shown) that performs arithmetic and logical operations and one or more control units (CUs, not shown) that extracts instructions and stored content from memory and then executes and/or processes them, calling on the ALU when necessary during program execution. The CPU  304  is responsible for executing all computer programs stored on the server computer&#39;s  300  volatile (RAM), nonvolatile (ROM), and long-term storage system memories,  302  and  310 . 
         [0048]    The server computer  300  may also include, but is not limited to, an optional user interface  318  that allows a server administrator to interact with the server computer&#39;s  300  software and hardware resources and to display the performance and operation of the networked computing system  100 ; a software/database repository  310  including: a congestion prime scenario unit  312  that may implement a congestion management scenario in accordance with the present invention; active consumer premises equipment (CPE) determination unit  316  that may implement a process for determining when a CPE is considered to be an active CPE relative to a base station or wireless sector (e.g., activity detection in  FIGS. 7 and 8 ); and a congestion determination unit  314  for implementing a process for detecting and determining the presence of congestion in a base station or wireless sector (e.g., congestion determination in  FIGS. 5 and 6 ). Further, the server computer  300  may also include a modem  308  for formatting data communications prior to transfer; a transceiver  306  for transmitting and receiving network communications amongst various network base stations, user equipment, and computing devices utilizing the data communication network  102  of the networked computing system  100 ; and a system bus  320  that facilitates data communications amongst all the hardware resources of the server computer  300 . 
         [0049]      FIG. 4  illustrates a flow diagram  400  depicting processes for establishing a measurement period and making measurements that can be used to indicate if a channel is congested. The channel can be a downlink channel (from base station to CPEs) or an uplink channel (from CPEs to base station). It should be understood that this process could be executed using one or more computer-executable programs stored on one or more computer-readable media located on any one of the base station devices (e.g.,  106   a  and  116   a ), collaboratively on the network base station  106   a , in the remote service provider devices  104   a - c  in  FIG. 1 , or in the server computer  300  in  FIG. 3 . In block  402 , a timer is started which begins a measurement period. The measurement period may be any time period, with exemplary time periods ranging from seconds to minutes. In one embodiment, a time period is fixed at two minutes. Additionally, the measurement period may be determined by a network engineer and fine-tuned according to the network performance. Next, in block  404  a base station (e.g., base station  116   a ) counts the number of used airlink resources (e.g., #UsedResources) and the total number of airlink resources (e.g., #TotalResources). In one embodiment, an airlink resource may be a set of frequency slots and/or time slots over which a base station  116   a  and a subscriber device (e.g.,  118 ,  120 , and  122 ) transmit and receive data. In an alternate embodiment, an airlink resource may be a unit of backhaul capacity. In one embodiment, an airlink resource may be considered to be a used airlink resource during a particular time period when the resource has transmitted or received data. 
         [0050]    Next, at block  406  the process  400  counts the number of bytes transferred by each subscriber device (e.g.,  118 ,  120 , and  122 ). This value may be represented as currByteCount k,n , wherein the k subscript corresponds to an identifier for a particular consumer premises equipment (CPE), while the n subscript corresponds to a measurement period (e.g., t 1 , t 2 , t 3 , etc., or specific time periods). Thus the currByteCount k,n , is specific to each subscriber device. The sum of each currByteCount k,n  would correspond to the total actual throughput for a base station device  116   a  during a time period n. In one embodiment, separate counts of currByteCount k,n  may be kept for both the uplink and downlink transfers, or a single count may be kept for the sum of the uplink or downlink bytes transferred by each CPE k . Next, the process checks at block  408  to determine whether the measurement period has elapsed, and if not, the process returns to block  404  to continue to measure the base station activity. By way of example, a currByteCount k,n  might represent 1.5 MB transferred by a CPE k  (e.g., a specific subscriber device  118 ,  120 , or  122 ) during the measurement period (e.g., t 1 =2 minutes). 
         [0051]    In general, the airlink resources and the number of bytes transferred by each subscriber (e.g., currByteCount k,n ) are monitored throughout a measurement period because packet data is bursty in nature. This is due to the discrete nature of packet communications as well as the manner in which the CPE are used. Often a user is not continuously utilizing resources and instead data is transferred in a sporadic, bursty manner. For example, a user browsing the Internet on an internet-enabled phone (e.g., a CPE  118 ,  120 , and  122 ) may desire to read the news online and may select a news article to read. The CPE will download data for the article from a base station and then the CPE will remain idle while the user reads the article. When the user requests a different article the CPE again downloads data in a flurry of activity and then returns to an idle state while still remaining connected to the base station. At any point in time, various subscriber devices (e.g.,  118 ,  120 , and  122 ) may be active or idle with respect to data transfer, but may nonetheless be considered to be active or idle when analyzed over a period of time. Thus, monitoring the base station usage throughout a measurement period develops a more complete snapshot of the base station utilization. 
         [0052]    When the measurement period is completed, the process  400  moves to block  410  where it computes a percentage of used resources for a measurement period n. Block  410  computes this value using the following equation: 
         [0000]      % UsedResources n =#UsedResources/#TotalResources  (1) 
         [0053]    In equation (1) above, the #UsedResources represents the number of used airlink resources in a base station and the #TotalResources represents the number of total airlink resources available to a base station  116   a  during the measurement period in steps  404 ,  406 , and  408 . In a situation where the observed base station is lightly loaded, the percentage of used resources (i.e., % UsedResources n ) will be a low value, while in a situation approaching traffic saturation the percentage of used resources will approach 100%. The measurements currByteCount k,n  and % UsedResources n  may be used later with respect to processes in  FIGS. 5-8 , respectively. 
         [0054]      FIG. 5  illustrates a flow diagram  500  depicting processes for detecting congestion in accordance with an embodiment of the present invention. Again, it should be understood that this process could be executed using one or more computer-executable programs stored on one or more computer-readable media located on any one of the base station devices (e.g.,  106   a  and  116   a ), collaboratively on the network base station  106   a , in the remote service provider devices  104   a - c  in  FIG. 1 , or in the server computer  300  in  FIG. 3 . The process  500  represents a first process for congestion detection, while process  600  illustrates an alternate embodiment. Continuing from block  410  in  FIG. 4 , at block  502  the % UsedResources n  value is inserted into a list of airlink utilization measurements. The list may be represented as any ring buffer, array, list, tree, or graph known in the Art. At block  504 , the process  500  analyzes the list tracking the % UsedResources n  and counts the number of previous X 1  measurements that are greater than or equal to a congestion threshold. In one embodiment, the congestion threshold may represent a percentage value above which the link is deemed to be congested. By way of example, a congestion threshold may be set at 90%, 95%, or some other percentage that may be determined either analytically or empirically. By way of a further example, block  504  may determine 5 out of the last 10 (X 1 ) measurements are above an exemplary congestion threshold of 95%. In other words, a base station is congested at a particular time period if the % UsedResources n  for that time period is above the congestion threshold value, while a count may be used to track the time periods when the base station is congested. In a further embodiment, the congestion threshold may be set statically, dynamically, or according to historical data. 
         [0055]    At block  506  the count determined in block  504  may be compared to a congestion count threshold, N 1 . If the count is greater than or equal to N 1  the link is determined to be congested in block  510 . If the count is less than N 1 , the link is determined to be not congested in block  508 . Continuing with the above example (where the count=5), the base station would be congested for any value of N 1  less than or equal to 5. In one embodiment, the congestion count threshold N 1  may be set statically, dynamically, or according to historical data. 
         [0056]      FIG. 6  illustrates a second flow diagram  600  depicting processes for detecting congestion in accordance with an embodiment of the present invention. Again, it should be understood that this process could be executed using one or more computer-executable programs stored on one or more computer-readable media located on any one of the base station devices (e.g.,  106   a  and  116   a ), collaboratively on the network base station  106   a , in the remote service provider devices  104   a - c  in  FIG. 1 , or in the server computer  300  in  FIG. 3 . As mentioned above, process  600  represents an alternative process to the congestion detection process  500  illustrated in  FIG. 5 . Generally,  FIG. 6  represents a single pole Infinite Impulse Response (IIR) filter, although other low-pass structures may also be used such as a Finite Impulse (FIR) or other IIRs. Continuing from block  410  in  FIG. 4 , at block  602  the process  600  computes an average airlink resource utilization for a corresponding time period. This average utilization, or AvgUtil n , is computed according to the following equation: 
         [0000]      AvgUtil n =α×AvgUtil n-1 +(1−α)×% UsedResources n   (2) 
         [0057]    Thus, the AvgUtil n  represents a running average of the percentage of used resources for a particular time period. In equation (2) above, the α (alpha) value ranges between zero and 1.0. If alpha is set relatively high (e.g., 0.9), the equation (2) weights the previous average (AvgUtil n-1 ) more than if alpha is set relatively low (e.g., 0.1). If alpha is set low, the process responds more quickly to sudden changes in the average airlink resource utilization in a time period. In one embodiment, the alpha value may be set statically, dynamically, or according to historical data. 
         [0058]    Next, at block  604  the running average for the percentage of used airlink resources (AvgUtil n ) is compared to determine if it is greater than or equal to a congestion threshold. If AvgUtil n  is greater than the threshold (e.g., 90%) than the base station or wireless sector is determined to be congested in block  608 . If the AvgUtil n  is less than a congestion threshold, the base station is determined to be not congested in block  606 . In one embodiment, the congestion threshold may be set statically, dynamically, or according to historical data. In another embodiment, the congestion threshold in  FIG. 6  may be the same or different value as the congestion threshold in  FIG. 5 . 
         [0059]      FIG. 7  illustrates a flow diagram  700  depicting processes for determining if a consumer premises equipment (CPE) is active in accordance with an embodiment of the present invention. Again, it should be understood that this process could be executed using one or more computer-executable programs stored on one or more computer-readable media located on any one of the base station devices (e.g.,  106   a  and  116   a ), collaboratively on the network base station  106   a , in the remote service provider devices  104   a - c  in  FIG. 1 , or in the server computer  300  in  FIG. 3 . The process  700  represents a first example of a process for identifying active CPEs, while process  800  in  FIG. 8  illustrates an alternate embodiment. Continuing from blocks  508 / 510  in  FIG. 5  or blocks  606 / 608  in  FIG. 6 , at block  702  the currByteCount k,n  (measured in  FIG. 4 ) is inserted into a list of byte counts for each specific CPE k . In one embodiment, the list may be any length and stored by any method including, but not limited to, a ring buffer, FILO queue, or any method known in the Art. 
         [0060]    Next, at block  704  the process  700  counts the X 2  previous byte counts (e.g., currByteCount k,n ) in the list that are equal or greater than an activity threshold. In one embodiment, an activity threshold is defined as the number of bytes that a CPE must have transferred in a measurement period for the CPE to be considered active during that measurement period. In another embodiment, the activity threshold may be set statically, dynamically, or according to historical data. At block  706  it is determined if the count is above an activity count threshold N 2 . If the count is above N 2  the CPE is considered to be active in block  710 , while if the count is below the threshold the CPE is considered to be inactive in block  708 . By way of example, a CPE may be considered to be active if 8 out of the last 10 currByteCount k,n  are above an activity threshold (e.g., transferring at least 1.5 MB of data during the measurement period in  FIG. 4 ). As would be understood by one skilled in the Art, any values may be used for the count X 2 , an activity threshold, or the count N 2 . 
         [0061]      FIG. 8  illustrates a flow diagram  800  depicting a second process for determining if a consumer premises equipment (CPE) is active in accordance with an embodiment of the present invention. Again, it should be understood that this process could be executed using one or more computer-executable programs stored on one or more computer-readable media located on any one of the base station devices (e.g.,  106   a  and  116   a ), collaboratively on the network base station  106   a , in the remote service provider devices  104   a - c  in  FIG. 1 , or in the server computer  300  in  FIG. 3 . As described above, process  800  represents an alternative process to the activity detection process  700  illustrated in  FIG. 7 . Continuing from blocks  508 / 510  in  FIG. 5  or blocks  606 / 608  in  FIG. 6 , at block  802  the process  800  computes an average bandwidth utilization for a corresponding time period. This average utilization, or ByteAvg k,n , is computed according to the following equation: 
         [0000]      ByteAvg k,n =α×ByteAvg k,n-1 +(1−α)×currByteCount k,n   (3) 
         [0062]    Thus, the ByteAvg k,n  represents a running average of the current byte usage for a specific CPE for a particular time period. In equation (3) above, the α (alpha) value ranges between zero and 1.0. If alpha is set relatively high (e.g., 0.9), the equation (2) weights the previous average (ByteAvg k,n-1 ) more than if alpha is set relatively low (e.g., 0.1). If alpha is set low, the process responds more quickly to sudden changes in the number of bytes transmitted or received by a CPE. In one embodiment, the alpha value may be set statically, dynamically, or according to historical data, and the alpha value may be set independently of any alpha value represented in  FIG. 6 . 
         [0063]    Next, at block  804  the running average for current byte usage for a specific CPE (ByteAvg k,n ) is compared to against an activity threshold. If ByteAvg k,n  is greater than or equal to the threshold (e.g., 1.5 MB transmitted during a measurement period t 1 ) than the specific CPE is determined to be active in block  808 . If the ByteAvg k,n  is less than the activity threshold, the CPE k  is determined to be inactive in block  806 . In one embodiment, the activity threshold may be set statically, dynamically, according to historical data, or based on the type of CPE (e.g., laptop, phone, PDA, internet-enabled device, etc.). 
         [0064]      FIG. 9  illustrates a flow diagram  900  depicting processes for distinguishing between various congestion scenarios in accordance with an embodiment of the present invention. Again, it should be understood that this process could be executed using one or more computer-executable programs stored on one or more computer-readable media located on any one of the base station devices (e.g.,  106   a  and  116   a ), collaboratively on the network base station  106   a , in the remote service provider devices  104   a - c  in  FIG. 1 , or in the server computer  300  in  FIG. 3 . Continuing from blocks  708 / 710  in  FIG. 7  or blocks  806 / 808  in  FIG. 8 , at block  902  it is determined if the network is congested. This determination may be based upon the congestion determinations made in  FIGS. 5  and/or  6 . If the network is not congested, the process moves to block  910  and the process is completed. If the network, base station, and/or wireless sector is congested, the process moves to block  904 . In block  904  a determination is made whether the number of active users is greater than an active user threshold. A user is determined to be an active user based upon the determinations made in  FIGS. 7  and/or  8 . In an alternate embodiment, the action taken in block  904  may depend on the average amount of data that each CPE is transferring during the times of congestion. In one embodiment, the active user threshold may be set statically, dynamically, according to historical data, or based on the type of CPE (e.g., laptop, phone, PDA, internet-enabled device, etc.). If the number of active users is not above an active user threshold, the system may implement regular congestion management scenarios in block  908 . Alternately, the system may take no action if the airlink usage indicates a regular congestion scenario. In one embodiment, an example of an airlink resource utilization where the number of active users is not above the active user threshold is illustrated in  FIG. 10 . However, if the number of active users is above the active user threshold (illustrated by the airlink resource utilization in  FIG. 11 ), the process may implement a congestion prime management scenario in block  906 . 
         [0065]    When a base station is determined to implement a congestion prime management scenario in block  906 , the base station (e.g.  116   a ) may attempt to reduce the congestion via several methods. In a first method, the base station (e.g.,  116   a ) may attempt to hand off one or more of the CPE (e.g.,  108   a - c ,  118 ,  120 , and  122 ) to another base station (e.g.,  106   a ). By having some of the CPE obtain service from another base station (e.g.,  106   a ) in the network, the airlink resources at the first base station (e.g.,  116   a ) will be used by fewer active CPE, providing the active remaining CPE with a higher overall throughput in the base station or wireless sector. 
         [0066]    In a second congestion prime management method, a base station (e.g.,  116   a ) may attempt to hand off CPE (e.g.,  108   a - c ,  118 ,  120 , and  122 ) that are using lower order modulation and coding schemes to another base station (e.g.,  106   a ). This second method is similar to the first method as described above, but this method attempts to determine the biggest improvement in capacity by handing off the CPE that make the most inefficient use of the airlink resources. Examples of modulation and coding schemes include, but are not limited to, Binary Phase Shift Keying (BPSK, having 1 bit/symbol), Quadrature Phase Shift Keying (QPSK, having 2 bits/symbol), and Quadrature Amplitude Modulation (e.g., 16-QAM, 64-QAM, etc., having 4 bits/symbol, 6 bits/symbol, etc.). As is known in the Art, a CPE using BPSK would use more bandwidth (i.e., airlink resources) than a CPE using QPSK as a modulation scheme. Under this second method, a base station (e.g.,  116   a ) would attempt to hand off the CPE using the BPSK in a congestion prime scenario because the biggest bandwidth gains may be realized by this hand off. 
         [0067]    In a third congestion prime management scenario, the base station (e.g.,  116   a ) may attempt to hand off one or more CPE (e.g.,  108   a - c ,  118 ,  120 , and  122 ) that are using the most airlink resources to another base station (e.g.,  106   a ). This third method is similar to the second method, but this method analyzes both the amount of data that each CPE is transferring as well as the modulation and coding scheme that is used by each CPE. The airlink resource usage for each CPE must be calculated from the measured amount of bytes transferred during the measurement period (e.g., currByteCount k,n ) in addition to tracking the modulation and coding scheme associated with the CPE uplink and/or downlink. In one embodiment, the third method may make a determination based upon an average or peak uplink and/or downlink data rates. 
         [0068]    In a fourth congestion prime management scenario, the base station (e.g.,  116   a ) may reduce the data rate for CPE (e.g.,  108   a - c ,  118 ,  120 , and  122 ) that are using lower order modulations or that are using the most airlink resources. This method may be used if a CPE cannot be handed off to another base station as in the first, second, and third methods described above. Under this method, the maximum data rate of the CPE that are using the lowest order modulations, or the CPE using the most airlink resources, is reduced. This action to reduce the data rate frees up airlink resources which may then be used by other CPE, thereby allowing the CPE remaining connected to the base station (e.g.,  116   a ) to increase their throughput. 
         [0069]      FIG. 10  illustrates by way of example an ordinary congestion scenario  1000  for a set of airlink resources accordance with an embodiment of the present invention.  FIG. 11  illustrates by way of example a congestion prime scenario  1100  for a set of airlink resources in accordance with an embodiment of the present invention.  FIGS. 10 and 11  will be described together to explain the congestion prime scenario management systems and method according to the present invention. 
         [0070]    Airlink resources are represented by the airlink resources  1002  and  1102  labeled 0-24 in  FIGS. 10 and 11 . In one embodiment, airlink resources  1002 / 1102  may represent frequency slots and/or time slots available in a wireless communication system. In an alternate embodiment, airlink resources may represent a unit of capacity of a backhaul connection (e.g.,  102 ). The airlink resources  1002 / 1102  may be monitored over a time period  1004 / 1104 . This time period  1004 / 1104  may be any length of time or time periods and/or may correspond to the measurement period described in relation to  FIG. 4 . In the example shown in  FIGS. 10 and 11 , the time period is divided into four equal time periods t 1 , t 2 , t 3 , t n . 
         [0071]    For the purposes of this example, an unused airlink resource is represented as an empty block  1006 . An airlink resource that is being used by a CPE is labeled according to the particular CPE utilizing the resource (e.g., airlink resource  1008  utilized by CPE 1 ). The size of a set of airlink resources in use by a particular CPE may be determined by counting the number of blocks associated with the CPE. For example, block  1008  utilized by CPE 1  comprises 18 airlink resource blocks. All the used and unused resource blocks may be tallied to determine a % UsedResources n . In this example,  FIG. 10  illustrates 12 unused resource blocks and 88 used airlink resource blocks used by 5 CPE.  FIG. 11  also illustrates the same proportion of used and unused airlink resource blocks (e.g., 12 unused and 88 used), although the airlink resource blocks in  FIG. 11  are used by 14 CPE. 
         [0072]    In one (oversimplified) embodiment, each airlink resource block in  FIGS. 10 and 11  may be considered to represent an equal amount of transferred or received data. However, it would be understood by a person skilled in the art that the data amount may vary depending on the modulation or encoding scheme, as well as other factors. 
         [0073]    By way of example, the scenario illustrated in  FIG. 10  may show an airlink resource usage that triggers an ordinary congestion response (e.g., block  908 ) while the scenario illustrated in  FIG. 11  may show an airlink resource usage that triggers a congestion prime scenario response (e.g., block  906 ). Although the usage examples show the same % UsedResources (e.g., 88 used airlink resources/100 total airlink resources), there may not be enough active CPE in  FIG. 10  to trigger the congestion prime scenario. In one embodiment, if an activity threshold is set at 3 airlink resource blocks, CPE 3  in  FIG. 10  (using 2 airlink resource blocks) may not be considered an active CPE while CPE 2  (using 3 airlink resource blocks) would be an active CPE. Thus, using an activity threshold of 3 blocks,  FIG. 10  would represent 4 active CPE. If the active user threshold was set at 5 CPE (e.g., in block  904 ), there would not be enough active CPE to trigger the congestion prime scenario in  FIG. 10  despite having the same percentage of used airlink resources as the scenario seen in  FIG. 11 . 
         [0074]    While several embodiments of the present invention have been illustrated and described herein, many changes can be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention is not limited by any disclosed embodiment. Instead, the scope of the invention should be determined from the appended claims that follow.