вход по аккаунту



код для вставкиСкачать
Short Course
WebMedia’17, October 17-20, 2017, Gramado, RS, Brazil
Using Mobile Cloud Computing for Developing Context-Aware
Multimedia Applications
A Case Study of the CAOS Framework
Fernando Trinta
Federal University of Ceará
Fortaleza, Ceará, Brazil
Paulo A. L. Rego
Federal University of Ceará
Quixadá, Ceará, Brazil
Lincoln Rocha
Francisco A. A. Gomes
Federal University of Ceará
Fortaleza, Ceará, Brazil
José N. de Souza
Federal University of Ceará
Fortaleza, Ceará, Brazil
Federal University of Ceará
Fortaleza, Ceará, Brazil
Mobile cloud computing (MCC) and context-aware computing
(CAC) are research topics in growing evidence. The former seeks to
leverage cloud computing features to improve the performance of
mobile applications and reduce the energy consumption of mobile
devices, while the latter seeks effective ways to build applications
that react to changes in its context environment. This short-course
aims at presenting main concepts, solutions, and technologies related to the integration of MCC and context-aware applications.
We will present different motivational scenarios, examples of applications, as well as a practical guide to the development of a
context-aware multimedia Android application using the framework CAOS. In addition, we will highlight research challenges and
opportunities that come with such integration.
Mobile Devices such as smartphones and tablets have become important tools for daily activities in modern society. These devices
have improved their processing power due to faster processors,
increased storage resources and better network interfaces. Mobile
devices have also been gradually equipped with a plethora of sensors that gathers data from the user’s environment (e.g., location).
One challenge for mobile and distributed computing is to explore
the changing environment where mobile devices are inserted with
a new kind of mobile application that take benefits from features of
their dynamic environment. These new kind of systems are called
context-aware applications.
Nowadays, context management and inferences are becoming
complex processes, as the amount of data increases and new algorithms are being proposed [9]. In this scenario, cloud services
can offer an interesting option by taking on more intensive context
management tasks and performing these tasks only once for multiple users. However, since most contextual information is sensed
and captured by mobile devices themselves, it is not always clear
whether it is wise to send all the sensor data to the cloud for a
remote processing or perform the whole processing of contextual
data locally by the mobile device. These trade-offs depend on factors such as the amount of data being transferred and the type of
processing that is required. According to [12], the Mobile Cloud
Computing paradigm, from a context-sensitive perspective, can be
seen as a promising field of research that seeks to find effective
ways of doing service in Cloud-aware applications and clients.
Offloading is the main research topic in MCC [8] and represents
the idea of moving data and computation from mobile devices
with scarce resources to more powerful machines [13]. There are
several opportunities where computation and data offloading can
bring improvements to context-aware mobile applications as well
as multimedia applications. Some scenarios include: (i) devices
with low processing power can use the cloud to act on their behalf
(e.g., rendering images or videos) [5], (ii) it would be possible to
leverage cloud resources to save energy by delegating tasks away
from mobile devices [3], and (iii) to save data storage from mobile
In order to understand different approaches, concepts, and challenges about the integration between Mobile Cloud Computing
• Human-centered computing → Ubiquitous and mobile computing; • Software and its engineering → Development frameworks and environments; Distributed systems organizing principles; • Information systems → Retrieval on mobile devices;
Mobile Cloud Computing, Context-Aware Computing, Framework
ACM Reference format:
Fernando Trinta, Paulo A. L. Rego, Francisco A. A. Gomes, Lincoln Rocha,
and José N. de Souza. 2017. Using Mobile Cloud Computing for Developing
Context-Aware Multimedia Applications. In Proceedings of Brazilian Symposium on Multimedia and the Web, Gramado, Rio Grande do Sul Brazil, October
2017 (Webmedia’17), 4 pages.
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for profit or commercial advantage and that copies bear this notice and the full citation
on the first page. Copyrights for components of this work owned by others than ACM
must be honored. Abstracting with credit is permitted. To copy otherwise, or republish,
to post on servers or to redistribute to lists, requires prior specific permission and/or a
fee. Request permissions from
Webmedia’17, October 2017, Gramado, Rio Grande do Sul Brazil
© 2017 Association for Computing Machinery.
ACM ISBN 978-1-4503-5096-9/17/10. . . $15.00
Short Course
WebMedia’17, October 17-20, 2017, Gramado, RS, Brazil
Webmedia’17, October 2017, Gramado, Rio Grande do Sul Brazil
Trinta, F. et al.
(MCC) and Context-Aware Computing (CAC), this short-course is
proposed as an opportunity to disseminate and improve the understanding of the target audience regarding the union of these
two themes. To the best of our knowledge, until the writing of this
document, there were no similar initiatives on the subject in any
major symposium or conferences in Brazil. We will use a framework developed by the GREat research group 1 , called CAOS [10],
which is a software platform for the development of context-aware
mobile applications based on the Android platform. CAOS supports
both data and computing offloading, i.e., it enables the migration
of computation and contextual data from mobile devices to cloud
The integration of cloud services is an increasingly trend in
several areas. This short-course aims to present how this integration
for the domain of context-aware applications can be done, focusing
mainly on multimedia applications.
Mobile Cloud Computing
Mobile cloud computing is a new paradigm that incorporates three
heterogeneous technologies (mobile computing, cloud computing,
and networking) and aims to reduce the limitations of mobile devices by taking advantage of ubiquitous wireless access to local
and public cloud resources. The idea is to leverage such resources
to host the execution of mobile applications and augment mobile
devices computing capabilities, conserve local resources, extend
storage capacity, and enrich the computing experience of mobile
There is no consensus on the definition of MCC. According to Shiraz et al. [17], MCC is “the latest practical computational paradigm
that extends the vision of utility computing to cloud computing to
increase the limited resources of mobile devices”. Sanaei et al. [14]
define MCC as a “rich mobile computing technology that uses unified elastic features of various cloud and network technologies with
unrestricted functionality, storage and mobility to serve a multitude of mobile devices anywhere, anytime through the channel
Ethernet or Internet, regardless of heterogeneous environments
and platforms based on the principle pay-as-you-use”. According to
these definitions, we can point out that the MCC model is mainly
composed of three elements: mobile devices, wireless networks, and
remote servers, where mobile devices use wireless technologies to
leverage remote servers to execute their compute-intensive tasks.
There are several research topics related to MCC, but the main
theme among them is offloading, which can be of two types: data and
computation [8]. Offloading is a technique to migrates processing
or data from mobile devices to other infrastructure with greater
computing power and storage, in order to increase performance
and reduce the energy consumption of mobile devices. The concept
of offloading, also referred as cyber foraging, appeared in 2001 [15]
and was improved in 2002 [1].
Several research questions arise regarding the offloading technique, such as: how, when, where and why it should be performed.
Regarding “where”, the literature mentions the following alternatives: a public cloud, a cloudlet, another mobile device, or a hybrid
environment composed of two or more of the ones mentioned. A
cloudlet can be seen as an execution environment (e.g., desktop or
laptop) that interacts with mobile devices in the same WLAN in
which the devices are connected to [16]. The advantage of running
on cloudlet is because, in general, WLANs have higher speeds and
lower latency over other wireless networks. It is also important to
notice that offloading is different from the traditional client-server
model, where a thin client always delegates the responsibility to
perform the processing to remote servers. The other questions will
also be discussed in the short-course.
2.1 Context-Aware Computing
Context-aware applications have the ability to discover and react to
changes according to the context which it is inserted. The most cited
definition of context is any information that can be used to characterize the situation of an entity. An entity is a person, place or object
that is considered relevant to the interaction between a user and
an application, including the user and applications themselves [7].
For instance, one example of context-awareness application is a
location-based game that provides information about environment
and researchers from each laboratory where the user is visiting,
which it provides information and different features according to
contextual information of location, profile and user preferences and
device features.
The ability to reduce battery power consumption of mobile devices is a context-awareness benefit. Components responsible for
capturing contextual information can be installed and started according to the interest of applications and stopped when they are
not required anymore. However, there are several challenges for
context-aware mobile apps, such as limited power, bandwidth, and
storage; richness in context sources; complex device architectures;
security, privacy, and trust issues.
Context-awareness is a property present in ubiquitous systems
that has received considerable attention over the years. In particular, context management infrastructures to facilitate the development and execution of context-aware applications are an important
topic [2, 4]. These infrastructures (e.g., middlewares and frameworks) provide mechanisms for applications to capture contextual
information from the environment, aggregate sensor data, and to
infer high-level knowledge about user’s situation. These mechanisms allow software engineers to accelerate the development of
context-aware applications since they reduce the development complexity or make it transparent. Frequently, these infrastructures
are based on a thin client/server architecture, in which the user’s
mobile device performs none or few context management tasks.
An important drawback is that these infrastructures are not adaptable, in a sense that they do not adapt the mechanisms they use to
capture, process and provide context information [6].
The Context Acquisition and Offloading System (CAOS) is a software platform to help the development of mobile context-aware
applications based on the Android platform, which provides offloading mechanisms to delegate the migration and processing of
contextual data from mobile devices into cloudlets and public cloud
CAOS is based on two solutions developed by the GREat/UFC
research group: (1) LoCCAM (Loosely Coupled Context Acquisition
Short Course
WebMedia’17, October 17-20, 2017, Gramado, RS, Brazil
Using MCC for Developing Context-Aware Multimedia Applications
(1) Contextualization: This part will present the short-course
motivation, its primary and secondary objectives, i.e., presenting different approaches, concepts, and challenges regarding the integration between mobile cloud computing
and context-aware computing;
(2) Theoretical Background: The second part will introduce
basic concepts related to the main themes of the short-course,
namely mobile cloud computing and context-aware computing;
(a) Context-Aware Computing: This part will focus on theoretical basis related to the development of context-aware
mobile applications. Main concepts, scenarios, solutions,
business models and associated technologies will be briefly
described. The focus is to address the features of contextaware computing for the development of mobile applications;
(b) Mobile Cloud Computing: It will address basic concepts
related to the MCC theme. It will be briefly described the
history and evolution of the theme, main concepts and
associated technologies, solutions, scenarios, and motivations for the use of computational and data offloading
technique. The focus is to address the advantages of using
MCC for the development of mobile applications.
(c) Integration between MCC & CAC: At this point, scenarios and examples of solutions that use MCC and contextaware computing will be presented, focusing on the development of mobile applications. The goal is to indicate how
mobile cloud computing can enrich context-aware mobile
applications by improving its performance or increasing
its storage capacity.
(3) (Context-Aware and Offloading System - CAOS): We
will present CAOS framework in two parts:
(a) CAOS overview: A detailed description of CAOS architecture and its main components will be presented, as well
as some of the results obtained with its use in different
applications and scenarios.
(b) CAOS Study Case: Practical details of how to use the
framework CAOS will be presented and discussed. Shortcourse attendees will have the opportunity to develop
a context-aware multimedia application for the Android
platform, called MyPhotos. Such an application has similar functionalities of Instagram App 5 , which allows users
to apply filters to their photos and share them on social
networks. In MyPhotos, users may also apply filters, but
also share their photos and tag them with hashtags, to
make it easier to search them, and then retrievable for
other users. In addition, photos can be tagged with contextual information such as location and time (date/time) at
which they were captured. The CAOS server, running in a
cloudlet, will allow MyPhotos to recommend hashtags for
photos with similar context.
(4) Trends and Research Challenges: This last part, we intend to debate with the audience about main research challenges and open issues, concerning the integration of Mobile
Cloud Computing and mobile Context-Aware applications.
Middleware) [11], a middleware that helps context-aware applications developers get information from sensors, as well as to separate
questions related to contextual information acquisition from the
applications business logic; and (2) MPoS (Multiplatform Offloading
System) [5], a service-oriented architecture that enables Android
and Windows Phone developers to mark methods on their applications using annotations, in order to identify which methods can be
transferred to cloud servers instead of being executed on mobile
The offloading granularity of CAOS is based on methods, and
it relies on a traditional client/server architecture, where mobile
devices act as clients for services running on top of cloud/cloudlets
infrastructures. CAOS has services to:
• Perform the discovery of cloudlets running on the same
Wi-Fi network where the mobile devices are connected to;
• Dynamically decide when a method must be offloaded;
• Maintain a local cache of context information;
• Synchronize contextual data between mobile devices and
cloudlets/cloud platforms following different data offloading
strategies; among others.
Various technologies were used in the CAOS project. The Couchbase (a NoSQL database) was adopted to maintain a cache of context
information on mobile devices. The Bouncy Castle2 encryption API
was chosen to improve the CAOS wireless communication security. The Java Constrained Application Protocol3 was adopted to
achieve the standardization level requested by the project sponsor.
The Android X864 operating system was virtualized on VirtualBox
instances to execute the offloaded methods. Besides that, we also
used PostgreSQL, MongoDB, Apache TomCat, and the frameworks
Jersey and Hibernate.
Webmedia’17, October 2017, Gramado, Rio Grande do Sul Brazil
This short-course aims at presenting concepts and state of the
art on Mobile Cloud Computing and Context-Aware Computing
and discussing the possibilities of integration between them to
develop context-aware multimedia applications. Different concepts,
scenarios, and approaches will be presented to highlight advantages
of using cloud services for resource constrained mobile devices.
Also, challenges and research opportunities for combining MCC
and context-aware mobile applications will also be presented.
The short-course will be mostly theoretical, but it will have a
practical bias, with the presentation of scenarios and examples
of solutions used in GREat/UFC labs, especially the CAOS framework [10]. We will detail the CAOS infrastructure, its services, and
features, as well its programming model. Applications developed
previously by GREat/UFC will be presented, and a case study will
be developed during the short-course. This case study explores
the development of an image processing application, similar to
the well-known Instagram application, with the use of contextual
In order to present the challenges mentioned above in a didactic
way, the short-course has the following organization:
Short Course
WebMedia’17, October 17-20, 2017, Gramado, RS, Brazil
Webmedia’17, October 2017, Gramado, Rio Grande do Sul Brazil
Trinta, F. et al.
A strong trend for context-aware mobile applications is that in the
future such applications will use large amounts of unstructured
data from a variety of contextual information sources in order to
infer a user’s current situation, and consequently offer adaptations
to improve users’ quality of experience.
Cloud services and techniques such as data and processing offloading represent interesting opportunities to surpass obstacles
that new scenarios proposed by context-aware mobile applications
demand. This short-course aims at presenting how the integration
between these two application domains (Mobile Cloud Computing
and Context-Aware Computing) could be better made. As we also
present the CAOS framework, we seek to present a practical view of
this integration, in order to complement the theoretical background
presented to the short-course’s attendees.
Fernando Trinta holds a PhD degree from
Federal University of Pernambuco (2007).
He is an adjunct professor at the Computer
Science Department - Federal University of
Ceará since 2011. He works mainly in the
areas of Multimedia, Software Engineering
and Distributed Systems. Currently, his research is focused on Mobile Cloud Computing, Context-Aware Computing and Fog
Paulo A. L. Rego holds a PhD in Computer
Science from the Federal University of Ceará
(UFC) since 2016. He is currently an adjunct
professor at UFC - Campus Quixadá. He
works in the area of Computer Science, with
emphasis on Computer Networks and Distributed Systems. His main research interests
include Mobile and Cloud Computing, Edge
and Fog Computing.
[1] Rajesh Balan, Jason Flinn, M. Satyanarayanan, Shafeeq Sinnamohideen, and HenI Yang. 2002. The case for cyber foraging. In Proceedings of the 10th workshop
on ACM SIGOPS European workshop (EW 10). ACM, New York, NY, USA, 87–92.
[2] Matthias Baldauf, Schahram Dustdar, and Florian Rosenberg. 2007. A survey
on context-aware systems. Int. J. Ad Hoc Ubiquitous Comput. 2, 4 (jun 2007),
[3] Marco V Barbera, Sokol Kosta, Alessandro Mei, and Julinda Stefa. 2013. To Offload
or Not to Offload? The Bandwidth and Energy Costs of Mobile Cloud Computing.
In Proc. of IEEE INFOCOM, Vol. 2013.
[4] Claudio Bettini, Oliver Brdiczka, Karen Henricksen, Jadwiga Indulska, Daniela
Nicklas, Anand Ranganathan, and Daniele Riboni. 2010. A survey of context
modelling and reasoning techniques. Pervasive Mob. Comput. 6, 2 (apr 2010),
[5] Philipp B. Costa, Paulo A. L. Rego, Lincoln S. Rocha, Fernando A. M. Trinta, and
Jose N. de Souza. 2015. MpOS: A Multiplatform Offloading System. In Proceedings
of the 30th Annual ACM Symposium on Applied Computing (SAC ’15). ACM, New
York, NY, USA, 577–584.
[6] Keling Da, Marc Dalmau, and Philippe Roose. 2011. A Survey of Adaptation
Systems. International Journal on Internet and Distributed Computing Systems 2,
1 (Nov 2011), 1–18.
[7] Anind K. Dey. 2001. Understanding and Using Context. Personal Ubiquitous
Computing 5, 1 (2001), 4–7.
[8] Niroshinie Fernando, Seng W. Loke, and Wenny Rahayu. 2013. Mobile cloud
computing: A survey. Future Generation Computer Systems 29, 1 (2013), 84 – 106.
[9] Francisco AA Gomes, Windson Viana, Lincoln S Rocha, and Fernando Trinta.
2016. A Contextual Data Offloading Service With Privacy Support. In Proceedings
of the 22nd Brazilian Symposium on Multimedia and the Web. ACM, 23–30.
[10] Francisco A. A. Gomes, Paulo A. L. Rego, Lincoln Rocha, José N. de Souza, and
Fernando Trinta. 2017. CAOS: A Context Acquisition and Offloading System.
COMPSAC (2017).
[11] Marcio E. F. Maia, Andre Fonteles, Benedito Neto, Romulo Gadelha, Windson
Viana, and Rossana M. C. Andrade. 2013. LOCCAM - Loosely Coupled Context
Acquisition Middleware. In Proceedings of the 28th Annual ACM Symposium on
Applied Computing (SAC ’13). ACM, New York, NY, USA, 534–541.
[12] Nayyab Zia Naqvi, Davy Preuveneers, and Yolande Berbers. 2013. Cloud Computing: A Mobile Context-Awareness Perspective. Springer London, London, 155–175.
[13] Paulo A L Rego, Philipp B Costa, Emanuel F Coutinho, Lincoln S Rocha, Fernando AM Trinta, and Jose N de Souza. 2016. Performing computation offloading on multiple platforms. Computer Communications (2016). https:
[14] Z. Sanaei, S. Abolfazli, A. Gani, and R. Buyya. 2014. Heterogeneity in Mobile Cloud
Computing: Taxonomy and Open Challenges. Communications Surveys Tutorials,
IEEE 16, 1 (First 2014), 369–392.
[15] M. Satyanarayanan. 2001. Pervasive computing: vision and challenges. Personal
Communications, IEEE 8, 4 (2001), 10–17.
[16] Mahadev Satyanarayanan, P. Bahl, R. Caceres, and N. Davies. 2009. The Case
for VM-Based Cloudlets in Mobile Computing. Pervasive Computing, IEEE 8, 4
(2009), 14–23.
[17] M. Shiraz, A. Gani, R.H. Khokhar, and R. Buyya. 2013. A Review on Distributed
Application Processing Frameworks in Smart Mobile Devices for Mobile Cloud
Computing. Communications Surveys Tutorials, IEEE 15, 3 (2013), 1294–1313.
Francisco A. A. Gomes holds a Master degree from the Federal University of Ceará.
He is currently a PhD student. He works in
the area of Software Engineering applied to
Ubiquitous Computing. His main research
interests are: Mobile Computing and MCC.
Lincoln Rocha holds a PhD in Computer
Science from Federal University of Ceará
(2013). He is currently a professor at the same
university and has experience in the area of
Software Engineering. His man research interests include Mobile and Ubiquitous Computing, Context-Aware Computing and Internet of Things.
José N. de Souza holds a PhD degree at
Pierre and Marie Curie University (PARIS
VI/MASI Laboratory), France, since 1994. He
is currently working as a researcher full professor at the Federal University of Ceará in
the Computer Science Department, and is
IEEE senior member. Since 1999, he has been
the Brazilian representative at the IFIP TC6.
His main research interests are Cloud Computing and Network Management.
Без категории
Размер файла
3 208 Кб
3126858, 3131635
Пожаловаться на содержимое документа