The field of the invention relates to routing communications through networks and, more specifically, to prioritizing traffic within these systems.
Data is transmitted between different entities in communication networks. For instance, data may be transmitted from a Base Station Controller (BSC) to a Base Transceiver Site (BTS) and from the BTS to a mobile station. Each BTS has an associated coverage area and the mobile stations may move between coverage areas of different BTSs.
As data is transmitted across the network, it may also be stored at various locations for different purposes. For instance, data may be pre-cached at buffers at a BTS in order to be ready for use by a mobile station when the mobile station can utilize the data. When the mobile station is ready, the data is downloaded to the mobile station.
As mentioned, mobile stations often move between coverage areas of different BTSs. When pre-caching is being used, data that had been pre-cached needs to be forwarded to the new BTS associated with the mobile station. If large amounts of data are involved, some data may not reach the new BTS due to the reselection process.
Some previous systems attempted to solve these problems by employing data flooding techniques. In data flooding, a BSC sent a multicast transmission of the stored data to all potential BTSs in order to ensure reaching the mobile station. Although data flooding allowed the data to reach the mobile station, the use of flooding consumed valuable transmission bandwidth and usually took a long time to accomplish. Consequently, network resources often became overloaded causing delays and inconvenience to users.
In other previous approaches, data was pre-cached only after site reselection had occurred. While this approach avoided overloading the system's bandwidth, it delays the data downloading since the mobile station had to wait for the reselection to be completed before pre-caching could be used. This reduces the potential data download rate the mobile station can achieve.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention. It will further be appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. It will also be understood that the terms and expressions used herein have the ordinary meaning as is accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein.
A system and method is used to prioritize the transmission of pre-cache data along the transmission legs in a network. By prioritizing the transmission of the data, the system is not overloaded by the data transmissions and data can be pre-cached and used even as mobile stations move between different Base Transceiver Stations (BTSs).
In many of these embodiments, at least one transmission condition associated with making a transmission of pre-cache data over a transmission leg of a network is obtained. A priority for transmitting the pre-cache data is then determined using the transmission condition. Other types of priority information can be determined.
The determined priority, in one approach, identifies which packets are to be pre-cached and to which BTSs these packets are to be eventually sent. In another approach, the priority defines a schedule for sending the pre-cache data to the BTS and an amount of packets to be transmitted.
Different parameters may be used to determine the priority. For instance, transmission information that is related to a condition of the transmission leg may be received and used to determine the priority. This transmission information may include the amount of backhaul loading on the transmission leg, the time of day, the Radio Frequency (RF) delay on the transmission leg in combination with the time of day, whether the transmission leg is a candidate for a group call, whether the signal strength is lower in the transmission leg as compared to another transmission leg, indications that a packet is of a high priority and has not been downloaded to a site, the amount of backhaul loading at a given time, the amount of Radio Frequency (RF) loading at a given time, the amount of Radio Access Network (RAN) loading at a given time, the buffer level on a transmission leg and the buffer level at a playout buffer at a mobile station, the length of a cell reselection time on a transmission leg, whether extra buffer space exists, whether the transmission leg has a different associated base station controller as compared to the primary transmission leg, or the number of mobiles connected to the transmission leg.
In others of these embodiments, transmission information is received that is related to a condition of a mobile station and this is used to set a priority. This type of information may include the battery life of the mobile station, the location of the mobile station, the velocity of the mobile station, the direction of movement of the mobile station, the number of transmission legs with which the mobile station has established a connection, the volume of traffic at the mobile station, an indication that the time stayed on the transmission leg by the mobile station is high, the promotional plan used at the mobile station, whether the mobile station belongs to a high-priority group, the identity of a preferred application being run by the mobile station, or whether the mobile station is an 802.11 compatible access point (or compatible to a similar protocol).
In still others of these embodiments, transmission information is received that is related to a condition of a call and this is used to establish the priority. For instance, this information may include whether the call is an emergency call, the security level associated with the call, the identity of a premium application associated with a call, the identity of a streaming application, the identity of a delay-sensitive application, the identity of a file transmission over a primary transmission leg that is near the end of a file, the identity of a file transmission over a primary transmission leg that experiences excessive delay and times out, information indicating the received data rate is below a threshold, or whether the call is undergoing a handoff between different types of equipment.
In yet other embodiments, the transmission condition is related to a condition of the user and this is used to set the priority. For example, this information may include whether the user is a premium user, the type of billing plan associated with the user, the type of equipment utilized by the user, or the frequency of network use by the user.
Other conditions may also be used to determine priority and other actions may be taken. For instance, in some of these embodiments, data compression may be used to compress the pre-cache data on the transmission leg whenever a low priority for the at least transmission one leg is determined. In still others of these embodiments, it may be determined whether a number of mobile stations are likely to substantially simultaneously initiate a handoff and, responsively, the system may initiate pre-filling. The determination may be based upon information such as the number of previous handoffs that were made at substantially the same time by the number of mobile stations, information indicating the number of mobile stations are on a same conveyance, and information indicating that a traffic signal has changed which will result in a correlated handoff event.
Thus, a system and method are described that prioritize data for transmission along the transmission legs in a network. Conveniently, particular packets and transmission legs can be selected and a transmission schedule determined based upon a variety of transmission conditions related to the users, mobile stations, transmission legs, and/or other factors associated with a call. These approaches are efficient, do not overload the resources of the system, and allow pre-caching to be used.
Referring now to
Data is sent from the network 102 to be stored at the BSC 104. A first transmission leg 112 exists from the BSC 104 to the BTS 106 and then to the mobile station 110. A second transmission leg 114 exists from the BSC 104 to the BTS 108 and to the mobile station 110. The later portion of either of the transmission legs 112 or 114 may be a radio link between the appropriate BTS 106 and 108 and the mobile station 110. The other portions of the legs 112 or 114 may be wireless, hard-wired, or any other type of communication link.
Information related to the legs, the mobile stations, or from other entities is transmitted to the BSC 104 so that the BSC 104 can determine a priority. The determined priority may identify the packets and/or the BTS 106 or 108 to which to send these packets. The determined priority may also identify an amount of packets to send and/or a schedule to send these packets. Other types of priority information may also be determined.
In one example of the operation of the system of
The BSC 104 may obtain a variety of different transmission conditions in order to determine a priority. For example, transmission information that is related to a condition of one (or both) of the transmission legs 112 or 114 may be used to determine priority. In some examples, this information may be related to a condition of the transmission leg such as the amount of backhaul loading on the transmission leg 112 or 114, the time of day, the Radio Frequency (RF) delay on the transmission leg 112 or 114 and a time of day, whether the transmission leg 112 or 114 is a candidate for a group call, whether a signal strength is lower in the transmission leg 112 or 114 as compared to another transmission leg, an indication that a packet is of a high priority and has not been downloaded to a site, the amount of backhaul loading at a given time, an amount of Radio Frequency (RF) loading at a given time, an amount of Radio Access Network (RAN) loading at a given time, a buffer level on the transmission leg 112 or 114 and a buffer level at a playout buffer at the mobile station 10, the length of a cell reselection time on a transmission leg 112 or 114, whether extra buffer space exists, whether the transmission leg 112 or 114 has a different associated base station controller than a primary leg, or a number of mobile stations connected to the transmission leg.
In one example of the application of these conditions, the time of day is detected to be 11:00 pm. Based upon the time of day, a priority including the transmission leg 114, an amount of data (all pending data), and a schedule (transmit immediately) is determined and the data is transmitted along leg 114 according to this priority. It will be appreciated that other examples of determining this priority and applying this priority to transmit data are possible.
In other examples, transmission information is received that is related to a condition of a mobile station 110 and this is used to determine the priority. This type of information may include the battery life of the mobile station 110, the location of the mobile station 110, the velocity of the mobile station 110, the direction of movement of the mobile station 110, the number of transmission legs with which the mobile station 110 has established a connection, the volume of traffic at the mobile station 110, whether the time stayed on the transmission leg by the mobile station 110 is high, the promotional plan used at the mobile station 110, whether the mobile station 110 belongs to a high-priority group, the identity of a preferred application being run by the mobile station 110, or whether the mobile station is a 802.11 compatible access point (or compatible to a similar protocol).
In one example of the application of these conditions, the battery condition of the mobile station is determined to be low. Based upon this condition, a priority including the transmission leg 114, an amount of data (only some of the pending data), and a schedule (transmit at 12:00 pm midnight) is determined and the data is transmitted along leg 114 according to this priority. Again, it will be appreciated that other examples of determining this priority and applying this priority to transmit data are possible.
In still other examples, transmission information is received that is related to a condition of a call and this is used to determine the priority. For instance, this information may include whether the call is an emergency call, the security level associated with the call, the identity of a premium application associated with a call, the identity of a streaming application, the identity of a delay-sensitive application, the identity of a file transmission over a primary transmission leg that is near the end of a file, the identity of a file transmission over a primary transmission leg that experiences excessive delay and times out, information indicating a received data rate is below a threshold, or whether a call is undergoing a handoff between different types of equipment.
In one example of the application of these conditions, a call is determined to be an emergency call. Based upon the nature of the call (emergency), a priority including the transmission leg 114, an amount of data (all pending data), and a schedule (transmit immediately) is determined and the data is transmitted along leg 114 according to this priority. Once again, it will be appreciated that other examples of determining this priority and applying this priority to transmit data are possible.
In yet other examples, the transmission condition is related to a condition of a user is used to determine the priority. For example, this information may include whether the user is a premium user, the type of bill plan associated with the user, the type of equipment utilized by the user, or the frequency of network use by the user.
In one example of the application of these conditions, it is determined that the user is a premium user. Based upon the identity of the user, a priority including the transmission leg 114, an amount of data (all pending data), and a schedule (transmit immediately) is determined and the data is transmitted along leg 114 according to this priority. Again, it will be appreciated that other examples of determining this priority and applying this priority to transmit data are possible.
Referring now to
At step 206, the packets may be sent according to the priority. In one example, a determined amount of packets (determined at step 204) are sent to a BTS (also identified at step 204).
Referring now to
The controller 302 determines a priority 310 for transmitting the pre-cache data using the transmission conditions 308. The determined priority 310 may, for example, include the identity of packets to be sent to a determined base station. The determined priority 310 is based upon a condition or combination of conditions 308 received at the receiver 304.
Referring now to
At step 404, the BSC determines a priority. In determining a priority to transmit the pre-cache data, the BSC may determine an identity of a BTS to send the pre-cache data, an identity of the packets to send to the BTS, an amount of packets to send to the BTS, or a schedule under which to send the pre-cache data to a BTS. Other types of priority information may also be determined.
At step 406, the data (i.e., packets) is sent to a BTS according to the priority. In this case, the BTS has been identified at step 404 as has the amount of packets to be sent.
At a later time, the priority may be re-determined. For example, after the passage of a variable or predetermined amount of time, at step 408, the priority is re-determined based on the same transmission conditions as described above as these conditions have changed over time.
At step 410, the data is sent to a second BTS. In this case, step 408 has determined a new BTS to which to the packets are to be sent as well as a new amount of packets to be sent.
Referring now to
At step 514, the system determines the identity of the base station based upon factor 504. At step 516, the system determines the identity of the packets to be sent based upon the factors 506. At step 518, the system determines the total amount of packets to be sent based upon the factors 510 and 512. Those skilled in the art will realize that various algorithms and/or approaches may be used to implement steps 514, 516, and 518. For example, for step 504, if a call is to be made in the afternoon, a first base station may be selected while if the call is to be made in the afternoon, a second base station may be selected.
It will also be understood that the example given with respect to
Thus, a system and method are given that prioritize data for transmission along transmission legs in a network. Conveniently, particular packets and transmission legs can be selected and the transmission schedule based upon a variety of transmission conditions related to the users, mobile stations, transmission legs, and/or other factors associated with a call. These approaches are efficient and do not overload the resources of the system.
Those skilled in the art will recognize that a wide variety of modifications, alterations, and combinations can be made with respect to the above described embodiments without departing from the spirit and scope of the invention, and that such modifications, alterations, and combinations are to be viewed as being within the scope of the invention.