Patent application title: METHODS FOR IMPROVING ON-TIME THROUGHPUT IN WIRELESS NETWORKS
Inventors:
IPC8 Class: AH04W7212FI
USPC Class:
370332
Class name: Channel assignment hand-off control based upon a particular signal quality measurement
Publication date: 2016-06-23
Patent application number: 20160183281
Abstract:
In a multiple Radio Access Technology (multi-RAT) heterogeneous wireless
network, a user equipment (UE) is capable of communicating via multiple
types technologies, such as both WiFi and Long Term Evolution (LTE)
cellular. The evolved node B that the UE communicates with may be a small
network, encompassing distances of 200 meters or less. A method
communicating in such a network may involve using an on-time throughput
scheduling algorithm that maximizes the throughput by handing off certain
users and prioritizing communications based on specific criteria. These
criteria may include prioritizing communications of users closest to a
target threshold. The UE may communicate with the network to negotiate
which radio access technology is to be used, a range of acceptable data
rates.Claims:
1-25. (canceled)
26. A method for increasing on-time throughput in a wireless network comprising: obtaining information regarding on-time throughput of the wireless network; finding a subset of users who fail to meet a target on-time data rate; determining which user of the subset of users is closest to the target on-time data rate; and scheduling the user who is closest to the on-time target data rate for further data transmissions.
27. The method of claim 26 wherein the information regarding throughput comprises instantaneous data rate information for each user in the wireless network.
28. The method of claim 26 wherein the information regarding throughput comprises on-time data throughput information for each user.
29. The method of claim 26 wherein determining which of the subset of users is closest to the on-time target data rate comprises: determining an amount indicating how short of the target rate each user of the subset is; determining an instantaneous data rate for each user; and dividing the amount by the instantaneous data rate for each user to determine which user of the subset of users is closest to the target data rate.
30. The method of claim 26 wherein the wireless network is a multiple radio access technology heterogeneous network.
31. The method of claim 30, wherein the wireless network includes a WiFi network and a Long-Term Evolution (LTE) network.
32. The method of claim 31 wherein the LTE network and WiFi is supported on small cells that are part of a larger 3GPP network.
33. The method of claim 32 wherein the small cell is chosen from a pico network, a femto network, a micro network, and a multi-radio WiFi/LTE small cell network.
34. The method of claim 30 wherein the method further comprises: selecting a radio access technology with which the scheduled user is to send and receive its transmissions, wherein the radio access technology is selected from WiFi and LTE.
35. An evolved Node B (eNB) comprising: a processor with multiple functions including: a multiple radio access technology scheduler; a multiple radio access technology aggregation function; wherein the multiple radio access technology scheduler is arranged to: obtain information regarding on-time throughput of the wireless network; find a subset of users who fail to meet a target on-time data rate; determine which of the subset of users is closest to the target on-time data rate; and schedule the user who is closest to meeting the target on-time data rate for transmission.
36. The evolved node B of claim 35 wherein the information regarding throughput comprises instantaneous data rate information for each user.
37. The evolved node B of claim 35 wherein the information regarding throughput comprises on-time data throughput information for each user.
38. The evolved node B of claim 35 wherein determining which of the subset of users is closest to the on-time target data rate comprises: determining an amount indicating how short of the target on-time data rate each user of the subset is; determining an instantaneous data rate for each user; and dividing the amount by the instantaneous data rate for each user to determine which user of the subset of users is closest to the target on-time data rate.
39. The evolved node B of claim 35 wherein the multiple radio access technology scheduler is further arranged to: change a user from a first radio access technology to a second radio access technology; and further wherein the first radio access technology and second radio access technology are chosen from WiFi and Long Term Evolution (LTE).
40. The evolved node B of claim 35 wherein the multiple radio access technology scheduler is further arranged to: offload a user to another eNB.
41. The evolved node B of claim 40 wherein offloading a user to a second eNB comprises: compiling a list of users being serviced by the first eNB; determining an amount resources being used by each user being serviced by the eNB; sorting the resources used to determine a user with the highest amount of resources being used; and offloading the user with the highest amount of resources being used to the second eNB.
42. The eNB of claim 35 wherein the eNB is selected from the group comprising: macro eNB, pico eNB, femto eNB, and multi-radio WiFi/LTE small cells.
43. The eNB of claim 35 further comprising: a deep packet inspection module, wherein the deep packet inspection module is arranged to drop low-priority packets of a data flow.
44. A method for offloading users from a first evolved node B (eNB) to a second eNB comprising: compiling a list of users being serviced by the first eNB; determining an amount resources being used by each user being serviced by the eNB; sorting the resources used to determine a user with the highest amount of resources being used; and offloading the user with the highest amount of resources being used to the second eNB.
45. The method of claim 44 further comprising: determining if a goal for number of users achieving a target data rate is being met; and if the goal is not achieved, offloading the user with the next highest amount of resources being used to the second eNB.
46. A user equipment (UE) comprising: an antenna assembly; a transceiver coupled to the antenna assembly arranged to send and receive signals via the antenna assembly; a processor coupled to the transceiver the processor being arranged to: transmit radio link performance measurement information to an evolved Node B (eNB); determine a range of acceptable operating on-time throughput data rates; determine a minimum QoE requirement; determine an on-time throughput data rate to achieve the minimum QoE requirement; and transmit the range of acceptable operating on-time throughput data rates, minimum QoE requirement, and the on-time throughput data rate.
47. The UE of claim 46 wherein the UE is arranged to transmit information both via a long-term evolution (LTE) data connection and via a WiFi data connection.
48. The UE of claim 47 wherein the processor is further arranged to: receive an association message receive a radio link assignment message; change to either the LTE data connection or the WiFi data connection based on the radio link assignment message; and connect with a specific network entity based on the association message.
49. The UE of claim 46 wherein the processor is further arranged to: receive a recommended on-time throughput data rate from a network entity; and change the range of acceptable operating on-time throughput data rates based on the recommended on-time throughput data rate.
50. The UE of claim 46 wherein the processor is further arranged to: determine a current on-time throughput data rate; and change the range of acceptable operating on-time throughput data rates based on the current on-time throughput data rate.
Description:
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of priority to U.S. Provisional Patent Application Ser. No. 61/721,436, filed Nov. 1, 2012, which is incorporated herein by reference in its entirety.
TECHNICAL FIELD
[0002] Embodiments pertain to electronics. Some embodiments pertain to electronic communication devices.
BACKGROUND ART
[0003] Portable electronic communication devices, such as smartphones, tablets, mobile hotspots, laptop computers, and the like, may communicate with other devices through the use of various radio access technologies (RAT), such as cellular, 3GPP-LTE, WiFi, WiMAX, Bluetooth, and the like. As more and more electronic devices have the capability to operate on more than one RAT, it is desirable to have such devices use the multiple RATs in such as way as to provide the best throughput and Quality of Service (QoS) for the user, while not overtaxing the networks.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components. Some embodiments are illustrated by way of example, and not limitation, in the figures of the accompanying drawings in which:
[0005] FIG. 1 is an illustration of an exemplary WiFi Cellular small cell RAT architecture;
[0006] FIG. 2 is a block diagram illustrating another embodiment of an exemplary WiFi Cellular small cell RAT architecture;
[0007] FIG. 3 is a graph illustrating the effect of an embodiment on on-time throughput;
[0008] FIG. 4 is a graph illustrating the effect of another embodiment on on-time throughput;
[0009] FIG. 5 is a block diagram illustrating an exemplary machine that is capable of performing an embodiment;
[0010] FIG. 6 is a flow chart illustrating the operation of an embodiment; and
[0011] FIG. 7 is a flow chart illustrating the operation of another embodiment.
DESCRIPTION OF THE EMBODIMENTS
[0012] The following description and the drawings sufficiently illustrate specific embodiments to enable those skilled in the art to practice them. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Examples merely typify possible variations. Individual components and functions are optional unless explicitly required, and the sequence of operations may vary. Portions and features of some embodiments may be included in, or substituted for, those of other embodiments. Embodiments set forth in the claims encompass all available equivalents of those claims.
[0013] In the following description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known method, procedures, components, and circuits have not been described in detail so as not to obscure the present invention.
[0014] Although embodiments of the invention are not limited in this regard, the terms "plurality" and "a plurality" as used herein may include, for example, "multiple" or "two or more." The terms "plurality" or "a plurality" may be used throughout the specification to describe two or more components, devices, elements, units, parameters, and the like. For example, "a plurality of devices" may include two or more devices.
[0015] The 3rd Generation Partnership Project (3GPP) is a collaboration agreement established in December 1998 to bring together a number of telecommunications standards bodies, known as "Organizational Partners," that currently include the Association of Radio Industries and Business (ARIB), the China Communications Standards Association (CCSA), the European Telecommunications Standards Institute (ETSI), the Alliance for Telecommunications Industry Solutions (ATIS), the Telecommunications Technology Association (TTA), and the Telecommunication Technology Committee (TTC). The establishment of 3GPP was formalized in December 1998 by the signing of the "The 3rd Generation Partnership Project Agreement."
[0016] 3GPP provides globally applicable standards as Technical Specifications and Technical Reports for a 3rd Generation Mobile System based on evolved GSM core networks and radio access technologies that they support (e.g., Universal Terrestrial Radio Access (UTRA) for both Frequency Division Duplex (FDD) and Time Division Duplex (TDD) modes). 3GPP also provides standards for maintenance and development of the Global System for Mobile communication (GSM) as Technical Specifications and Technical Reports including evolved radio access technologies (e.g., General Packet Radio Service (GPRS) and Enhanced Data rates for GSM Evolution (EDGE)). Technical Specifications for current standards related to mobile telephony are generally available to the public from the 3GPP organization.
[0017] 3GPP is currently studying the evolution of the 3G Mobile System and considers contributions (views and proposals) directed toward the evolution of the UTRA Network (UTRAN). A set of high-level requirements was identified by 3GPP workshops including: reduced cost per bit; increased service provisioning (i.e., more services at lower cost with better quality); flexibility of use of existing and new frequency bands; simplified architecture with open interfaces; and reduced/reasonable terminal power consumption.
[0018] A study on the UTRA & UTRAN Long Term Evolution (UTRAN-LTE, also known as 3GPP-LTE and Evolved UTRAN (E-UTRA)) was started in December 2004 with the objective to develop a framework for the evolution of the 3GPP radio-access technology towards a high-data-rate, low-latency and packet-optimized radio-access technology. The study considered modifications to the radio-interface physical layer (downlink (DL) and uplink (UL)) such as means to support flexible transmission bandwidth up to 20 MHz, introduction of new transmission schemes, and advanced multi-antenna technologies. An evolution to LTE, termed LTE Advanced, is also being developed to provide even further performance improvements.
[0019] 3GPP-LTE is based on a radio-interface incorporating orthogonal frequency division multiplex (OFDM) techniques. OFDM is a digital multi-carrier modulation format that uses a large number of closely-spaced orthogonal sub-carriers to carry respective user data channels. Each sub-carrier is modulated with a conventional modulation scheme, such as quadrature amplitude modulation (QAM), at a (relatively) low symbol rate when compared to the radio frequency (RF) transmission rate.
[0020] Quality of service (QoS) is an increasingly important metric when evaluating the performance of a communication system. In general, QoS is used to provide guarantees on the ability of a network to provide predictable results. This may be achieved through the use of, for example, prioritization of certain types of network traffic. In recent work, "on-time" or timely throughput has been introduced as a measurement to assess the efficiency of the system to maintain QoS for delay sensitive traffic (e.g., real-time video and video conferencing). On-time throughput measures the percentage of time that a user can successfully receive a target data rate within the delay requirements of the traffic. In traditional LTE networks, QoS is maintained by assigning categories called QoS class of identifiers (QCI) to different types of transmissions. For example, gaming may have a lower priority than video streaming which may have a lower priority than voice calls. Using the categories enables higher priority messages to be transmitted while allowing lower priority messages to become delayed.
[0021] In the past, frameworks were developed to enhance on-time throughput performance in Multiple Radio Access Technology ("Multi-RAT") heterogeneous networks ("HetNets") through assignment of users across multiple radio links. For example, many of today's mobile devices are able to use both WiFi and LTE. The assignment of users among the radio links were based on maximizing the aggregate on-time throughput across users serviced by a given Multi-RAT cell. HetNets may also refer to the use of multiple types of access nodes in a wireless network. For example, a network may employ microcells, picocells, and/or femtocells in order to offer wireless coverage in indoor or underground areas.
[0022] The frameworks that were developed also included methods by which each User Equipment ("UE") could measure and report per radio link on-time throughput to a multi-RAT aggregation function (see FIG. 1) in the base station (BS) (e.g., such as a pico Node B (NB) or femto NB), which can then use such measurements to determine the best assignment of users across WiFi & LTE. However, in the past, the RAT assignment decisions were designed to work with proportional fair scheduling. In proportional fair scheduling, the scheduling algorithm attempts to maximize the total throughput of the network while at the same time allowing all users at least a minimal level of service. Proportional fair scheduling weighs the current data rate inversely with the throughput already obtained by the user. The metric is (current rate/past throughput) in a certain time window.
[0023] One problem with proportional fair scheduling is that no consideration is given to the fact that the MAC scheduler can also be designed for on-time throughput optimization and can be further combined with multi-RAT assignment and/or scheduling decisions. Further, optimization in proportional fair scheduling was carried out for a fixed target on-time rate for each user. Because unlicensed frequency bands may have uncoordinated interference, the ability of the system to guarantee a given target on-time throughput for users can be negatively impacted. Therefore, a more graceful method to adapt the QoS guarantee is desired.
[0024] In one embodiment, scheduling and QoS adaptation are jointly considered with RAT assignment to improve the on-time throughput performance in a Multi-RAT HetNet. Scheduling algorithms that are designed specifically for on-time throughput optimization can significantly improve the on-time throughput performance. In one embodiment, an on-time throughput scheduling algorithm that is designed to maximize the number of successful transmissions with packets received before the deadline may be used. The algorithm prioritizes users with unsent packets with the earliest deadline and gives the highest priority to the user requiring least resources to transmit this type of packets. In another embodiment, a multi-RAT scheduler that dynamically combines the RAT selection decisions with per link scheduling to maximize the overall timely throughput may be used.
[0025] A framework for adapting the QoS requirements for on-time throughput and admission control policy to maintain a minimum level of Quality of Experience ("QoE") for users has also been developed. This framework allows a user to dynamically adjust his target timely throughput requirements based on local QoE measurements and allows the system to degrade gracefully in the presence of uncoordinated interference on the un-licensed bands.
[0026] Embodiments address techniques to improve on-time throughput for delay sensitive traffic by judiciously scheduling and using multiple radio links per client in a multi-radio heterogeneous network. Given that un-licensed bands may often suffer from uncoordinated interference, we also develop a framework to gracefully adapt the QoS requirements for on-time throughput such that the minimum QoE at each user is still maintained. Some embodiments described in this disclosure may focus on deployments with integrated WiFi-Cellular small cells.
[0027] FIG. 1 illustrates an exemplary WiFi Cellular small cell multi-RAT architecture 100. Such a WiFi Cellular small cell multi-RAT architecture may allow for tighter management across multiple radio links than other architectures. However, the techniques discussed herein are applicable to other multi-RAT architectures, including macro-assisted small cells. Several alternative RATs may also be considered (e.g., 60 GHz, TV white-spaces, and the like.) Architecturally, this could be used with multi-RAT Cloud-RAN architectures, where multi-radio RF signals are sent from a remote radio head (WiFi, LTE, or the like) to a centralized base station over fibre links and the base-band scheduling and RAT assignment occurs at the centralized base station. Alternatively, the integrated LTE/WiFi or stand-alone WiFi small cells are connected to the macro cells via high-speed backhaul and the macro-cell makes the RAT assignment or scheduling decisions (such architectures may be referred to as anchor or booster architecture).
[0028] With continued reference to FIG. 1, WiFi Cellular small cell multi-RAT architecture 100 comprises a multi-mode user equipment (102) and an integrated pico node B (NB) (104). It should be understood that pico NB 104 may be suitably replaced with another type of small cell, such as a micro NB, or a femto NB. There may be a multi-RAT aggregation function module 112 in UE 102. Multi-RAT aggregation function module 112 may be arranged to determine which data streams have priority, in a manner described below. An aggregation function module 152 may also be present in NB 104, performing a similar function.
[0029] There are various couplings between UE 102 and pico/femto NB 104, as in a typical LTE connection. For example, there may be a network access stratum (NAS) coupling between NB 104 and UE 102 that couples UE 102 to a mobility management entity (MME) 106. There may be a coupling via radio resource control (RRC) layer between a data module 116 in the UE and a data module 156 in the NB. There may be a packet data convergence protocol (PDCP) layer coupling between a module 118 in UE 102 and module 158 in NB 104. There may be a radio link control (RLC) layer coupling between a module 120 in UE 102 and module 160 in NB 104. There may be a media access control (MAC) layer coupling between a module 122 in UE 102 and module 162 in NB 104. There may be a physical (PHY) layer coupling between a module 124 in UE 102 and module 164 in NB 104. In addition, there may be an additional a media access control (MAC) layer coupling between a module 126 in UE 102 and module 166 in NB 104. There may be an additional physical (PHY) layer coupling between a module 128 in UE 102 and module 168 in NB 104.
[0030] Several goals may be present in attempting to solve the above-described problems:
[0031] 1) An on-time throughput-scheduling algorithm that targets to maximize the number of successful transmissions with packets received before the deadline.
[0032] 2) A framework to adapt target on-time throughput based user QoE assessments and intelligence in the network server to lower the flow quality to maintain minimum QoE for each user.
[0033] FIG. 2 is a block diagram illustrating an embodiment that accomplishes the above goals. Elements similar to that of FIG. 1 have the same final two digits (e.g., element 102 is approximately the equivalent to element 202).
[0034] WiFi Cellular small cell multi-RAT architecture 200 comprises a multi-mode user equipment (202) and an integrated pico/femto node B (NB) (204). There may be a multi-RAT aggregation function module 212 in UE 202. Multi-RAT aggregation function module 212 may be arranged to determine which data streams have priority, in a manner described in further detail below. An aggregation function module 252 may also be present in NB 204, performing a similar function.
[0035] Multi-RAT aggregation function modules 212 and 252 serve to coordinate between the WiFi and LTE RATs. For example, multi-RAT aggregation function 212 and 252 may assist with packet reordering or buffering as data flows between the LTE and WiFi RATs. If only RAT assignment is used in the systems, then the scheduler does not schedule data flows across multiple radios. Each WiFi and LTE scheduler may act independently. With multi-RAT scheduling, packets may get scheduled on either the WiFi and LTE interface. The multi-RAT aggregation function would then take some packets from the LTE stack and route them to the WiFi stack.
[0036] There are various couplings between UE 202 and pico/femto NB 204. For example, there may be a network access stratum (NAS) coupling between NB 204 and UE 202 that couples UE 202 to a mobility management entity (MME) 206. There may be a coupling via radio resource control (RRC) layer between a data module 216 in the UE and a data module 256 in the NB. There may be a packet data convergence protocol (PDCP) layer coupling between a module 218 in UE 202 and module 258 in NB 204. There may be a radio link control (RLC) layer coupling between a module 220 in UE 202 and module 260 in NB 204. There may be a media access control (MAC) layer coupling between a module 222 in UE 202 and module 262 in NB 204. There may be a physical (PHY) layer coupling between a module 224 in UE 202 and module 264 in NB 204. In addition, there may be an additional a media access control (MAC) layer coupling between a module 226 in UE 202 and module 266 in NB 204. There may be an additional physical (PHY) layer coupling between a module 228 in UE 202 and module 268 in NB 204.
[0037] Also present in FIG. 2 is a QoE estimation module 230 within UE 202. The function of QoE estimation module 230 is to determine the QoE needed for the UE to perform its functions. QoE estimation module 230 is also responsible for translating the QoE requirements to an on-time throughput target and adoptively modifying this relationship. The UE also measures on-time throughput and negotiates with the eNB and Server to adjust the QoE.
[0038] NB 204 may also contain a deep packet inspection module 280 and a multi-RAT scheduler 290, in addition to a radio resource controller 270 and multi-RAT aggregation function 252. The functions of these modules will be discussed in further detail below.
[0039] The following section describes the key elements of an on-time throughput scheduling method. The following algorithm is general and can be applied at any base-station scheduler regardless of its multi-radio capabilities and describes the key elements of on-time throughput scheduling of an embodiment of the invention.
[0040] It may be helpful first to define what is meant by the term on-time throughput. Suppose the time is divided into time slots of size t and the n.sup.th time slot is the time duration between (n-1)t and nt. Define T.sub.k(nt) as the total data throughput of user k at the nth time slot. The average timely throughput of user k is then defined as the probability that a target packet of size T.sub.0 is successfully received within every time-slot of length t.
.lamda. k = lim inf N -> .infin. n = 1 N I ( n .tau. ) N , ##EQU00001##
[0041] where I.sub.k(nt) is an indicator function (a function that indicates membership of an element in a subset of another element) defined as follows:
I k ( n .tau. ) = { 0 , T k ( n .tau. ) < T 0 1 , T k ( n .tau. ) .gtoreq. T 0 ##EQU00002##
[0042] The on-time throughput is defined as the effective goodput (application level throughput) g.sub.k of user k as the portion of time slots with the target data throughput T.sub.0 received on-time:
g.sub.k=.lamda..sub.kT.sub.0
[0043] From the above formulation, it can be seen that higher on-time throughput can be achieved by increasing the number of user time slots with data throughput that exceeds the target packet size, T.sub.0. In other words, increasing the number of (n, k) pairs with T.sub.k(n.tau.).gtoreq.T.sub.0.
[0044] Based on this concept, we propose a timely throughput scheduling algorithm, with reference to FIG. 6, that targets to increase the number of users receiving data throughput exceeds T.sub.0 within current time slot. When selecting the user to be scheduled, there are two metrics, instantaneous data rate and data throughput within current slot, that should be considered. Thus, these two metrics are obtained for each of the users being serviced by the eNB (602). The users who already received more than T.sub.0 bits (the target packet size) within current time slot, are ignored for the remainder of this algorithm (604). This is because additional data bits over T.sub.0 do not increase the average on-time throughput. Thus, the scheduler only scans through the users who have received less than T.sub.0 bits within current time slot and selects the user who is most likely to achieve the target throughput T.sub.0 using a minimum amount of resources (606). If a user can achieve T.sub.0 using the least amount of resources, there will be more time/spectrum resource available for other users and the chance that more users achieve T.sub.0 within current time slot increases.
[0045] The amount of resources, B.sub.k, required to achieve T.sub.0 for user k may estimated via the following equation:
B k = { T 0 - T k ( t ) R k ( t ) , T k ( t ) < T 0 0 , T k ( t ) .gtoreq. T 0 ##EQU00003##
[0046] For (n-1).tau..ltoreq.t<n.tau., T.sub.k(t) is defined as the accumulated throughput for user k from time instant (n-1).tau. and R.sub.k(t) is the instantaneous data rate of user k at time instant t. The user with the minimum positive B.sub.k will be scheduled for transmission. The algorithm is then repeated with the remaining users (608). In this manner, the greatest number of users meeting the minimum throughput requirements can be obtained.
[0047] FIG. 3 shows the percentage of users with on-time throughput below g.
[0048] With the new on-time throughput scheduling, there are more users able to achieve higher on-time throughput.
[0049] In FIG. 3, the x-axis 302 is the target on-time throughput in millions of bits per second. Y-axis 304 is the percentage of users that achieve a certain on-time throughput. Line 310 shows the percentage of users that achieve a given throughput using the proportional fair scheduling. Line 320 shows the percentage of users that achieve a given throughput using the on-time scheduling algorithm illustrated above.?
[0050] Thus, it can be seen that a higher percentage of users achieve a given throughput using the on-time scheduling algorithm than via proportional fair scheduling. For example, approximately 60% of users achieve 1,000,000 bits per second using proportional fair scheduling, while approximately 65% of users achieve that bit rate using the methods described above. However, this difference becomes much larger at higher throughputs. Only 30% of users achieve 2,000,000 bits per second using proportional fair scheduling, while approximately 57% of users achieve that bit rate using the methods described above. This difference becomes even greater at higher data rates. For example, fewer than 5% of users achieve at least 4,000,000 bits per second using proportional fair scheduling. In contrast, more than 40% of users achieve that data rate using the on-time scheduling algorithm described above.
[0051] The on-time throughput-scheduling algorithm may be combined with RAT selection and adaptive QoS control for even better on-time throughput.
[0052] For the discussion below, a hypothetical connection between a UE (such as UE 202) and an eNB (such as eNB 204) will be discussed. The eNB may be an integrated eNB that has both WiFi and LTE connectivity. In the alternative, the eNB may be separate from, yet electrically coupled to, a WiFi base station. In addition, the eNB may be a pico eNB or a femto eNB or other type of small cell eNB. The eNB performs several tasks, including performing UE scheduling on both UE and LTE links. The eNB also performs user admission control and user RAT assignment. The eNB may also perform deep packet inspection to drop lower priority packets.
[0053] A UE in this hypothetical connection may be a multi-mode UE, meaning that it is capable of sending and receiving both WiFi and LTE signals. The UE measures metrics including on-time throughput, instantaneous rate, feedback measurements and other metrics related to the performance of a connection. The UE may also determine the minimum QoE requirements of the UE. The UE may also be arranged to adapt target on-time throughput based on QoE assessment. The UE may also negotiate with the server to lower the traffic rate.
[0054] There are several messages that may be sent from the UE to the eNB to enhance performance. These messages may include: radio link performance measurements, a range of acceptable on-time throughput, the minimum QoE requirement, and the current operating on-time throughput data rate.
[0055] There are several other messages that could be sent from the UE to the eNB. These messages may include the UE association (which contains information about which eNB serves a particular UE), UE radio link assignment, and the recommended operating on-time throughput data rate.
[0056] In one embodiment, the UE is responsible for assessing the target on-time throughput that can best meet its QoE needs. The UE may initially set a range of target QoS requirements (i.e., the target rate for on-time throughput with the maximum delay constraint). When the UE observes that the on-time throughput has degraded, the UE may make an assessment of the associated QoE to see whether the QoE is still sufficient. The UE may also indicate a lower target requirement to the base station. The UE may also negotiate with the server for a different data rate for its traffic flow. It may also make such assessment based on a trigger sent by the eNB.
[0057] The multi-RAT scheduler (e.g., multi-RAT aggregation function 252 of FIG. 2) within the integrated LTE/WiFi pico eNBs (e.g., element 204 of FIG. 2) is in charge of scheduling users for LTE and WiFi transmission. Based on the feedback information provided by the multi-mode UEs, the integrated LTE/WiFi eNB can then perform user RAT assignment and user admission control to support the maximum number users satisfying their QoS requirement. If the eNB supports Deep Packet Inspection (DPI) (a form of packet filtering that examines the data portion of a packet as it passes an inspection point, to decide whether or not the packet may pass) it may autonomously drop lower priority packets of a flow to maintain the lower target for on-time throughput. If the target requirement for timely throughput cannot still be met, the eNB may consider offloading (handing off) users to neighboring cells via a process described later.
[0058] Estimation of Link Performance Metric
[0059] For on-time throughput optimization, estimates of the on-time throughput of a user over each link can be used as the metric for user admission control and user radio assignment. The on-time throughput value depends on channel quality, loading and also the rate distribution of other users assigned to the same radio. An embodiment may contain the following modifications to estimate the on-time throughput.
[0060] During the measurement period, users are scheduled on both the LTE and WiFi links using the on-time throughput scheduling algorithm described above. Note that LTE and WiFi radios may schedule users independently. The average on-time throughput during the measurement period may serve as the indicator of how likely a user can achieve the target rate over each radio link.
[0061] During the measurement period, users on both LTE and WiFi links may be scheduled via algorithms that ensure each user is scheduled at least once on each link (e.g., round-robin scheduling). The average resources required for a user is measured in an attempt to achieve the target rate. This number can then be used to compute how to allocate the users on both radios to achieve the highest on-time throughput, for user RAT assignment and admission control.
[0062] Adaptive User-Based QoS control
[0063] A UE should know the set of acceptable operating on-time throughput data rates for its data. For example, when transmitting scalable video, this set of acceptable data rates represents different video quality supported from the source, with higher data rates representing higher video quality. Based on the radio link quality and loading, the multi-mode UE can select its operating on-time throughput data rates. It is also possible that the integrated LTE/WiFi pico eNB recommends an operating rate to the UE based on network-wide optimization. Thereafter, the LTE/WiFi pico eNB can determine if this operating rate would result in adequate QoE for the user.
[0064] The goal of adjusting the operating on-time throughput rate is to guarantee that a maximal number of users can maintain the on-time target rate required to meet their QoE. It is assumed that, if the UE accepts the lower target operating point, the UE will signal the content server to lower the data rate of the flow. This can easily be done for content such as video where the lower priority content (such as enhancement layers) can be discarded without significant impact on the video QoE. Alternately, if the eNB supports DPI capability, the eNB can selectively discard packets that have been marked as low priority, without requiring the UE to coordinate with the Server. The former approach is preferred if the disruption due to interference is expected to last a longer time.
[0065] Joint Scheduling and RAT Selection for Enhanced On-Time Throughput
[0066] RAT selection techniques in a Multi-RAT HetNet may be reused for on-time throughput optimization together with the scheduling algorithm detailed above. Additionally, joint multi-RAT scheduling of LTE and WiFi resources may be possible with tightly coupled or integrated LTE/WiFi APs. With the scheduling algorithm and new optimization target, revised user RAT assignment algorithms may be used to achieve better performance. Such joint assignments may operate on a longer time scales or may be updated on a frame-by-frame basis.
[0067] Based on an on-time throughput estimation, the integrated eNB searches for the user partition that achieves the highest on-time throughput. Since the number of users competing for each link may be different, the average on-time throughput under the new user partition will also change. One or more additional iterations may be performed to check if the user partitioning changed with the new average on-time throughput.
[0068] Thereafter, based on the estimation of the amount of resources required for achieving the rate target, the integrated eNB may search for the sets of users to be scheduled on both the LTE link and the WiFi link such that the greatest number of users can be served for the rate target.
[0069] FIG. 4 is a graph illustrating how joint usage of the LTE and WiFi radios in an embodiment can improve the on-time throughput even more than merely using the algorithm on LTE radios alone. Similar to FIG. 3, x-axis 402 is the throughput and y-axis 404 is the percentage of users that meet a certain throughput. Line 430 is the performance of an LTE connection alone (this is the same as line 320 from FIG. 3). Line 440 is the performance of a WiFi connection alone. Line 450 is use of both LTE and WiFi, but with no coordination. Line 460 uses both LTE and WiFi connections, with a joint assignment scheme. Line 470 shows the use of both LTE and WiFi connections, using a joint scheduling algorithm as described above.
[0070] The discussion of FIG. 3 above detailed how line 320 was a drastic improvement over the prior art. FIG. 4 shows a similar improvement using the tactics and algorithms set forth herein. Line 430 is the same as line 320 of FIG. 3. Line 440 shows the performance of an exemplary WiFi link. Line 440 shows a relatively steady performance until 3 millions bits per second, when the percentage of users drops achieving that rate drops below 90 percent. Line 450 shows the performance of a joint LTE/WiFi eNB, but with no coordination between the radio links. The performance of this joint connection is higher than either the LTE connection alone or the WiFi connection alone. For example, greater than 50% of the users are able to achieve 6 million bits per second. In comparison, only about 20% of users of either LTE alone or WiFi alone are able to achieve that throughput. By jointly assigning LTE and WiFi connections via a dynamic RAT mapping scheme, greater than 70% of users are able to achieve 6 million bits per second throughput. This percentage is even higher (approximately 80%) for a joint LTE/WiFi connection using a dynamic RAT scheduling scheme, shown in line 470. Dyanamic RAT mapping occurs at a much slower time scale (and not packet by packet, as is done with dynamic RAT scheduling). Once the user is assigned to a RAT, then typically all packets will be sent on that RAT. This assignment can still be changed dynamically during as session. The entity making this assignment may be the multi-RAT aggregation function within the RRC. Whereas the scheduling decisions will be made by the scheduler which operates on MAC layer packets.
[0071] User Admission Control
[0072] Based on the estimation of required resource for achieving the target rate, the set of users to be served can be selected so that all users in the set achieve the target rate and the size of the set is maximized. As a result, users that require fewer resources in order to achieve the target rate are selected first and users that require a large amount of resources to achieve the target rate are more likely to be dropped or offloaded to another eNB.
[0073] In order to support more users when the channel conditions are bad, adaptive user-based QoS control, as described above, may be considered. Overall, the number of users that can be supported by an eNB is determined by the user admission control strategy described above. If the target on-time rates of users cannot be satisfied even after QoS adaptation, the eNB may select some users to handoff to other cells. Such assessment may be based on the following criteria:
[0074] 1) Users that may be adequately served by alternate cells (coordination between eNBs, such as via an X2 interface may be required) should be handed off;
[0075] 2) Users that consume the maximal number of resources may be handed off first to another eNB; and
[0076] 3) A minimal number of users, just enough to satisfy the QoS requirements of maximal number of users, should be handed off
[0077] With reference to FIG. 7, an algorithm for accomplishing a handoff is illustrated. The users being serviced by an eNB are sorted according to the resources they consume (702). Then the user with the highest number of resources consumed is the first candidate for offloading (704). If that user can be successfully offloaded to another eNB and the on-time throughput requirements of the remaining users being serviced by the eNB are met, then the offloading stops (706). If the requirements are not met, the algorithm continues with the next user in terms of highest resources consumed (708). Otherwise, the algorithm stops (710).
[0078] Examples, as described herein, may include, or may operate on, logic or a number of components, modules, or mechanisms. Modules are tangible entities (e.g., hardware) capable of performing specified operations and may be configured or arranged in a certain manner. In an example, circuits may be arranged (e.g., internally or with respect to external entities such as other circuits) in a specified manner as a module. In an example, the whole or part of one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware processors may be configured by firmware or software (e.g., instructions, an application portion, or an application) as a module that operates to perform specified operations. In an example, the software may reside on a machine-readable medium. In an example, the software, when executed by the underlying hardware of the module, causes the hardware to perform the specified operations.
[0079] Accordingly, the term "module" is understood to encompass a tangible entity, be that an entity that is physically constructed, specifically configured (e.g., hardwired), or temporarily (e.g., transitorily) configured (e.g., programmed) to operate in a specified manner or to perform part or all of any operation described herein. Considering examples in which modules are temporarily configured, each of the modules need not be instantiated at any one moment in time. For example, where the modules comprise a general-purpose hardware processor configured using software, the general-purpose hardware processor may be configured as respective different modules at different times. Software may accordingly configure a hardware processor, for example, to constitute a particular module at one instance of time and to constitute a different module at a different instance of time.
[0080] FIG. 5 is a block diagram illustrating an example machine 500 upon which any one or more of the techniques (e.g., methodologies) discussed herein may perform. In alternative embodiments, the machine 500 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine 500 may operate in the capacity of a server machine, a client machine, or both in server-client network environments. In an example, the machine 500 may act as a peer machine in peer-to-peer (P2P) (or other distributed) network environment. The machine 500 may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a smartphone, a web appliance, a network router, switch or bridge, a dedicated navigation device, laptop computers, a television, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein, such as cloud computing, software as a service (SaaS), other computer cluster configurations.
[0081] The machine (e.g., computer system) 500 may include a hardware processor 502 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 504, and a static memory 506, some or all of which may communicate with each other via an interlink (e.g., bus) 508. The machine 500 may further include a display device 510, an alphanumeric input device 512 (e.g., a keyboard), and a user interface (UI) navigation device 514 (e.g., a mouse or track pad). In an example, the display device 510, input device 512 and UI navigation device 514 may be a touch screen display that accomplishes all three tasks. The machine 500 may additionally include a mass storage device (e.g., drive unit) 516, a signal generation device 518 (e.g., a speaker), a network interface device 520, and one or more sensors 521, such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensor. The machine 500 may include an output controller 528, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR)) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.).
[0082] The mass storage device 526 may include a machine-readable medium 522 on which is stored one or more sets of data structures or instructions 524 (e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. The instructions 524 may also reside, completely or at least partially, within the main memory 504, within static memory 506, or within the hardware processor 502 during execution thereof by the machine 500. In an example, one or any combination of the hardware processor 502, the main memory 504, the static memory 506, or the mass storage device 516 may constitute machine-readable media.
[0083] While the machine-readable medium 522 is illustrated as a single medium, the term "machine-readable medium" may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that is arranged to store the one or more instructions 524.
[0084] The term "machine-readable medium" may include any medium that is capable of storing, encoding, or carrying instructions for execution by the machine 500 and that cause the machine 500 to perform any one or more of the techniques of the present disclosure, or that is capable of storing, encoding, or carrying data structures used by or associated with such instructions. Non-limiting machine-readable medium examples may include solid-state memories, and optical and magnetic media. In an example, a massed machine-readable medium comprises a machine-readable medium with a plurality of particles having resting mass. Specific examples of massed machine-readable media may include: non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM, DVD-ROM, and Blu-Ray disks.
[0085] The instructions 524 may further be transmitted or received over a communications network 526 using a transmission medium via the network interface device 520 utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards known as Wi-Fi.RTM., IEEE 802.16 family of standards known as WiMAX.RTM.), peer-to-peer (P2P) networks, among others. In an example, the network interface device 520 may include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communications network 526. In an example, the network interface device 520 may include a plurality of antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) techniques. The term "transmission medium" shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine 500, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
[0086] The following examples pertain to further embodiments.
[0087] Example 1 is a method for increasing on-time throughput in a wireless network comprising: obtaining information regarding on-time throughput of the wireless network; finding a subset of users who fail to meet a target on-time data rate; determining which user of the subset of users is closest to the target on-time data rate; and scheduling the user who is closest to the on-time target data rate for further data transmissions.
[0088] In example 2, the subject matter of example 1 may optionally include wherein the information regarding throughput comprises instantaneous data rate information for each user in the wireless network.
[0089] In example 3, the subject matter of example 1 may optionally include wherein the information regarding throughput comprises on-time data throughput information for each user.
[0090] In example 4, the subject matter of example 1 may optionally include wherein determining which of the subset of users is closest to the on-time target data rate comprises: determining an amount indicating how short of the target rate each user of the subset is; determining an instantaneous data rate for each user; and dividing the amount by the instantaneous data rate for each user to determine which user of the subset of users is closest to the target data rate.
[0091] In example 5, the subject matter of example 1 may optionally include wherein the wireless network is a multiple radio access technology heterogeneous network.
[0092] In example 6, the subject matter of example 5 may optionally include wherein the wireless network includes a WiFi network and a Long-Term Evolution (LTE) network.
[0093] In example 7, the subject matter of example 6 may optionally include wherein the LTE network and WiFi are supported on small cells that are part of a larger 3GPP network.
[0094] In example 8, the subject matter of example 7 may optionally include wherein the small cell is chosen from a pico network, a femto network, a micro network, and a multi-radio WiFi/LTE small cell network.
[0095] In example 9, the subject matter of example 5 may optionally include wherein the method further comprises: selecting a radio access technology with which the scheduled user is to send and receive its transmissions, wherein the radio access technology is selected from WiFi and LTE.
[0096] Example 10 is an evolved Node B (eNB) comprising: processing means with multiple functions including: a multiple radio access technology scheduling means; multiple radio access technology aggregation function means; wherein the multiple radio access technology scheduling means is arranged to: obtain information regarding on-time throughput of the wireless network; find a subset of users who fail to meet a target on-time data rate; determine which of the subset of users is closest to the target on-time data rate; and schedule the user who is closest to meeting the target on-time data rate for transmission.
[0097] In example 11, the subject matter of example 10 may optionally include wherein the information regarding throughput comprises instantaneous data rate information for each user.
[0098] In example 12, the subject matter of example 10 may optionally include wherein the information regarding throughput comprises on-time data throughput information for each user.
[0099] In example 13, the subject matter of example 10 may optionally include wherein determining which of the subset of users is closest to the on-time target data rate comprises: determining an amount indicating how short of the target on-time data rate each user of the subset is; determining an instantaneous data rate for each user; and dividing the amount by the instantaneous data rate for each user to determine which user of the subset of users is closest to the target on-time data rate.
[0100] In example 14, the subject matter of example 10 may optionally include wherein the multiple radio access technology scheduling means is further arranged to: change a user from a first radio access technology to a second radio access technology; and further wherein the first radio access technology and second radio access technology are chosen from WiFi and Long Term Evolution (LTE).
[0101] In example 15, the subject matter of example 10 may optionally include wherein the multiple radio access technology scheduling means is further arranged to: offload a user to another eNB.
[0102] In example 16, the subject matter of example 15 may optionally include wherein offloading a user to a second eNB comprises: compiling a list of users being serviced by the first eNB; determining an amount resources being used by each user being serviced by the eNB; sorting the resources used to determine a user with the highest amount of resources being used; and offloading the user with the highest amount of resources being used to the second eNB.
[0103] In example 17, the subject matter of example 10 may optionally include wherein the eNB is selected from the group comprising: macro eNB, pico eNB, femto eNB, and multi-radio WiFi/LTE small cells.
[0104] In example 18, the subject matter of example 10 may optionally further comprise a means for deep packet inspection, wherein the means for deep packet inspection module is arranged to drop low-priority packets of a data flow.
[0105] Example 19 is a method for offloading users from a first evolved node B (eNB) to a second eNB comprising: compiling a list of users being serviced by the first eNB; determining an amount resources being used by each user being serviced by the eNB; sorting the resources used to determine a user with the highest amount of resources being used; and offloading the user with the highest amount of resources being used to the second eNB.
[0106] In example 20, the subject matter of example 19 may optionally further comprise: determining if a goal for number of users achieving a target data rate is being met; and if the goal is not achieved, offloading the user with the next highest amount of resources being used to the second eNB.
[0107] Example 21 is a user equipment (UE) comprising: antenna assembly means; transceiver means coupled to the antenna assembly means arranged to send and receive signals via the antenna assembly means; processing means coupled to the transceiver the processor being arranged to: transmit radio link performance measurement information to an evolved Node B (eNB); determine a range of acceptable operating on-time throughput data rates; determine a minimum QoE requirement; determine an on-time throughput data rate to achieve the minimum QoE requirement; and transmit the range of acceptable operating on-time throughput data rates, minimum QoE requirement, and the on-time throughput data rate.
[0108] In example 22, the subject matter of example 21 may optionally include wherein the UE is arranged to transmit information both via a long-term evolution (LTE) data connection and via a WiFi data connection.
[0109] In example 23, the subject matter of example 22 may optionally include wherein the processing means is further arranged to: receive an association message; receive a radio link assignment message; change to either the LTE data connection or the WiFi data connection based on the radio link assignment message; and connect with a specific network entity based on the association message.
[0110] In example 24, the subject matter of example 21 may optionally include wherein the processing means is further arranged to: receive a recommended on-time throughput data rate from a network entity; and change the range of acceptable operating on-time throughput data rates based on the recommended on-time throughput data rate.
[0111] In example 25, the subject matter of example 21 may optionally include wherein the processing means is further arranged to: determine a current on-time throughput data rate; and change the range of acceptable operating on-time throughput data rates based on the current on-time throughput data rate.
[0112] While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents may occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the scope of the invention.
[0113] The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments that may be practiced. These embodiments are also referred to herein as "examples." Such examples may include elements in addition to those shown or described. However, also contemplated are examples that include the elements shown or described. Moreover, also contemplate are examples using any combination or permutation of those elements shown or described (or one or more aspects thereof), either with respect to a particular example (or one or more aspects thereof), or with respect to other examples (or one or more aspects thereof) shown or described herein.
[0114] Publications, patents, and patent documents referred to in this document are incorporated by reference herein in their entirety, as though individually incorporated by reference. In the event of inconsistent usages between this document and those documents so incorporated by reference, the usage in the incorporated reference(s) are supplementary to that of this document; for irreconcilable inconsistencies, the usage in this document controls.
[0115] In this document, the terms "a" or "an" are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of "at least one" or "one or more." In this document, the term "or" is used to refer to a nonexclusive or, such that "A or B" includes "A but not B," "B but not A," and "A and B," unless otherwise indicated. In the appended claims, the terms "including" and "in which" are used as the plain-English equivalents of the respective terms "comprising" and "wherein." Also, in the following claims, the terms "including" and "comprising" are open-ended, that is, a system, device, article, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim. Moreover, in the following claims, the terms "first," "second," and "third," etc. are used merely as labels, and are not intended to suggest a numerical order for their objects.
[0116] The above description is intended to be illustrative, and not restrictive. For example, the above-described examples (or one or more aspects thereof) may be used in combination with others. Other embodiments may be used, such as by one of ordinary skill in the art upon reviewing the above description. The Abstract is to allow the reader to quickly ascertain the nature of the technical disclosure, for example, to comply with 37 C.F.R. .sctn.1.72(b) in the United States of America. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Also, in the above Detailed Description, various features may be grouped together to streamline the disclosure. However, the claims may not set forth every feature disclosed herein as embodiments may feature a subset of said features. Further, embodiments may include fewer features than those disclosed in a particular example. Thus, the following claims are hereby incorporated into the Detailed Description, with a claim standing on its own as a separate embodiment. The scope of the embodiments disclosed herein is to be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
User Contributions:
Comment about this patent or add new information about this topic: