As cellular networks expand, methods and applications of wireless communication have become increasingly essential to modern life. To improve efficiency and coverage, multiple end user devices receive data from a singular cellular signal. However, when a single cellular and/or wireless broadcasting source, such as a base station or cell, is shared across multiple independent devices, each device lacks the complete information about how the cellular and/or wireless broadcasting source is being utilized. This leads to inefficiencies. For example, excess cellular signal capacity may exist but, no device is made aware of this fact or is able to utilize the excess because the devices lack knowledge about the use of the cellular signal by other devices.
As such, a need exists for a device receiving a cellular signal to gain information regarding properties of the cellular signal and the use of that cellular signal by other devices. Embodiments provide such functionality.
Accurate and highly-granular channel capacity telemetry of the cellular last hop is crucial for the effective operation of transport layer protocols and cutting-edge applications, such as video on demand and video telephony. Embodiments of the invention disclosed herein, which may be referred to herein as “NG-Scope,” include the designs, implementations, and methods of use, as well as experimental performance evaluation of NG-Scope. NG-Scope is a telemetry tool that fuses physical-layer channel occupancy readings from the cellular control channel with higher-layer packet arrival statistics to make accurate capacity estimates. NG-Scope is capable of providing cellular capacity measurements when multiple base stations aggregate their signals together to serve mobile users. End-to-end experiments in a commercial cellular network demonstrate that wireless capacity varies significantly with channel quality, mobility, competing traffic within each cell, and the number of aggregated cells. Example embodiments demonstrate significantly improved cell load estimation accuracy, missing the detection of less than 1% of data capacity overall, a reduction of 82% compared to Online Watcher for LTE (“OWL” described in N. Bui and J. Widmer. OWL: A reliable online watcher for LTE control channel measurements. In ACM AllThingsCellular, 2016), the state-of-the-art in cellular monitoring. Further data provided by example embodiments show that MobileInsight-based (described in Y. Li, C. Peng, Z. Yuan, J. Li, H. Deng, and T. Wang. Mobileinsight: Extracting and analyzing cellular network information on smartphones. In ACM MobiCom, 2016). CLAW (described in X. Xie, X. Zhang, and S. Zhu. Accelerating mobile web loading using cellular link information. In ACM MobiSys, 2017.) has a root-mean-squared capacity error of 30.5 Mbit/s, which is 3.3× larger than NG-Scope (9.2 Mbit/s).
An embodiment is directed to a computer-implemented method to identify network properties. Such a method receives, at a computing device, a cellular signal including one or more control messages formed by a plurality of control channel elements, wherein each control message is formed of one or more of the plurality of control channel elements and each control message is encoded using a function, a respective associated cyclic redundancy check, and a respective unknown temporary identifier. In turn, for each control message, the method identifies the one or more of the plurality of control channel elements forming the control message and derives, based upon the identified one or more of the plurality of control channel elements, candidate calculated cyclic redundancy checks. The method continues by deriving candidate temporary identifiers using the function, the candidate calculated cyclic redundancy checks, and the respective associated cyclic redundancy check and determining the respective unknown temporary identifier from amongst the derived candidate temporary identifiers. The method concludes by decoding the control message using the function, the determined respective unknown temporary identifier, and the respective associated cyclic redundancy check, wherein the decoded control message indicates network properties.
In some embodiments of the method, the computing device is a primary computing device and the one or more control messages are transmitted to one or more secondary computing device distinct from the primary computing device. Additionally, each respective unknown temporary identifier may be a 16-bit cell radio network temporary identifier. The function may be an exclusive or (XOR) function.
The plurality of control channel elements can be distributed within a control channel comprising a section of the cellular signal. In such embodiments, the plurality of control channel elements can be two-dimensional subsections of the control channel defined by time and frequency.
In some embodiments of the method, identifying the one or more of the plurality of control channel elements forming the control message comprises measuring respective energy of each of the plurality of control channel elements and determining that a control channel element of the plurality of control channel elements with a measured respective energy below a threshold does not form the control message.
In some embodiments of the method, identifying the one or more of the plurality of control channel elements forming the control message comprises organizing the plurality of control channel elements into a binary tree hierarchy. Such an embodiment determines that one or more control channel elements represented by a child node, of a parent node in the binary tree hierarchy, do not form the control message if one or more control channel elements represented by the parent node do not form the control message.
In some embodiments, deriving, based upon the identified one or more of the plurality of control channel elements, the candidate calculated cyclic redundancy checks comprises decoding the control message using the identified one or more of the plurality of control channel elements and calculating the cyclic redundancy checks using the control message decoded.
Determining the respective unknown temporary identifier from amongst the derived candidate temporary identifiers may comprise performing at least one of: child-ancestor matching, temporal user tracking, search space matching, and verifying re-encoded errors.
The network properties can include any network properties known to those of skill in the art. For instance, in an embodiment, the network properties include at least one of: channel quality, allocated channel bandwidth, number of active mobile users, total used bandwidth, and idle bandwidth. The cellular signal can be a Long-Term Evolution (LTE) signal.
Embodiments may further comprise monitoring, using a transport layer of the computing device, the received cellular signal to determine packet statistics of the cellular signal and combining the determined packet statistics and the network properties to determine congestion of the network. In such embodiments, the determined congestion of the network may be reported to an application layer of the computing device. In turn, the application layer may control use of the network by the computing device based on the reported determined congestion.
Another embodiment is directed to a computer based system for identifying network properties. The system comprises a receiver configured to receive, a cellular signal including one or more control messages formed by a plurality of control channel elements, wherein each control message is formed of one or more of the plurality of control channel elements and each control message is encoded using a function, a respective associated cyclic redundancy check, and a respective unknown temporary identifier. The system also includes a processor and a memory with computer code instructions stored thereon. In such an embodiment, the processor and the memory, with the computer code instructions, are configured to cause the system to identify network properties according to any embodiment or combination of embodiments described herein.
Yet another embodiment is directed to a computer program product for identifying network properties. The computer program product comprises one or more non-transitory computer-readable storage devices and program instructions stored on at least one of the one or more storage devices. The program instructions, when loaded and executed by a processor, cause an apparatus associated with the processor to identify network properties according to any embodiment or combination of embodiments described herein.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
The foregoing will be apparent from the following more particular description of example embodiments, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments.
A description of example embodiments follows.
Cellular traffic has accounted for 72% of global mobile traffic in the past few years and this trend is expected to continue through 2022. Motivated by this, network designers are devoting significant efforts to improve the congestion control design of end-to-end transport protocols, to enable key applications, such as video streaming and video telephony, can work seamlessly with cellular networks, whose channel capacity varies significantly within a very short period of time.
In an example such as video streaming, the server 101 fragments whole transmissions into small chunks, encodes each chunk into multiple bit rates, and adaptively selects the bit rate 106 (and thus resolution) of each chunk. Diagram 111 shows a server 101 that selects the bit rate 106 according to the estimate of the path capacity 104 and buffer occupancy of the user device 102. Diagram 112 shows an example of video telephony. Unlike video streaming 111, which pre-encodes the video into all available bit rates, the video telephony endpoint 103 encodes the video in real time. Endpoints, such as user device 102 and video source 103, use the available path capacity 104 to adjust the encoded video quality 106, minimizing video delivery latency and maximizing user quality of experience (QoE).
One determinant of the end-to-end path capacity 104 is the capacity of the last-(or first-) hop: wireless cellular Radio Access Network (RAN). Estimating and tracking the capacity of a wireless RAN is challenging, since capacity of the wireless RAN varies over millisecond-level time scales for the following three reasons. First, cellular networks adopt orthogonal frequency-division multiple access (OFDMA) to share bandwidth among all mobile users at a subframe (millisecond) granularity. Therefore, the start and termination of any user's data flow can cause abrupt capacity fluctuations. Second, the wireless channel quality between the cell tower and the user varies due to user mobility, multipath propagation, and interference. The highest data rate the cellular wireless channel can support changes accordingly. Third, both 4G LTE and the 5G implement a technique called carrier aggregation (CA), via which, the cellular network aggregates two or more cell towers (herein after called “component carriers” or “cells”) to boost maximum per-user data rates. Because of carrier aggregation, one user is not only affected by the dynamics from one cell, but from all of its aggregated cells.
Because of the dynamic nature of cellular networks, a telemetry tool is needed that is able to provide accurate and millisecond-granular capacity estimation updates for cellular networks. A congestion controller and upper layer applications can adjust system parameters, such as send rate or video resolution, in accordance with the underlying network conditions, e.g., capacity estimations, determined by such a telemetry tool. Examples of this adjustment are illustrated in diagrams 111 and 112 of
Embodiments of the invention, which are directed to an accurate and fine-grained telemetry tool, utilize the following observation: the cell tower broadcasts all the wireless parameters that affect the wireless cellular channel capacity, including the modulation and coding rate (MCS), the number of multiple-input and multiple-output (MIMO) spatial streams, the allocated frequency bandwidth, and the aggregated cell towers, to the mobile users via a physical control channel, every one millisecond. By carefully decoding this physical control channel, embodiments of the invention determine the internal state of the wireless cellular network, i.e., network properties and, in turn, can provide the determined properties to the transport layer and applications at the endpoints. This opens new possibilities for designing agile transport layer protocols and implementing video applications with maximized QoE. Passive cellular sniffers such as LTEye and OWL have some ability to decode the control channel to infer some of the wireless attributes, but these existing sniffers cannot work with the most cutting edge cellular networks that use techniques such as carrier aggregation. Thus, the existing sniffers are not able to track the abrupt capacity changes that carrier aggregation causes. MobileInsight can only analyze the radio resource allocation of a single user, i.e., the mobile device that MobileInsight is implemented on, rather than cell-wide information, which is mandatory in order to estimate the capacity available to the mobile user.
An embodiment is directed to a method to identify cellular channel properties. A computing device, such as a mobile phone receives a cellular signal. The cellular signal includes one or more control messages. The control messages are formed by a plurality of control channel elements and encoded using an associated cyclic redundancy check and a temporary identifier. The method locates each control message by identifying the one or more of the plurality of control channel elements forming the control message. Next, the method derives a set of candidate calculated cyclic redundancy checks and, uses the derived candidate calculated cyclic redundancy further derives candidate temporary identifiers. A validation is performed on the candidate temporary identifiers to determine the actual temporary identifier from amongst the derived candidate temporary identifiers used to encode the control message. The control message can be decoded using the actual temporary identifier. The decoded control message indicates cellular channel properties including, for example, the bandwidth assigned to each user utilizing the channel during carrier aggregation.
Embodiments include the design and implementation of NG-Scope, a tool that exposes the fine-grained capacity-related information applications and transport protocols require for superior performance. Embodiments simultaneously decode the physical layer control channels of multiple cell towers (“cells”), so as to extract highly granular, per-user link and physical layer transmission status information for all users associated with those cells. By combining this data across users within one cell, and fusing data across cells, embodiments observe and account for the effects of carrier aggregation and, thereby, estimate wireless cellular channel capacity more accurately than previous cellular monitors. By reconciling control messages from the cellular physical layer with the packet arrival time series from the transport layer of the user equipment (UE), example embodiments of the invention accurately monitor the downlink delivery process of every packet the user receives across layers and down to the Physical Layer (PHY), enabling better functionality of congestion control algorithms and video applications, which heretofore lacked insight into the PHY.
An example embodiment of the invention is implemented with multiple Universal Software Radio Peripheral (USRP) software-defined-radios, one host personal computer (PC), and one mobile phone, in a design that synchronizes and fuses information from these sources. USRP is used in an embodiment because the design requires customization to the firmware of the cellular module. However, alternative embodiments of the invention, are directly implementable on mobile devices or other user devices. The performance evaluation in a commercial cellular network validates the accuracy and measurement resolution of the example embodiment of NG-Scope. The example embodiment NG-Scope's control channel decoder achieves a reduction in missed control messages to 0.8% (an 82% reduction compared to OWL). The example embodiment NG-Scope reduces the rate of false positives (detection of nonexistent control messages) by 92% compared to OWL. Further results show that even though wireless capacity varies significantly with mobility, competing traffic within each cell and the number of aggregated cells, the example embodiment NG-Scope is still capable of tracking the resulting capacity variations.
Embodiments enable new experimental observations on cellular wireless physical-layer and link-layer operations. Firstly, it was observed that there exist dedicated cell towers that only function as a secondary cell to deliver carrier-aggregated downlink traffic. Without competition from primary users, such a cell ensures a stable capacity boost for UEs, motivating a congestion control method that can exploit such an opportunity. Secondly, it was observed that with carrier aggregation enabled, the cellular network saturates the primary cell before the potentially higher speed secondary and tertiary cells, resulting in inefficient bandwidth usage. Lastly, cross-cell traffic correlation was observed, the effect of competing for traffic propagating to other cells via carrier aggregation.
To further demonstrate the advantage of embodiments of the invention's complete cell-wide information over the partial information observed by existing methods such as MobileInsight, embodiments of the invention were compared with two systems built atop of MobileInsight: CLAW for capacity tracking and BurstTracker for bottleneck determination. Experimental results show that embodiments of the invention achieve superior performance compared to these two systems.
In this section, the relevant parts of LTE's Layer 1 and 2 data-plane designs are discussed, focusing on frequency division duplexing (FDD), the mode cellular operators use most widely.
Wireless transmissions are subject to errors. LTE relies on a Hybrid ARQ (HARQ) mechanism at the link layer to retransmit errored data bits. LTE's HARQ adopts a stop-and-wait scheme, sending one transport block 304 in each subframe 300 and then waiting for an acknowledgment from the receiver. If the decoding of a transport block fails, the cell tower resends the erroneous transport block, after eight milliseconds of the original transmission. An explicit new-data indicator is included in the control message within the control channel 301 for every transport block 304 to differentiate the original transmission from the retransmission. For example, in
In operation of the system 400, a signal or other wireless communication is received by antenna 401. A mobile user, with carrier aggregation triggered, communicates simultaneously with multiple cell towers. Frequency demultiplexer 402, identifies and separates the radio chains 403 contained in the received signal. Each radio chain 403 originating from a different cell tower. At least due to carrier aggregation, each subframe, e.g., 300, of radio chains 403 may include multiple transport blocks 304, one transport block contains the signal intended for the mobile user and additional transport blocks contain signals intended for other users. If this is the case, each subframe 300 of radio chains 403 also includes multiple control messages 404, one control message 404a associated with the transport block containing the signal intended for the mobile user and additional control messages 404b intended for other users. At least because of the potential use by other users of radio chains 403, it is necessary to decode all control messages 404 to identify the capacity of the cell towers transmitting radio chains 403 and the total capacity available (the aggregate capacity of all cell towers broadcasting the signal received by antenna 401) to the mobile user.
The mobile user, starts one worker 406 to decode the control messages 404 from one of the radio chains 403 originating at one of the cell towers using the control message decoder 411. In some embodiments, other workers 406, in parallel, decode the control messages from the other radio chains 403 originating from other cell towers using additional instances of the control message decoder 411. The control message decoder(s) 411, as detailed further below, are able to decode all user's control messages 404 in the control channels of radio chains 403, even the control messages intended for other users 404b. In the fusion layer 407, the example NG-Scope embodiment 410 fuses information from the decoded control messages 404 from the physical layer with packet statistics, such as packet arrival time, one-way delay, and packet size, from the transport layer 408, which are reported back to the transport layer 408 and application layer 409 to facilitate congestion control or video quality selection, amongst other examples.
What follows describes control message decoding that may be employed by embodiments. For instance, the following description of decoding functionality may be implemented by the control message decoder 411 utilized by embodiments of the invention, such as NG-Scope 410. The control message decoder 411 is capable of decoding every control message 404 inside a subframe, thus providing a full picture of the bandwidth usage of the cell towers 402 at millisecond time granularity.
A control message is a bit-string where each bit or group of bits inside the message represents various control information, such as the PRB 303 allocation of the subframe or the MCS index. Length of the control message bit-string and the exact information each bit conveys depends on the message format a base station, e.g., 402, selects for each message. The base station calculates a 16-bit cyclic redundancy check CRC (hereinafter “calculated CRC”) based on the content of the control message, and then exclusive ors (XORs) the calculated CRC with another 16-bit physical layer ID of a mobile user who is the intended receiver of the control message. For non-limiting example, the 16-bit physical layer ID may be a cell radio network temporary identifier (C-RNTI). While embodiments of the invention discussed herein are directed to control messages encoded using the XOR function, embodiments are not limited to using only the XOR function and it should be clear to those skilled in the art that other functions with similar properties can be utilized. The base station 402 appends the XOR-ed value (hereinafter the “appended CRC”) at the end of the control message and encodes the message and the appended CRC using convolutional code.
During a decoding process by a recipient device, the appended CRC 503 serves two purposes, message verification and receiver identification. After receiving and performing convolutional decoding of the convolutional encoded message 504, a mobile device separates the 16-bit appended CRC 503 from the control message 500. To verify the correctness of the decoding process, the mobile device calculates the calculated CRC 501 using the decoded control message 500 and, then, XORs the calculated CRC 501 with its own C-RNTI 502. When the XOR-ed value matches with the appended CRC 503, the decoding is successful and it can be confirmed that the mobile device is indeed the intended receiver of the control message 500.
A base station transmits the convolutional encoded message(s) 504 via the physical control channel 301 of a subframe 300, as shown in
Typically, one mobile user only decodes its own control message. In contrast, embodiments of the invention, such as NG-Scope 410, decode the whole control channel 201, 601 to extract every control message 500 contained inside the control channel 201, 601. This requires the following challenges to be overcome by the control message decoder 411.
One of the key challenges of implementing the decoding utilized by embodiments of the invention is that many important parameters of both the mobile users and the control messages are unknown. Firstly, the physical layer IDs 502 of other mobile users, i.e., the C-RNTI, are unknown. However, the physical layer IDs 502 are required for both message verification and receiver identification. Secondly, the total number of control messages contained, and their distribution, inside the control channel 201, 601 is unknown. Thirdly, for each possible control message, its format and aggregation level (L) are also unknown. Exhaustively searching all possible combinations of location, aggregation level, and format is a possible solution, but results in significant computational overhead. To address the above challenges, embodiments of the invention utilize a tree-based search algorithm and two message validation and user identification methodologies.
The tree can further be pruned by identifying empty CCEs 702. Empty CCEs 702 do not contain the control message. The received empty CCE 702 contains no data, only Gaussian noise, which results in significant uncertainty during the demodulation. Therefore, embodiments of the invention inspect the confidence of demodulating the bits inside a CCE, i.e., the log-likelihood ratios (LLRs) 703, shown in
C-RNTI 502, or other equivalent ID, is necessary for message validation and receiver identification. Embodiments of the invention are able to separate the control message 500 and the appended CRC 503 after decoding the received convolutional encoded message 504. The decoded control message 500 can then be used to calculate the calculated CRC 501. Therefore, in a reverse of the encoding process, the C-RNTI 502 can be derived by XOR-ing the calculated CRC 501 and the appended CRC 503. The derived C-RNTI 502 is only correct when the control message 500 is correctly decoded. Therefore, the derived C-RNTI 502 can be used to validate the decoded control message 500. Additionally, embodiments of the invention may derive multiple candidate C-RNTIs 502 based upon proposed decoding of the control message 500 and a correct decoding of the control message 500 can be identified by performing validation processes using the candidate C-RNTIs 502.
The following is a non-exclusive technique to verify the decoded control message 500 and the derived C-RNTI 502. This technique relies on the observation that the first half of the message with L is exactly the same as the whole message with L−1.
The above described children-ancestor matching technique cannot handle messages with low aggregation levels. Therefore, embodiments of the invention can also utilize a validation scheme by leveraging the temporal user pattern. Leveraging the temporal user pattern relies on the key observation that C-RNTIs that reappear within a short period of time (16 ms in example implementations) are likely real, as C-RNTIs calculated using incorrect control message parameters (location, aggregation, and format) are random and evenly distributed. The possibility of re-hitting the same C-RNTI generated using wrong parameters can be calculated according to the birthday paradox. As the space of possible C-RNTIs 502 is large in size (216, if 16 bits in size), the re-hitting possibility is nonetheless extremely small. For example, the possibility that two C-RNTIs reappear within 1,000 messages are 1×10−4.
To reduce the number of buffered messages, embodiments of the invention filter out control messages with a large number of coded bit errors by re-encoding each decoded control message into coded bits, then comparing the result with the original coded bits inside the received CCEs 603 to calculate the ratio of bits that are erroneous. Embodiments of the invention drop received control messages with more than 25% code bits flipped, which is a very high threshold that filters out extremely noisy messages and misses almost no true positive messages, while allowing false positives through, which are not identified as the ID of real UEs by the UE Tracker of
Different UEs are assigned different locations (allocations of consecutive PRBs), referred to herein as “search spaces”, within a control channel to contain their control messages to prevent overlap and interference. The search spaces for an UE can be derived based on the physical layer ID (e.g., C-RNTI 902) of that UE. For example, the UE specific search space can be identified by hashing the C-RNTI of the UE. This provides another method for validating the decoded control messages. If a control message is decoded and used to calculate a C-RNTI that is located within the search space assigned to the that C-RNTI, the decoded message can be validated.
This shows that when the PRBs allocated to a certain number of UEs (two in the example of
UE Tracking with Carrier Aggregation
When carrier aggregation is active, each aggregated cell tower transmits its own control messages to a UE through its own respective control channel. A UE has only one physical layer ID (e.g., C-RNTI 902), and so the physical layer ID of a UE with carrier aggregation enabled appears in the control messages transmitted by all aggregated cells. Embodiments of the invention extract the intersected physical layer IDs across the UE lists of all cells which are identified as having carrier aggregation enabled. Embodiments of the invention identify the primary and secondary cells of the UE according to the time the physical layer ID appears in each aggregated cell. To illustrate, the earliest cell that the physical layer ID appears in is identified as the primary cell, the second earliest cell is identified as a secondary cell, and so on and so forth.
The aforementioned validation methods and possible combinations thereof may be performed by the control message decoder 411 of the NG-Scope module 410 in the architecture 400 shown in
Referring to
To elaborate, in an embodiment control messages from the PHY layer are time stamped by the subframe index, e.g., 901. An embodiment records the receiving timestamp of the transport layer, e.g., 408, packets (TCP or UDP). The control messages indicate how many bits are transmitted to the UE in each subframe. The base station may transmit less than one, or more than one transport layer packet inside one subframe, as illustrated in
An embodiment aligns the transport layer packet receiving timestamp and the series of control messages using the pattern of retransmissions. The retransmissions of one transport block cause (1) an eight-millisecond delay increase and (2) a burst of packets reported to the transport layer (as shown in
From the decoded control message, embodiments identify the starting and ending subframe for each retransmission 1103. From a packet log, the transport layer detects retransmission 1103 based on the eight-millisecond interval between consecutive packets and the packet burst 1105. Embodiments of the invention, therefore, shift the timestamp of the packet log to match the locations of the retransmissions inside the packet log and the control messages. By doing so, embodiments synchronize the packet log with control messages to millisecond precision, the highest resolution possible since the subframe index is at the same scale.
Embodiments of the invention can be deployed as a software solution, involving no hardware modifications. In this way, embodiments can be implemented on a commercial mobile phone by customizing the cellular firmware. The source code of the cellular firmware, however, is generally proprietary to cellular equipment manufacturers, and is not accessible for the example implementation described herein. Therefore, what follows is a non-liming example implemented as an open-source prototype. To emulate multiple radio chains of commercial phones, multiple off-the-shelf software-defined radios, (USRPs) were used as a front-end to collect cellular signals. The signals the USRP collects were then sent to a connected PC configured to implement the functionality described herein for control message decoding. A mobile phone is tethered to the PC for cellular data transmission and reception. Packet statistics and the decoded control messages are fused by the middle layer at the PC.
Each worker 1201a, 1201b has a task scheduler 1206a, 1206b thread that synchronizes with the cell tower 1202a, 1202b and separates the received signals 1205a, 1205b into subframes. Each worker 1201a, 1201b also creates multiple control message decoders 1207a, 1207b, 1207c, 1207d, 1207e (collectively 1207), each of which takes one subframe of the signal 1205a, 1205b as input and decodes all control messages inside the subframe. While
What follows is a description of performance evaluation quantifying embodiments of the invention's accuracy and responsiveness in measuring cell load in a head-to-head comparison with OWL. Next, embodiments of the invention's ability to provide extremely high-granular and accurate cell load estimation in the presence of bit rate adaptation and carrier aggregation is demonstrated, for both stationary and mobile user scenarios. Then, a look at carrier aggregation in-depth, demonstrating unique insights into operations that embodiments of the invention enable for the first time. Last, embodiments of the invention are compared with CLAW and BurstTracker, two systems built atop of MobileInsight, to demonstrate the advantage of complete cell-wide information decoded by embodiments from control channels.
Experiments were run with six AT&T cell towers that provide LTE service for the testing area, a university area near a busy street. The detailed configurations of all six cell towers are listed in Table 1 below. The index of each cell is used to refer to that cell in later sections.
In this section, embodiments of the invention's decoding accuracy are investigated and compared head-to-head with OWL, which has demonstrated superior performance over LTEye. Without hacking the cell tower, it is impossible to get the exact ground truth of control messages the cell tower sends in the control channel of each subframe. To infer the ground truth, four USRPs were set up to listen to the same cell tower at four locations that are one meter apart from each other and utilize an embodiment of the invention to decode the received signals. Since the signals received by these four USRPs are uncorrelated, the decoding results using signals from different USRPs are independent of each other. Therefore, control messages that appear in the decoding results of all four USRPs are highly likely to be correct and thus are treated as the ground truth of control messages that the cell tower sends. At each location, the decoding was repeated using OWL. The entire experiment was repeated for 20 combinations of USRP locations.
The true negative messages that are missed on any USRP, and false positive messages that are decoded with error and not filtered out, are two main sources of incorrectly decoded messages. Since the exact ground truth of every message the base station sends was unknown, the exact number of true negatives and false positives is similarly unknown. Therefore, the following two experiments were conducted to determine the number of true negatives and false positives for an embodiment of the invention and OWL. 300 Mbits of data was sent from a server to a Galaxy S8 user device. The amount of data received from the socket of the user device was recorded. Further, the amount of data delivered from cell towers to the user device from the control messages decoded using an embodiment of the invention (e.g., “NG-Scope”) and OWL was counted. The experiment was repeated at eight locations with varying reference signal received power (RSRP).
In this section, the computational cost of embodiments is investigated. The basic operation that embodiments perform is the convolutional decoding of one control message. Therefore, the computation of each convolutional decoding and the total number of decoding embodiments conduct in each subframe determines the computational costs of embodiments. Embodiments of the invention use the software-implemented Viterbi decoder configured to implement the functionality described herein.
Embodiments only introduce a small amount of extra computational overhead because the number of active users inside each subframe is limited. An active user is defined to mean that the base station allocates bandwidth for the user in one subframe and, thus, transmits one corresponding control message to that user. The number of active users in each subframe can be derived by counting the number of decoded control messages.
Even though the base station transmits data to a limited number of mobile devices inside each subframe, the base station serves tens or even hundreds of mobile devices on a longer time scale. To demonstrate the number of mobile devices served by the base station during the 72 hour period monitored in
Hereinbelow, an evaluation of an example embodiment of the invention's (“NG-Scope”) highly-granular capacity tracking is provided. The evaluation first considers a single cell followed by the aggregated capacity with CA triggered.
NG-Scope tracks the LTE wireless link capacity based on the available PRBs and the bits each PRB carries for a certain user. The bits each PRB carriers for one user are determined based on a Modulation and Coding Scheme (“MCS”) index and the number of spatial streams inside the control message.
The aggregated capacity for a certain UE with carrier aggregation (CA) was also investigated. Two mobile phones were tested, a Samsung Galaxy S8 and a Xiaomi MIX3. The MIX3 is aggregated with two cells.
It is noted that not all physical layer capacity is used for transmitting data. When transmission block (TB) errors happen, the cell tower needs to allocate bandwidth for both retransmission of the erroneous TB (as illustrated in FIGS., 10 and 11) and ongoing data transmission. This results in an increase of the instantaneous data rate at the LTE physical layer. To demonstrate this, the LTE physical layer data calculated from the control message and the one-way delay recorded at UE were tracked and plotted, with a server offered load of 20 Mbit/s.
The following is an example implementation that illustrates a benefit of an embodiment of the invention, “NG-Scope.” Embodiments of the invention implement a congestion control algorithm that fully leverages the highly-granular capacity reported by NG-Scope. This achieves high throughput and at the same time, low latency. By default, the congestion control algorithm sets its sending rate to the capacity measured and reported by NG-Scope. Such a rate causes no congestion when the bottleneck of the transmission control protocol (“TCP”) connection is at the cellular link. A congestion is detected when the bottleneck shifts from the cellular link to the Internet and, accordingly, the algorithm falls back to a CUBIC algorithm to match its sending rate to the capacity of the Internet link. The algorithm identifies the bottleneck has shifted back to the cellular link if the rate selected by CUBIC is the same or larger than the capacity reported by NG-Scope.
The impact of missing control messages on the end-to-end performance of the NG-Scope based congestion control algorithm was investigated. In this evaluation, trace-driven emulation was performed using a link emulator: Mahimahi. The control messages that a base station transmits in a 30 second period, were decoded and recorded. Based on this, the available capacity for one mobile user was calculated and fed to Mahimahi. A TCP connection was built over the link emulated by Mahimahi and the recorded control messages were fed to the TCP sender for capacity calculation and congestion control. To emulate the missing messages, 0% to 50% of the decoded control messages were randomly dropped before feeding to the TCP sender.
The value of the telemetry data provided by NG-Scope, and other embodiments of the invention, can be demonstrated through the implementation of a NG-Scope based video streaming system. MPC is a state-of-the-art video bitrate adaptation system, which estimates the capacity as the harmonic mean of the video downloading speed in the near past. MPC is described in the following reference which is incorporated herein: X. Yin, A. Jindal, V. Sekar, and B. Sinopoli. A control-theoretic approach for dynamic adaptive video streaming over HTTP. In ACM SIGCOMM, 2015. Embodiments of the invention, for example NG-Scope, can be integrated with MPC by replacing the capacity with the telemetry data measured by NG-Scope. Such an integrated method is referred to herein as “NG-MPC.” The dash.js is used to implement the congestion control algorithm utilizing NG-Scope. This algorithm, NG-MPC, is then compared with MPC, Buffer based ABR, BOLA, and deep learning based adaptive bitrate (ABR) method, Pensieve.
The video quality of experience (QoE) provided by all five adaptive ABR algorithms (NG-MPC, MPC, ABR, BOLA, Pensieve) is evaluated. There exists a wide range of QoE metrics that characterizes the user-perceived video quality, but three important factors are included in most of the QoE metrics: (i) the average video quality, (ii) the quality variations, and (ii) the rebuffering. The following equation is used to summarize their impact on the QoE:
where N represents the total number of chunks inside a video, Rn describes the bitrate of the n-th chunk, q(Rn) translates the bitrate to the user-perceived video quality, Tn is the rebuffering time when downloading n chunks at bit rate Rn, and the final term, Tn|q(Rn+1)−q(Rn)|, characterizes the video bitrate changes which penalizes the overall QoE.
Three types of QoE metrics, which are known to those of skill in the art, were considered. The first QoE metric QoElin was considered in earlier works for both MPC and Pensieve, where the quality mapping function is linear q(Rn)=Rn. The second metric QoElog was used in evaluating BOLA where the quality mapping function q(Rn)=log (R/Rmin) captures the phenomenon that the improvement of user-perceived quality decreases at higher video bitrates. The third metric QoEHD was used to evaluate Pensieve which favors high definition video by assigning a low score to a low-quality video and a much higher score to a high-quality video. To evaluate these metrics for NG-MPC, a DASH server was set up that used Google Chrome as the client video player. Ten videos were streamed using the aforementioned ABR algorithms. Mahimahi was used to emulate the network conditions from cellular traces.
Embodiments of the invention, for example, NG-Scope, are able to identify retransmitted transport blocks using the new-data indicator of decoded control messages. In the following section, frequency with which retransmissions happen in commercial cellular networks and their impact on cellular packet transmissions are investigated and the benefits of this functionality are illustrated.
An experiment was run using six AT&T cell towers that provide LTE service for a testing area, a university area near a busy street. The detailed configurations of all six cell towers are listed in Table 1 above. In the static experiment, the mobile phone is placed at one location and the remote server sends UDP packets with a payload length of 1,400 bytes for 10 seconds. The speed of the remote server is varied from 10 Mbit/s to 55 Mbit/s. The phone is connected with the same cell tower (20 MHz bandwidth at 1.94 GHZ) during both the static and mobile experiments.
The phone (i.e., UE) is moved to 10 different locations with varying signal strength in a building. From the decoded control message, the number of original (not retransmitted) transport blocks that the cell tower sends to the UE is counted. Among those original transport blocks, the number of transport blocks that have been decoded with bit errors and, thus, require retransmissions, according to the new data indicator (ndi), are counted. The TB error rate, i.e., the ratio of erroneous transport blocks (requiring retransmissions), to the total number of original transport blocks sent is calculated.
It can be hypothesized that increased TB error rate is due to the increased size of the TBs themselves.
To further validate the hypothesis, all received TBs are grouped into 14 bins, i.e., zero to 70,000 bits with a step size of 5,000 bits, according to their size. The TB error rate for blocks in each bin is calculated.
In the mobile experiment, the UE is moved along two indoor and two outdoor trajectories at a speed of two (2) m/s. Each trajectory is repeated 10 times, with varying offered loads from the server, and the RSRP range observed when moving along each trajectory is recorded. The TB error rate is calculated for each offered load.
Accurate determination of congested cell status requires that a UE be aware of the instantaneous carrier aggregation configuration. The following description shows non-limiting examples of how the carrier aggregation tracking ability of embodiments of the invention, e.g., NG-Scope, can be used in commercial LTE networks.
Understanding how carrier aggregation affects data delivery provides insights for designing an LTE-compatible congestion control algorithm that utilizes embodiments of the invention. Therefore, the following description shows how data are load-balanced over different cells to the UE with carrier aggregation. In this experiment, the UE is static. LTE aggregates three cells (cell one as a primary cell, cell four as a secondary cell, and five as a tertiary cell) for the UE. A remote server sends UDP traffic at different speeds to the UE for five seconds, then the number of data bits each cell tower delivers to the UE is counted and the average transmitted data rate of each cell is calculated. For comparison, the received data rate from the socket interface of the UE is also recorded.
Returning to
In the following description, it is investigated how competing traffic affects load balancing. In a non-limiting experiment, a server transmits data to a Samsung S8 with a constant offered load of 40 Mbit/s and another server transmits to a Xiaomi MIX3 with offered load varying from 30 Mbit/s to 60 Mbit/s (each for five seconds) and stopping for four seconds between each transmission. The two phones connect to the same primary cell (20 MHz) but different secondary and tertiary cells (if applicable). Specifically, the network aggregates a 10 MHz secondary and a 5 MHz tertiary cell for Samsung S8, and a 10 MHz secondary cell Xiaomi MIX3.
In
From this experiment, it is demonstrated that the impact of competing traffic in one cell (shown in graph 2900a for the S8 and graph 2905a for the MIX3) could propagate to other cells via carrier aggregation. Such a cross-cell traffic correlation makes the resource allocation of each cell highly dynamic, resulting in significant link capacity variations. With the fine-grain information provided by embodiments of the invention, the UE can track these variations and make responsive actions.
Capacity Tracking with CLAW
The following description compares the accuracy of an example embodiment of the invention's (“NG-Scope”) capacity tracking with CLAW. CLAW implements a capacity tracker based on MobileInsight. Differently from NG-Scope, MobileInsight reports the PRB allocation for a single user, not the full PRB usage of the entire base station. CLAW, therefore, proposes to estimate the PRB usage based on the power measurements reported by MobileInsight, with the intuition that higher utilization results in higher received power. An evaluation of the performance of CLAW's PRB estimation and capacity estimation was performed.
Two mobile users associated with the same base station (20 MHz and 100 PRBs) were put at one indoor and one outdoor location. CLAW was implemented on both mobile devices and logged the estimation of the PRB utilization of every subframe. NG-Scope implementing devices were co-located with CLAW users for comparison. Another three NG-Scope implementing device were deployed at three different locations to estimate the PRB usage of the same base station and extract the PRB usage of subframes where four NG-Scope devices have exactly the same decoding results, as the ground truth.
Additionally, graph 3001 shows that on average, CLAW has an RMS capacity error of 31 Mbit/s, which is 3.3 more than that of NG-Scope's 9.2 Mbit/s. The indoor CLAW user has a larger PRB error, but a similar capacity error due to its lower signal strength.
The follow description compares an example embodiment of the invention's performance with BurstTracker on the task of detecting whether the cellular link is the bottleneck of a connection. The cellular link becomes the bottleneck when all the bandwidth of the base station is fully utilized. BurstTracker is a dedicated tool built atop of MobileInsight for such a task. MobileInsight reports only the PRB allocation for the mobile device it is implemented on and, as such, MobileInsight cannot be directly applied to determine the bottleneck. To bypass such a constraint, BurstTracker makes a hypothesis about the base station's resource allocation algorithm, namely, that a cell tower allocates all the bandwidth to one user in one subframe, evoking the TDMA. However, the experimental results produced a different phenomenon. Specifically, from
The capacity of an end-to-end connection is required by ABR algorithms of video streaming applications and video codecs of videotelephony applications, to perform real-time video resolution selection. These systems either rely on the capacity reported by the transport layer protocols or directly derive the capacity based on coarse-grained historical statistics about video delivery at the application layer and, thus, cannot track the fast varying capacity in cellular networks. The detailed capacity information provided by embodiments of the invention can be utilized to improve the function of the ABR algorithms and video codecs.
Embodiments of the invention can be used to perform network telemetry at the mobile devices. Alternative embodiments can collect the millisecond-granular capacity information at the base station. For any end-to-end applications, the base station is a third-party, so the telemetry data collected by the base station cannot be trusted without proper authentication. Building an authentication system between the base station and every end-to-end application that runs atop of it involves significant overhead. Transmitting the telemetry data from the base station back to the mobile devices, however, incurs tremendous communication overhead. For example, if one would like to update the capacity at the same frequency as embodiments of the invention provides, then the base station has to send 1000 messages to each mobile user every second. Even if the frequency is lowered to every 20 ms (which results in delayed reactions), the base station still needs to transmit 50 messages per second per user. Considering the number of UEs a base station serves, the total number of messages the base station sends will be quite large. Based on the above analysis, performing telemetry at the mobile devices is a better choice, at the cost of slightly increased computation overhead for each mobile user.
Some embodiments of the invention focus on decoding the control channel of the cellular network that adopts FDD in its physical layer. The main difference between TDD and FDD is the frame architecture. Specifically, FDD uses separate frequencies for uplink and downlink channels, while TDD leverages the same frequency band for both uplink and downlink. It is noted that the structure of downlink subframes where the physical control channel resides is identical in TDD and FDD. Therefore, embodiments of the invention are directly applicable to TDD for decoding control messages and monitoring capacity.
The design of the physical control channel changes with evolution of the cellular network architecture, from 4G LTE to 5G and 5G beyond. For example, the physical control channel of 5G NR and 4G LTE differs in the following three aspects: (i) 5G NR encodes the physical control messages using polar codes instead of convolutional code, (ii) the location of the control channel inside each subframe does not follow the configuration of 4G LTE as shown in
However, two important design choices of the physical control channel still remain in the 5G NR and will keep staying in the 3GPP standards for the foreseeable future. First, 5G NR does not encrypt the control messages they transmit so that each mobile user is capable of decoding all the control messages if they choose to. Secondly, 5G NR carries the ID of the mobile devices, i.e., the C-RNTI, inside the control message via XOR-ing it with the CRC. According to the above disclosure, with necessary customization to cope with the changes in the 5G control channel, embodiments of the invention are able to decode all the control messages inside the control channel of the 5G network and associate each decoded message with its ID. Based on the decoded 5G control messages, embodiments of the invention are, therefore, capable of estimating the 5G network capacity, as demonstrated for 4G LTE.
Embodiments of the invention set new benchmarks for accuracy in mobile cellular network monitoring and enable the development of dramatically improved congestion control algorithms and applications that respond more effectively to fluctuations in the wireless channel.
In one embodiment, the processor routines 92 and data 94 are a computer program product (generally referenced 92), including a computer readable medium (e.g., a removable storage medium such as one or more DVD-ROM's, CD-ROM's, diskettes, and tapes) that provides at least a portion of the software instructions for the system. Computer program product 92 can be installed by any suitable software installation procedure, as is well known in the art. In another embodiment, at least a portion of the software instructions may also be downloaded over a cable, communication and/or wireless connection. In other embodiments, the programs are a computer program propagated signal product 75 embodied on a propagated signal on a propagation medium (e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s)). Such carrier medium or signals provide at least a portion of the software instructions for the routines/program 92.
In alternate embodiments, the propagated signal is an analog carrier wave or digital signal carried on the propagated medium. For example, the propagated signal may be a digitized signal propagated over a global network (e.g., the Internet), a telecommunications network, or other network. In one embodiment, the propagated signal is a signal that is transmitted over the propagation medium over a period of time, such as the instructions for a software application sent in packets over a network over a period of milliseconds, seconds, minutes, or longer. In another embodiment, the computer readable medium of computer program product 92 is a propagation medium that the computer system 50 may receive and read, such as by receiving the propagation medium and identifying a propagated signal embodied in the propagation medium, as described above for computer program propagated signal product. Generally speaking, the term “carrier medium” or transient carrier encompasses the foregoing transient signals, propagated signals, propagated medium, storage medium and the like. In other embodiments, the program product 92 may be implemented as a so-called Software as a Service (SaaS), or other installation or communication supporting end-users.
The teachings of all patents, published applications and references cited herein are incorporated by reference in their entirety.
While example embodiments have been particularly shown and described, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the embodiments encompassed by the appended claims.
This application claims the benefit of U.S. Provisional Application No. 63/235,248, filed on Aug. 20, 2021. The entire teachings of the above application are incorporated herein by reference.
This invention was made with government support under Grant No. CNS-1617161 awarded by the National Science Foundation. The government has certain rights in the invention.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/075224 | 8/19/2022 | WO |
Number | Date | Country | |
---|---|---|---|
63235248 | Aug 2021 | US |