This invention generally relates to telecommunications. More particularly, this invention relates to channel resource allocation in communication systems.
Wireless communication systems allow mobile stations such as cell phones to communicate with remotely located devices. The wireless communication system typically includes a plurality of base stations geographically situated to provide wireless communication coverage in appropriate areas. Communications between the mobile stations and the base station are wireless.
The base stations communicate with a core network. A radio network controller typically handles communications from a base station and directs them to the core network for appropriate processing. Communications between the base station and the radio network controller typically occur over a physical link. A physical link can have one or more virtual paths and a virtual path can include one or more virtual channels. Each virtual channel may handle more than one type of communication. A permanent virtual channel (PVC) is one example connection type between two nodes such as a base station and a radio network controller.
Traffic management along PVC's is often based on a first come, first served approach. There are several drawbacks to this technique. One is that it does not recognize or accommodate differences between different types of calls or services. For example, voice communications typically have different quality of service requirements than data communications. Each type of communication has a unique and different quality of service characteristic, which indicates the amount of acceptable delay and jitter, for example. Additionally, call admission requirements vary among different classes of communications.
Another drawback to the first come, first served approach is that it does not allow a service provider to dictate or control the use of resources. It is desirable, for example, for a service provider to have some freedom in controlling the types of calls that are admitted based upon projections of different revenues that each service type might bring.
There is a need for an improved technique for allocating channel resources to provide better call admission. This invention addresses that need.
An exemplary disclosed method of communicating includes automatically adjusting an allocation of a channel resource among a plurality of call classes to maintain a probability of blocking a call belonging to at least one of the call classes within a desired range.
In one example, the channel comprises a permanent virtual channel, the resources comprise channel ID (CID) units, which correspond to the minimum bandwidth available on the channel and the network comprises an asynchronous transfer mode (ATM) network.
By maintaining the probability of blocking a call for a particular class below a selected threshold, the channel resource allocation ensures that the channel resources accommodate at least one call class within desired limits. In one example, the channel resources are allocated in a manner that maintains a plurality of probabilities of blocking a call belonging to any of a corresponding plurality of call classes within corresponding desired ranges. Any shifting of allocations among the call classes includes maintaining the probability of blocking a call from any of the classes within an acceptable range.
One example includes dividing a channel resource into at least two parts. The first one of the parts is partitioned in a “complete partitioning” manner such that at least one partition of the first part is allocated to each of the call classes expected on that channel. A second part of the channel resource is shared among the plurality of classes.
One example includes directing calls of a particular class to the partition of the first part allocated for that class. If that partition is busy, the call of the corresponding class may be directed to the second part, which is shared among the plurality of classes.
One example includes moving boundaries between the partitions of the first part as necessary to accommodate the desired probabilities of blocking calls. In one example, when the traffic volume is high enough, a boundary between the first part and the second part can be moved to allocate more resources to the first part to accommodate the higher traffic volumes.
The various features and advantages of this invention will become apparent to those skilled in the art from the following detailed description. The drawings that accompany the detailed description can be briefly described as follows.
The example of
For discussion purposes, a PVC will be used as an example channel and channel ID (CID) units, which correspond to the minimum unit of bandwidth available, will be used as example channel resources. In one example, the minimum bandwidth allocation on the channel 36 is 2 Kb/s (i.e., one CID corresponds to 2 Kb/s). The use of CID units within ATM networks is known.
The resource allocation module is schematically shown as a separate component or software program but it may be incorporated into the base station 30 or the RNC 32, for example.
One example technique is summarized in the flow chart diagram 40 of
At 46, the resource allocation module 38 determines whether the determined probability from 44 is greater than the desired probability for blocking a new call belonging to class i. In the event that the actual probability is greater than the desired probability, the resource allocation module 38 redistributes or automatically adjusts allocations of the PVC resource at 48 to reallocate some additional portion of the resource to the call class i. In the event that the determined probability at 46 is within a desired range of the desired probability, no adjustment of the channel resource allocation need be made.
The technique for determining what a desired probability of blocking a call will be may vary depending on the needs of a particular situation. Those skilled in the art who have the benefit of this description will realize how to determine appropriate probabilities for particular call classes for their particular situation.
The example of
Given the number of call classes to be serviced on a channel (i.e., a PVC) and the relative priorities between them (i.e., the desired probabilities of blocking a call for each class), a channel resource can be divided up to accommodate the different call classes within a desired range of the desired probabilities.
In this example, the first part 52 is allocated using a complete partitioning approach such that the first part 52 is divided up into specific partitions that are then each allocated to a specific call class. In one example, the second part 54 is utilized in a complete sharing manner such that the resources of the second part 54 are shared among the different call classes as needed.
In one example, any new call from a particular call class is first directed to the appropriate partition within the first part 52. In the event that the traffic volume and the current allocation is insufficient to handle the new call, it may be directed to the second part 54. This is schematically shown in
In the example of
The resource allocation module 38 utilizes the current traffic volumes, the desired probabilities of blocking a call for each class and the total channel resource for strategically setting the boundaries 60, 66 and 72 within the first part 52 to maintain the probability of blocking a call for any of the call classes within a desired range. In one example, a maximum desired probability for each class is set and the resource allocation module 38 ideally maintains actual probabilities of blocking a call below that maximum as often as possible. Depending on the nature of the different call classes, different probabilities for each may be set. Moving the boundaries within the first part 52 responsive to varying traffic volumes based upon desired probabilities of blocking a new call provides a dynamic adjustment of channel resources that better utilizes the resource compared to a first come, first served approach.
In one example, the resource allocation module 38 analyzes the channel resource in terms of CID units. For example, a voice service requires a bandwidth of 18 Kb/s and a 64 Kb/s data service requires an 80 Kb/s bandwidth. In this example, the equivalent CID unit is 2 kb/s such that each voice call requires 9 CID units and each 64 Kb/s data call requires 40 CID units. The resource allocation module 38 in one example attempts to set the boundaries 60, 66 and 72 to provide enough CID units within each partition to maintain the probability of blocking a new call from each class within the corresponding range for each class.
Within the first part 52 of the example of
In one example, the second part 54 uses a complete sharing approach such that there is one chain of allocated or busy CID units and a chain of free or available CID units within the second part 54.
When a new call is received, the resource allocation module 38 determines the number of required CID units for handling that call. The resource allocation module 38 also determines whether the chain of free CID units from the corresponding partition in the first part 52 is sufficient to handle that call. The number of free CID units and the required number to handle a new call provides the resource allocation module 38 with enough information to determine a current probability of blocking a new call. Although the corresponding partition within the first part 52 may not have enough free CID units, the second part 54 may and the call may be directed to the second part 54. If the required number of CID units for that particular call type is not available in the chain of free CID units in either the corresponding partition of the first part 52 or the second part 54, the call will be blocked. The resource allocation module 38 in this example adjusts the allocation of the channel resource (i.e., moves at least one of the boundaries) to prevent a call from being blocked when possible.
The resource allocation module 38 in one example reallocates resources from a call class that is experiencing a relatively lower traffic volume to another call class that is currently experiencing a relatively higher traffic volume. In other words, the call class having the largest probability of blocking a call receives more of the channel resource within its partition to handle the increased traffic volume. In one example, such resource reallocation includes maintaining the probability of blocking a call within the desired limits for all call classes as much as possible. In other words, moving one of the boundaries within the first part 52 in one example does not include moving a boundary in a manner that increases a probability of blocking a call for a call class that is giving up resources such that the corresponding probability exceeds the desired probability for the less busy call class. An existing allocation of the channel resource may be maintained without adjusting any boundaries whenever all call class probabilities are within a desired range.
One example includes moving the boundary 56 between the first part 52 and the second part 54 as may be needed to accommodate heavy traffic volumes. In one example, whenever n call classes currently have arriving traffic at the base station 30, for example, and more than n/2 call classes have a high probability of blocking a new call that is above the pre-specified desired probability, the resource allocation module 38 allocates some of the second part 54 to the first part 52. In one example, 25% of the resource currently allocated to the second part 54 is reallocated to the first part 52 and that resource is distributed among the example partitions as needed to establish acceptable probabilities for the different call classes.
Using information regarding types of calls, traffic volumes for each and desired probabilities for blocking calls from each class as described in the above examples provides better use of channel resources among different call classes. The disclosed example technique including moving boundaries between different partitions of a channel resource provides the advantage of enhancing the ability to meet quality of service requirements for different call classes. Additionally, there is freedom in controlling the types of calls that will be admitted based upon a customer's desires. For example, higher priority can be given to services that result in higher revenues so that service providers can maximize the use of channel resources to their advantage.
The preceding description is exemplary rather than limiting in nature. Variations and modifications to the disclosed examples may become apparent to those skilled in the art that do not necessarily depart from the essence of this invention. The scope of legal protection given to this invention can only be determined by studying the following claims.