|
|
1
|
\section{design}
|
|
|
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
To meet smartphone users' expectations, it is necessary to design systems
that can accurately measure and understand QoE, and make decisions based on QoE.
%
A QoE-centric OS must continuously prioritize resources based on their effect
on QoE, which requires the OS to not only quantify QoE, but understand which
tasks contribute to it.
%
Given the multi-threaded nature of modern apps, the complexity of the systems
they run on, and the operating system's vantage point, this is a challenging
task.
%
Unlike approaches like AppInsight~\cite{appinsight-osdi2012} that requires app
instrumentation, or QoE Doctor~\cite{qoe-doctor-imc14} which involves human
intervention, using QoE to do continuous resource prioritization for all apps
on all devices requires the ability to measure QoE on unmodified apps and
without developer participation.
|
|
|
18
|
|
|
|
19
20
|
As principle, if a user is waiting for something, priority should be given to
any task that contributes to that end. This priority must extend across
|
|
|
21
|
multiple shared components, such as CPUs, disks, networks, and batteries.
|
|
|
22
23
|
%
To achieve this goal, the OS must be designed in such a way that gives it
|
|
|
24
|
the visibility it currently lacks into how its actions will affect QoE.
|
|
|
25
26
|
%
To further improve QoE for apps that use the network, this visibility should
|
|
|
27
28
|
extend past the device and into the network so priority can be given to
QoE-sensitive network traffic.
|
|
|
29
30
31
32
33
|
Once the OS is equipped with information about how its actions will affect
QoE, that information can be used as feedback that will enable the OS to improve
user experience. Without, the OS is limited to policies that aim to improve QoE,
but lack a sufficient way to evaluate these policies.
|
|
|
34
35
36
37
|
%
The design of QoE-centric operating systems may require deep and fundamental
changes in order to measure QoE, understand its effect on various components,
and use that information as feedback to improve it.
|