Content uploaded by Prasenjit Maiti
Author content
All content in this area was uploaded by Prasenjit Maiti on Nov 03, 2018
Content may be subject to copyright.
Mathematical Modeling of QoS-Aware Fog
Computing Architecture for IoT Services
Prasenjit Maiti ∗, Jaya Shukla, Bibhudatta Sahoo, and Ashok Kumar Turuk
Abstract The fog computing approach has come up as a distributed mechanism
for capturing of data, its further processing and allocation of resources associated
with the Internet of Things(IoT). The IoT services require several Quality of Ser-
vice(QoS) parameters such as bandwidth utilization, resource provisioning, energy
consumption, service delay, etc. A new architecture for fog computing based on QoS
parameters has been designed. A distributed solution for Cloud-IoT has been pre-
sented where data is distributed optimally amongst several fog nodes/mini-clouds.
The Virtual Machines(VMs) located in the edge devices are facilitated by these
distributed fog nodes/mini-clouds to take care of IoT traffic. However, very little re-
search has been done on designing any QoS aware architecture for fog computing.
The mathematical formulation for the presented model has also been proposed and
hence the performance analysis of the system is shown in terms of the QoS metrics.
Prasenjit Maiti
National Institute of Technology, Rourkela,Odisha-769008,India
e-mail: pmaiti1287@gmail.com
Jaya Shukla
National Institute of Technology, Rourkela,Odisha-769008, India
e-mail: jayashukla2192@gmail.com
Bibhudatta Sahoo
National Institute of Technology, Rourkela,Odisha-769008, India
e-mail: bibhudatta.sahoo@gmail.com
Ashok Kumar Turuk
National Institute of Technology, Rourkela,Odisha-769008, India
e-mail: akturuk@nitrkl.ac.in
∗Corresponding author.
1
2 Prasenjit Maiti, Jaya Shukla, Bibhudatta Sahoo, and Ashok Kumar Turuk
1 Introduction
The Internet of Things (IoT) depict a major change in data management. Real-time
data management is associated with distributed objects and their associated smart
sensors. Smart sensors data needs to be stored and retrieved efficiently on demand
for IoT services. IoT devices are growing rapidly and it is anticipated that about
50 billion devices will be deployed in 2020. Existing cloud solution provides ser-
vices for a large amount of data. But in some scenarios it can face limitations due to
increased traffic of the entire network and thus delay in processing the services. Dif-
ferent IoT services such as Health-care, Face Recognition, Military, disaster man-
agement require real-time response with very low latency. To overcome this prob-
lem, a new architecture needs to be proposed and thus, fog computing emerged to
take care of these challenges. Fog computing is a concept that provide services at
the network edge and involves smart Gateways name Fog Smart Gateways(FSG).
Fog nodes are deployed in the network near the users to handle the services. In this
architecture the data is processed locally before sending it to the cloud. The major
issues and challenges of architecture design for edge-centric IoT services are dis-
covering fog nodes, data caching, partitioning and offloading tasks using fog nodes
publicly and securely. Due to constrained resources , resource discovery and re-
source allocation are the challenges of architecture design which meets the Quality
of Service (QoS) and Service Level Agreement (SLA). Fog node controller play a
major role for identify the best candidate for placement a fog node and IoT services
according to the resource availability. Sensor data virtualization is a requirement for
IoT services that allows an application to retrieve and manipulate data with live data
discovery and monitoring. Service allocation or service scheduling of all services to
minimize the delay for each service allocation is done by considering both resource
availability and the devices condition. To provide an efficient service, service nodes
placement, service nodes selection, and service placement with a balanced and ef-
ficient pairing or matching strategy in a sensor-virtualization environment for edge
nodes which is crucial for achieving Service Level Agreement (SLA) and Quality
of Services (QoS). Containers handle processing of IoT traffic hosted by distributed
fog nodes.Only a few literature are available for edge centric architecture design for
IoT services with above parameters. There is a need to develop an efficient architec-
ture that reduces service response time, overall network traffic and is economically
feasible.
The rest of the paper has been organized in the following manner. The related
work has been mentioned in section 2 that describes the pre-requisites for the work.
Section-3 describes the details of fog computing architecture and mathematical
model. Section-4 presents QoS metrics of fog computing architecture. Section-5
gives the conclusion of the work presented in the paper.
Mathematical Modeling of QoS-Aware Fog Computing Architecture for IoT Services 3
2 Related Work
A Sensor-Fog architecture provides a platform to the users to easily provide ser-
vices. Bonomi et al. [1] proposed fog computing as a distributed, highly virtualized
platform that provides storage, compute and networking services. A fog network is
a collection of fog nodes and each fog node resides in any edge devices like router,
switch, base station, access point, gateway or smart phone. Three-layer architec-
ture has been proposed by many researchers that includes devices as end points, fog
nodes present at the network edge and cloud data centers. Depending on the def-
inition, the fog nodes may be a router in the core network, a switch in the WAN,
and even a wireless Access Points(APs) and smart phones are included in the fog
layer. A smart gateway has been proposed as a fog node in [2], [3], the proposal
of micro data centers in [4], or proposing fog nodes that serve as caches in a In-
formation Centric Networking in [5]. Fog nodes as mini-clouds proposed by [6],
[7]. Now, the key aspect is where fog nodes are located. Locating the fog nodes in
various highly capable devices like smart gateways or routers has been proposed by
some of the authors as in [2], [3], [4], [8]. Bonomi et al. [9], [10], [11] proposed
intermediate compute nodes as fog nodes which has no dependency on specific de-
vices. Tang et al. [7] recommended using three layers of fog computing to carry
out big data analytics in the smart cities. In [12] a different application has been
explained that shows the application of the fog computing in an industrial environ-
ment. It implements fog computing in Cisco edge routers asoriginally proposed by
Cisco in [13]. Abdullahi et al. [5] and Skala et al. [6] proposed routers as a candi-
date for deployment of fog nodes. An interesting example has been given in [14]
that describes sharing the computation resources present in a smart phone only in
case when they are connected to the grid but the approach is not sufficient enough
for scenarios that are highly demanding. In this paper[15] author discussed that fogs
are not limited anymore to either execute a task or forward it to the cloud, but also to
communicate with other fogs to process the job request. This minimizes the overall
network delay. Distributed cloud data centers with the facility of data replication
have been developed by Kumar et al. [16] that are referred to as mini-clouds. A
Fog-to-Cloud architecture was introduced by Masip-Bruin et al. [17] that consisted
of a layered structure for management integrating into a hierarchical architecture
the various heterogeneous layers of fog. Souza et al. [18] proposed a QoS- aware
service distribution strategy in Fog-to-Cloud scenarios. A low delay service allo-
cation has been aimed in the work by the use of service atomization that involves
decomposition of services into separate sub-services known as atomic services that
enables the parallel execution. The Fog-to-Cloud architecture comprises a control
plane that distributes various atomic services to the edge nodes available. The pro-
cess of service allocation aims at reduction of delay during service allocation, pro-
vision of load balancing and balancing of usage of energy among the fogs. Also,
the position of deployment of fog node may lead to reduction in the network traffic.
An optimal strategy for placement of mini-cloud has been proposed by Narendra et
al. [19] that aims at minimization of latency during collection of data from the IoT
devices and its migration onto the mini-clouds to address issues concerning storage
4 Prasenjit Maiti, Jaya Shukla, Bibhudatta Sahoo, and Ashok Kumar Turuk
capacity along with access latency minimization. The work described in [20] shows
lower application latency as well as higher utilization of server though the strategy
used for deployment by individual network operator and cities’ geographic speci-
fications decides the best approach. Most of the research issues in fog computing
[21],[22],[23], [24], the service latency , network traffic and power consumption are
reduced by fog computing architecture. Luan et al. [25] and Hong et al. [26] de-
scribed the concept of fog computing as mobile fog and showed that mobile users
can use fog computing to improve QoS, reduce bandwidth and energy consumption,
end to end delay and network traffic. But, there is no consideration where to deploy
or place the fog nodes. A fog node has capability to run multiple Virtual Machines
(VMs) on its own physical machine. The VMs can be flexible placed in fog network,
based on the traffic distribution and moving pattern of mobile users. Dynamic fog
node placement in fog network systems incurs a significant cost on latency, energy
and bandwidth consumption of the network links.
3 Fog Computing Architecture and Mathematical Model
In our architecture (Figure 1) , the IoT service network consists of four layers. The
task of processing and aggregation of data produced by IoT devices is performed by
the networking elements present in the architecture.
Cloud
IGW-1 IGW-2 IGW-3 IGW-4 IGW-5 IGW-k
...
SSGW-1 SSGW-2 SSGW-3 SSGW-p
CD-1 CD-2 CD-3 CD-4
...
CD-h
...
Sensors
IGW-6 IGW-7
Tier-1 Tier-2 Tier-3 Tier- 4
Fig. 1 Edge Centric Architecture for IoT Services
(a) Tier 1: This is the ground-level layer encompassing all the smart sensor nodes
(SSNs) that are assigned unique IPv6 addresses, suitably compressed according to
the 6LoWPAN protocol and form a mesh network. SSN is a collection of sensors
and actuators. SSN sense environmental data and send to the upper layer. There can
be instructions from the upper layer to the actuator to perform an action. IoT de-
vices or IoT nodes is a collection of SSN (mobile phones,smart vehicles, and smart
meters etc.). SSN are distributed uniformly at random . A coordinate value is as-
Mathematical Modeling of QoS-Aware Fog Computing Architecture for IoT Services 5
signed to each SSN. A CD is known differently in different networks namely Cluster
Head(CH) in sensor networks, Access Point(AP) in WiFi networks and Reader in
Radio-Frequency Identification(RFID) network etc. Sis a set of nnumber of static
smart sensor nodes distributed uniformly at random in the area of p×q. A SSN
denoted by χ∈S, is defined as a eleven-tuple.
χ=<Sid ,Sst ,Smax v,Smin v,St s,Se,Sl,Sh,Scid ,Sk,SB>
Sid is representing the unique IP address of the sensor. A status of a SSN, Sst
is represented by a boolean value Sst ={0,1}, which defines the sensor node is in
active state(value 0) or dead state (value 1). The maximum and minimum value that
sensor can return(in the appropriate SI unit)is described by Smax vand Smin v.Sts
represents time in millisecond when the sensor value sends. One SSN can sense
multiple environment events. Seand Slindicate the type of event and node location
of a SSN. The tuple Shexpress the specifications of a SSN which includes its hard-
ware details. Skrepresents the encryption key. SBrepresents the battery level of a
SSN. If the value of SBis less than the threshold value then SSN close its commu-
nication. Scid indicates the cluster id of a SSN. SSNs send data to the CD.CD is a
set of coordinating devices. Each CD have a certain transmission range rcd. The IoT
network consists of different technologies(RFID,ZigBee,Bluetooth,BLE,802.11 a/g
,WiFi etc.). T L is a set of technologies which are associated with CDs.
(b) Tier 2: CDs need to transmit their data to the Internet for efficient execution
of their corresponding applications. This transmission of data is facilated by device
known as Solution Specific Gateways(SSGW ) or IoT Gateway(IGW ) . SSGW is
a set of solution specific gateway and Gis a set of IoT gateway (I GW) . rsg is a
range of each SSGW . Wireless Mesh Network is as close as it can get to the IoT
network with one fundamental difference. All gateway in a wireless mesh network
support the same set of technologies whereas SSGW in IoT support different sets of
technologies. SSGW is describe by three typle.
SG =<SGid ,SGd[m],SGs p >
Each SSGW has unique IP address. SGid represents ID of a SSGW. Each SSGW
maintains a neighbor list that records the connected CDs. SGd[m]is non-empty 1D
array of size m which stores the IDs of connected CDs. SGsp dictates the hardware
specification like processor,memory, wireless communication technologies involved
such as RFID,ZigBee,Bluetooth,WiFi etc.
(c) Tier 3: This layer consists of set of edge devices, such as gateway, router,
switch etc. A Fog Node(FN) is placed within an IGW specific to a geographic
location and other IGW is served by the co-located FN. FNs are capable of load
balancing and service orchestration. A Fog device , Fd, represent by the three tu-
ple. Each fog device id Fid is different from each other. The type (such as gateway,
router,switch etc.) of the fog computing device represented by F
ty pe.Fsp is the hard-
ware specification of the device. An IoT service SEIoT is defined as a four-tuple.The
service is the main motivation of the IoT.
6 Prasenjit Maiti, Jaya Shukla, Bibhudatta Sahoo, and Ashok Kumar Turuk
SEIoT =<SEid ,SEt ype ,SEsp ,SEreq >
Each instance of the IoT service must have a unique identification. SEidis the
service ID. The purpose has to be specified by the IoT service i.e. its functionality
as well as its responsibilities. A set of operations that may be provided to the test of
IoT services defines the functionality of the service. SEty pe type denotes the purpose
of use for the service (such as finance, medical, entertainment, utility, education, and
gaming). The particulars of base framework required for running of application that
includes the memory, processor, and operating system is managed by the SEs p.SEreq
is the resource requirement(such as bandwidth, computation capability, storage) to
run a service. An application A is represent as a three-tuple which is running at the
end of a user.
A=<Aid,Asreq >
Aid is the unique ID of an application.REQ is a set of requests from the users. Asreq
is an user request for a particular service.
(d) Tier 4: The cloud computing layer is top-most layer. Several physical servers
are comprised within a data center and there exists a high bandwidth link to the Inter-
net from each physical server and an interconnection of high speed LAN-network.
Each IGW conneted to a cloud data center by a wired network. The cloud computing
environment is with number of heterogeneous physical hosts in a data center.
4 QoS Metrics
4.1 Service latency
The service delay is the requested transmission delay and processing delay. We as-
sume that the communication delay between SSNs is considered insignificant. Let
∆cd sg and ∆sg igw,∆igw s f g be the delays in transmission of a data packet from
a CD to the corresponding SSGW, from a SSGW to the corresponding IGW, and
from IGW to a smart fog gateway respectively. ηsg,ηigw , and ηs f g are the process-
ing latency of SSGW, IGW and smart fog gateway for a data packet. Thus, the mean
transmission latency, σs f g , for the data packets of reqirequest running within mciis
given by
σs f g =∆cd sg µ+∆sg igw θ+∆igw s f gτ+ηsg µ+ηigw θ+ηs f gτ(1)
where, µ,θ, and τ(µ>θ>τ)are the total number of packets sent by CD,
SSGW , and IGW.
Mathematical Modeling of QoS-Aware Fog Computing Architecture for IoT Services 7
4.2 Energy consumption
Since the energy consumed by the data from CD to SSGW and from the SSGW to
IGW is represented by λcd sg and λsg igw , respectively.λigw s f g is the energy expan-
sion from the IGW to the intelligent fog gateway for unit byte data transfers. The
energy demand to process unit byte of data within the SSGW ,gateway, and smart
fog gateway are represented by ωsg,ωigw, and ωs f g respectively. Total energy con-
sumption of a data packet is transmission energy and processing energy of a data
packet. The rate of energy dissipation of a data packet represent as
ξ(t) =
λcd sg
h
∑
i=1
p
∑
j=1
γi,j+λsg igw
p
∑
i=1
k
∑
j=1
αi,j+λigw s f g
k
∑
i=1
t
∑
j=1
βi,j!+
ωsg
h
∑
i=1
p
∑
j=1
γi,j+ωigw
p
∑
i=1
k
∑
j=1
αi,j+ωs f g
k
∑
i=1
t
∑
j=1
βi,j!
(2)
where γi,j,αi,jand βi,j(γi,j>αi,j>βi,j)be the total number of bytes being
transmitted from cdito sgj,sgito igw j, and igwito s f g jat time t.
5 Conclusion and Future Work
With the rapid growth of IoT services; service management, QoS, SLA is becom-
ing a critical issues. Efficient and in time scheduling and management of resources,
minimum energy consumption and service latency not only allows Fog nodes to
perform according to the situations, but also, helps customer satisfaction. In this pa-
per, we have presented a model for reduce service latency and energy consumption
through Fog computing. Our future work involve design an architecture based on
efficient resource utilization , service composition and orchestration , and sensor
virtualization environment.
Acknowledgment
This research was supported by Media Lab Asia (Visvesvaraya Ph.D. Scheme for
Electronics and IT, Project Code-CSVSE) under the department of MeitY govern-
ment of India and carried out at Cloud Computing Research Laboratory, Department
of CSE, National Institute of Technology Rourkela, India.
8 Prasenjit Maiti, Jaya Shukla, Bibhudatta Sahoo, and Ashok Kumar Turuk
References
1. Bonomi, F., Milito, R., Zhu, J., Addepalli, S. : Fog computing and its role in the internet of
things. In: Proceedings of the first edition of the MCC workshop on Mobile cloud computing,
pp. 13-16, ACM, Helsinki, Finland (2012). doi:10.1145/2342509.2342513
2. Aazam, M., Huh, E. N. : Fog Computing and Smart Gateway Based Communication for Cloud
of Things. In: IEEE International Conference on Future Internet of Things and Cloud, pp.
464-470, IEEE, Barcelona (2014). doi: 10.1109/FiCloud.2014.83
3. Gia, T. N., Jiang, M., Rahmani, A. M., Westerlund, T., Liljeberg, P., Tenhunen, H. :
Fog Computing in Health-care Internet of Things: A Case Study on ECG Feature Ex-
traction. In: IEEE International Conference on Computer and Information Technology;
Ubiquitous Computing and Communications; Dependable, Autonomic and Secure Com-
puting; Pervasive Intelligence and Computing, pp. 356-363, IEEE, Liverpool (2015). doi:
10.1109/CIT/IUCC/DASC/PICOM.2015.51
4. Aazam, M., Huh, E. N. : Fog Computing Micro Datacenter Based Dynamic Resource
Estimation and Pricing Model for IoT. In: IEEE 29th International Conference on Advanced
Information Networking and Applications, pp. 687-694 , IEEE, Gwangiu (2015). doi:
10.1109/AINA.2015.254
5. Abdullahi, I., Arif, S., Hassan, S. : Ubiquitous Shift with Information Centric Network
Caching Using Fog Computing. In: Computational Intelligence in Information Systems.
Advances in Intelligent Systems and Computing, vol. 331, pp. 327-335 , Springer (2014). doi:
org/10.1007/978-3-319-13153-5-32
6. Skala, K., Davidovic, D., Afghan, E., Sojat, Z. : Scalable Distributed Computing Hierarchy:
Cloud, Fog and Dew Computing. In: Open Journal of Cloud Computing (OJCC), Vol. 2, Issue
1 , pp. 16-24, (2015).
7. Tang, B., Chen, Z., Hefferman, G., Wei, T., He, H., Yang, Q. : A Hierarchical Distributed
Fog Computing Architecture for Big Data Analysis in Smart Cities. In: Proceedings
of the ASE BigData and Social Informatics, , ACM , Kaohsiung, Taiwan (2015). doi:
10.1145/2818869.2818898
8. Rahmani, A., Thanigaivelan, N., Gia, T., Granados, J., Negash, B., Liljeberg, P., Tenhunen, H. :
Smart eHealth Gateway: Bringing Intelligence to Internet-of-Things Based Ubiquitous Health-
care Systems. In: 12th Annual IEEE Consumer Communications and Networking Conference
(CCNC), pp. 826-834, IEEE, Las Vegas, USA (2015). doi: 10.1109/CCNC.2015.7158084
9. Bonomi, F. : The Smart and Connected Vehicle and the Internet of Things.
10. Bonomi, F., Milito, R., Zhu, J., Addepalli, S. : Fog Computing and Its Role in the Internet of
Things. In: Proceedings of the first edition of the MCC workshop on Mobile cloud computing,
pp. 13-16, ACM, Helsinki, Finland (2012). doi: 10.1145/2342509.2342513
11. Bonomi, F., Milito, R., Natarajan, P., Zhu, J. : Fog Computing: A Platform for Internet
of Things and Analytics. In: Bessis N., Dobre C. (eds) Big Data and Internet of Things: A
Roadmap for Smart Environments, vol. 546 , pp. 169-186, Springer (2014).
12. Gazis, V., Leonardi, A., Mathioudakis, K., Sasloglou, K., Kirikas, P., Sudhaakar, R. : Com-
ponents of Fog Computing in an Industrial Internet of Things Context. In: 12th Annual IEEE
International Conference on Sensing, Communication, and Networking - Workshops (SECON
Mathematical Modeling of QoS-Aware Fog Computing Architecture for IoT Services 9
Workshops), pp. 1-6, IEEE, Seattle, USA(2015). doi: 10.1109/SECONW.2015.7328144
13. Cisco Fog Computing Solutions: Unleash the power of the Internet of Things
htt p ://www.cisco.com/c/dam/enus/solut ions/trends/iot/docs/com puting −solutions.pd f
14. Busching, F., Schildt, S., Wolf, L. : DroidCluster: Towards Smartphone Cluster Computing-
The Streets are Paved with Potential Computer Clusters. In: 32nd International Conference on
Distributed Computing Systems Workshops (ICDCSW), pp. 114-117, IEEE, Macau, China
(2012). doi: 10.1109/ICDCSW.2012.59
15. Masri, W., Ridhawi, I. A., Mostafa, N., Pourghomi, P. : Minimizing delay in IoT systems
through collaborative fog-to-fog (F2F) communication. In: 9th IEEE International Conference
on Ubiquitous and Future Networks (ICUFN), pp. 1005-1010,IEEE, Milan (2017). doi:
10.1109/ICUFN.2017.7993950
16. Kumar, A., Narendra, N. C., Bellur, U. : Uploading and Replicating Internet of Things (IoT)
Data on Distributed Cloud Storage. In: IEEE 9th International Conference on Cloud Comput-
ing (CLOUD), pp. 670-677,IEEE, San Francisco, CA (2016). doi: 10.1109/CLOUD.2016.0094
17. Masip-Bruin, X., Marn-Tordera, E., Tashakor, G., Jukan, A., Ren, G. J. : Foggy clouds
and cloudy fogs: a real need for coordinated management of fog-to-cloud computing sys-
tems. In: IEEE Wireless Communications, vol. 23, no. 5, pp. 120-128 ,IEEE(2016). doi:
10.1109/MWC.2016.7721750
18. Souza, V. B., Masip-Bruin, X., Marin-Tordera, E., Ramirez, W., Sanchez, S. : Towards
Distributed Service Allocation in Fog-to-Cloud (F2C) Scenarios. In: IEEE Global Com-
munications Conference (GLOBECOM), pp. 1-6, IEEE, Washington, DC (2016). doi:
10.1109/GLOCOM.2016.7842341
19. Narendra, N. C., Koorapati, K., Ujja, V. : Towards Cloud-Based Decentralized Storage for
Internet of Things Data. In: IEEE International Conference on Cloud Computing in Emerging
Markets (CCEM), pp. 160-168, IEEE, Bangalore (2015). doi: 10.1109/CCEM.2015.9
20. Malandrino, F., Kirkpatrick, S., Chiasserini, C. F. : How Close to the Edge? Delay/Utilization
Trends in MEC. In: Proceedings of the ACM Workshop on Cloud-Assisted Networking, pp.
3742, ACM, CA, USA (2016).
21. Hu, P., Ning, H., Qiu, T., Zhang, Y., Luo, X. : Fog Computing Based Face Identification and
Resolution Scheme in Internet of Things. In: IEEE Transactions on Industrial Informatics, vol.
13, no. 4, pp. 1910-1920 , IEEE (2017). doi: 10.1109/TII.2016.2607178
22. Chen, N., Chen, Y., You, Y., Ling, H., Liang, P., Zimmermann, R. : Dynamic Urban
Surveillance Video Stream Processing Using Fog Computing. In: 2nd IEEE International
Conference on Multimedia Big Data (BigMM), pp. 105-112, IEEE, Taipei (2016). doi:
10.1109/BigMM.2016.53
23. Brogi, A., Stefano, F. : QoS-aware Deployment of IoT Applications Through the Fog.
In: IEEE Internet of Things Journal, vol. 4, no. 5, pp. 1185-1192, IEEE (2017). doi:
10.1109/JIOT.2017.2701408
24. Sarkar, S., Misra, S. : Theoretical modelling of fog computing: a green computing paradigm
to support IoT applications. In: IET Networks, vol. 5, no. 2, pp. 23-29, IEEE (2016). doi:
10.1049/iet-net.2015.0034
10 Prasenjit Maiti, Jaya Shukla, Bibhudatta Sahoo, and Ashok Kumar Turuk
25. Luan, T. H., Gao, L., Li, Z., Xiang, Y., Wei, G., Sun, L. : Fog computing: Focusing on mobile
users at the edge (2015). In: arXiv preprint arXiv:1502.01815
26. Hong, K., Lillethun, D., Ramachandran, U., Ottenwlder, B., Koldehofe, B. : Mobile fog:
A programming model for large-scale applications on the internet of things. In: SIGCOMM
workshop on Mobile cloud computing, pp. 15-20, ACM , Hong Kong, China (2013). doi:
10.1145/2491266.2491270