New Features

RRC State Inference

By installing MobiPerf, you can help us determine various network configuration parameters (the RRC state machine parameters) and help us understand how they affect the quality of your network connection.

When using a cellular data connection (such as 3G or 4G LTE), your phone switches between different states:  there are high-power states, that can transmit data immediately, and lower-power states, which save your battery life but for which there are delays when starting a network connection.  To balance performance with battery life, when and how your phone transitions between these states can be calibrated by your carrier. We want to measure these states from as wide a variety of carriers and devices as possible in order to understand how they are implemented in the real world.

Here, you can see an example of two different RRC state machines for 3G.  For the first one, you start out in the IDLE state - a low-power state.  When you send or receive any data, you need to transition to a higher power state to send anything at all (in the case of the one on the left, to DCH).  There is a delay in doing so.  Once you are in DCH you experience high bandwidth, but a lot of power is consumed.  So after you have been idle for some time, you switch to FACH.  You can still transmit in FACH, but you experience less bandwidth.  On the other hand, less power is consumed.  If you transmit data above a certain threshhold, your phone switches back to DCH.  Finally, if no data is transmitted for 12 seconds, you fall back to IDLE.

Here the latencies of packets for one carrier and different packet sizes can be seen as we pass through different RRC states, from DCH (high-power and low-latency) to FACH to IDLE.  In FACH, the latencies for small packets (i.e. small amounts of data) are low, but they are much higher when large amounts of data are transmitted.

 Here we can see how power consumption varies as we pass through different RRC states - this time we start out in IDLE before going through DCH, FACH and Idle again.

In previous work, we have discovered that how the RRC state timers are configured can have a significant impact on performance, and how these timers can interact negatively with various application types, especially those that stream data. Measuring these states and their impact on latency for a wide variety of carriers and devices, we hope to be able to better understand the impact of these RRC states as they are implemented today.  We hope to soon be able to provide specific information about RRC states and their impact on performance.

Another writeup on the topic, as well as another RRC test, can be found here.  Our test, as it runs on the phone, can account for background traffic and the network type connected to, as well as take measurements at a finer granularity.

For more technical details, please refer to our previous papers:

A Close Examination of Perfomance and Power Characteristics of 4G LTE Networks [pdf]
Characterizing Radio Resource Allocation for 3G Networks  [pdf]