Preface

Dijiang Huang     Tempe, Arizona, USA

Huijun Wu     San Francisco, CA, USA

A Little History

The project of working on a research-oriented book on mobile cloud computing has been laid out since 2010, when the first author was awarded the Office of Naval Research (ONR) Young Investigator Program (YIP) award for working on a research project on how to establish a secure mobile cloud computing system. The main task of the YIP award was to develop a secure and robust mobile cloud computing system to support trustworthy mission-critical Mobile Ad Hoc Networks (MANET) operations and resource management in terms of communication, networking, storage, computation, and security. The primary focus of the project was to develop a secure mobile cloud computing infrastructure to host and manage all these resources.

The project encountered a very interesting research issue on how to manage mobile and cloud resources in a more coherent and systematic way. To this end, our research group has been looking into mobile cloud computing research, particularly in computation workload offloading. Inspired by earlier work such as CloneCloud [80] and Maui [89], our initial work focused on how to build a program transition system to provide real-time workload offloading. Towards this end, we adopted the OSGi [222] framework, which is a Java-based Service-oriented Architecture (SoA) that has been targeted at both Internet- and mobile-based application running environment. The initial work was mainly limited to one-on-one, i.e., from a mobile to a cloud server, computation workload offloading with the targeting goal of minimizing the battery's energy consumption on mobiles. Later, we expended the offloading models by considering one-to-many and many-to-many offloading, and the offloading entities that are not limited to cloud servers but also incorporate other mobiles or nearby computing devices. Additionally, we also developed new cost models considering communication/networking reliabilities and transmission overhead.

The offloading focused research for mobile cloud computing had attracted many researchers to present various mathematical models and software prototypes. To promote the research in mobile cloud computing, the first author worked with Professor Mario Gerla from University of California Los Angeles (UCLA) and started the Mobile Cloud Computing (MCC) workshop in conjunction with ACM Sigcomm 2012 and 2013. Later, the first author served as the Technical Committee (TPC) cochair for IEEE International Conference on Mobile Cloud Computing, Services, and Engineering (MobileCloud) in 2014 and served as a general cochair of the conferences in 2015 and 2016. My effort to lead the mobile cloud computing workshops and conferences is intended to bring together researchers, developers, and practitioners in current mobile computing and cloud computing from academia, industry, and service providers, to share ideas, experiences, and practical implementations related to new mobile cloud technologies and applications, and thus promote research efforts, attention from the research community, and initiate new mobile applications. For example, the 2014 IEEE MobileCloud conference had attracted research articles covering fairly broad research topics related to mobile cloud computing. The following figure presents the research areas that were covered by accepted articles published in the IEEE MobileCloud 2014.

Image

With the development of mobile cloud computing research, the focus had been shifted from mathematical workload offloading models to software systems that can really implement the research outcomes and demonstrate the benefits of offloading. Based on many year research and development efforts in mobile cloud computing, the first author has been motivated to provide a comprehensive view of the research and development that can be used by researchers and mobile cloud computing application developers.

It must be noted that the book has been greatly influenced by Huijun Wu's, the second author's, research and development during his PhD study at Arizona State University. Huijun joined my research group as a PhD student in 2011 and earned his PhD degree in 2016. Huijun's research work had been focused on mobile cloud computing, especially the new service models built on workload offloading and functions' composition in a mobile application running environment. In this book, Chapters 4 and 5 are mainly based on his PhD dissertation. Additionally, he had worked with the first author and put significant efforts to compose other chapters and appendices.

With the research and development since 2010 in the area of mobile cloud computing, we strongly feel that the original focus and definitions of mobile cloud computing have their limitations, where the term “mobile” is usually considered as a smart phone or a similar mobile device that have some level of computing, networking, and storage capabilities. When using Internet cloud computing infrastructures, the research is mainly focusing on how to utilize Internet cloud computing and storage resources to support mobile applications using smart phones as the interfaces allowing end users to interact with the cloud. We have witnessed the research and development trends of mobile cloud computing, which has been geared up to a new level due to the emerging mobile applications powered by Internet of Things (IoT), microservices, smart infrastructures, and data-driven applications, etc. Moreover, new networking and security models must be designed to support mobile cloud computing applications to meet application scenarios that have various integrated and interconnected models that we traditionally see with clearly separated boundaries. One of the main goals of this book is to systematically lay out the R&D history and new trends.

Audience

Our goal has been to create a book that can be used by a diverse audience, and with various levels of background. It can serve as a reference book for college students, instructors, researchers, and software developers who are interested in developing mobile cloud computing applications. It can serve as a good reference book for undergraduate and graduate courses focusing on mobile computing, cloud computing, computing networking, and applied cryptography. Specifically, we set out to create a book that can be used by professionals as well as students and researchers. In general, this is intended as a self-study. We assume that the reader already has some basic knowledge of computer, networking, and software-based service models. Among professionals, the intent has been to cover two broad groups: software developers, including mobile and web-based services, and cloud computing services, with the overall goal to bring out issues that one group might want to understand that the other group faces. For students, this book is intended to help learn about virtualization for cloud computing and networking in depth, along with the big picture and lessons from operational and implementation experience. For researchers, who want to know what has been done so far and what critical issues are to address for next generation cloud computing for IoT, smart cities, vehicular networks, etc., this is intended as a helpful reference. In general, this book has been intended as a one-stop treatise for all interested in mobile computing and cloud computing.

Organization and Approach

The organization of the book is summarized as follows:

In the first part of this book, we focus on the foundation of MCC. Particularly, we first present concepts of Mobile Cloud Computing (MCC) in Chapter 1, covering definitions, taxonomy, and applications of cloud computing, mobile computing, and mobile cloud computing. Their characters and differences are presented. Mobile platforms including iOS and Android are introduced and compared. Besides mobile platforms, cloud-based mobile service platforms are described. The computation offloading, which is the typical mobile cloud computing form, is described and similar composition and migration concepts are described and compared. The definition of “Mobile” in mobile cloud computing has also transited from its original meaning of a “Mobile Device” to “mobile capability/features.” In modern mobile devices involving services/applications, such as software, physical resource, location, service composition, etc., all can be “mobile” to meet a mobile cloud application's need. In this chapter, the definitions of CC, MC and MCC are discussed. The state of art mobile cloud computation offloading framework and decision strategies are presented as well.

To support such a mobility, virtualization is the most important enabling technology. Thus, in Chapter 2, we provide a comprehensive view of existing virtualization solutions to support such a mobility. This chapter focuses on virtualization concept and technologies including computation, network, and storage virtualization. Several computer-based virtualization classifications will be presented. The first virtualization approach is based on a computer internal process model. The second classification covers most of virtualization techniques at a different level of implementation within a computer. The third classification discusses two types of hypervisors. Besides computer-based virtualization, lightweight virtualization will be discussed as well, including Docker and OSGi. Mobile device virtualization is one special type of virtualization to be presented, including BYOD and KVM over ARM. Popular virtual networking protocols will be presented, including L2TP, PPP, VLAN, VXLAN, GRE, SSL, and IPSec. Two storage virtualization types, block store and file store, will be introduced as well.

Finally, in the first part, Chapter 3 presents a survey of existing MCC service models. We will first review cloud service models, including Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS), as well as their service examples. Then we will move to existing mobile cloud service models. We will discuss three scenarios, including mobile as service consumer, mobile as service provider, and mobile as service broker. For each scenario, we will present several use-case examples. In the end, we will discuss IoT that can connect an incredible diversity of devices and each device may serve a microservice that can be composed to a more complicated service.

In the second part of this book, we will focus on the current research and development of mobile cloud computing. In Chapter 4, we present a Personal On-demand Execution environment for Mobile cloud applications (POEM) [278] service framework to realize the functional collaboration feature. We will discuss design principles of user-centric mobile cloud computing. In addition, we will present POEM, i.e., a service offloading and composition mobile cloud system. The system design, implementation, and evaluation of the POEM system will be described in details. The POEM system leverages OSGi and XMPP techniques. The offloaded code is encapsulated in OSGi bundles and hosted in OSGi framework. The POEM system demonstrates three execution patterns, such as service discovery, service composition, and service offloading.

In Chapter 5, we provide detailed analysis and decision models on two-party (one-to-one) service offloading and multiparty (one-to-many and many-to-many) service offloading scenarios. This chapter will present several mobile cloud offloading models. Using them, the mobile cloud application is modeled as a directed acyclic graph where computation tasks as vertexes are connected by data channel as edges. The offloading objectives are usually saving mobile device energy or decreasing execution time. The offloading can be essentially modeled as an optimization problem. We will start from offloading to one virtual machine, then we will discuss offloading to multiple surrogate sites. In the end, we will present how to optimize the offloading objective in a continuous time domain.

In Chapter 6, several MCC application scenarios will be studied by focusing on how to use mobile cloud computing service offloading/composition approaches. We will first discuss the edge cloud concept and compare it with existing Internet clouds. We will then present examples of edge cloud platforms such as fog computing, Nebula, and FemtoClouds. In addition, we will present a mobile cloud computing service model based on microservices. The microservices solutions will be compared with existing SOA approaches. Micro-service architectural style will also be presented. In particular, a microservice pattern for IoT will be presented including microservices, API gateway, distribution, service discovery, containers, and access control. Three cases studies demonstrate microservices in three application scenarios: personal health management, smart building, and platooning of autonomous vehicles.

In the third part of this book, we will focus on security research and development in mobile cloud access control and Bring Your Own Device (BYOD) solutions. Particularly, in Chapter 7, we provide the foundation of ABAC, particularly, the presentation will focus on using Attribute-Based Encryption (ABE) as the building block to establish ABAC for mobile cloud computing. We will review the current state-of-the-art of ABE, present an ABAC reference model and the ABE-based ABAC realization. In addition, we will discuss how to use ABE for Information Centric Networking (ICN) naming scheme as a new mobile cloud computing networking solution. To manage attributes (or policies) across multiple administrative domains, we will present how to use an ontology-based attribute management scheme. Finally, we will present the secure computation offloading with ABE and a use-case study for an attribute-based data storage solution.

In Chapter 8, we present a resource isolation approach based on ARM architecture-based mobile devices. A BYOD solution based on KVM-based virtualization approach will be presented. The BYOD solution is implemented through KVM-based virtualization for ARM devices. Two essential components of this framework are hardware assisted virtualization and Open vSwitch. The presented BUOD solutions have three main features: (a) the host OS has hardware assisted virtualization enabled; (b) Open vSwitch is run on top of host platform; and (c) a guest OS can be booted using the bridged network provided by Open vSwitch. In the presented solution, an SDN remote controller can be used for managing and monitoring the network traffic, and achieve the functionality of an SDN network.

In addition to presented eight chapters in three partitions, four appendices are presented at the end of the book to cover additional learning materials related to the eight chapters, including an overview of mobile cloud resource management, our developed POEM mobile cloud programming and application running platform, the cryptographic constructions and proofs for attribute-based encryption schemes, and the BYOD implementation and guidance.

Bonus Materials and Online Resources

The book, in its printed form, has 8 chapters and 4 appendices, where additional support materials (for example, source codes and implementation instructions) for POEM and BYOD implementations are available at https://github.com/MobileCloudComputingCode and https://github.com/ankur8931/Secure-Mobile-SDN, respectively. The first site provides OSGi-based source codes of the implementation of POEM; and the second site provides source codes of the basic implementation of BYOD solution using KVM on ARM architecture. Both projects are open source and free for downloading.

Acknowledgment

The Secure Networking And Computing (SNAC) group is formed by graduate students who are working on various research and development projects in the areas of computer networking security, cloud computing security, applied cryptography, and IoT security, etc. SNAC hosts regular meeting for group members to share research results and discuss research issues. Many mobile cloud computing related work had been studied through SNAC meetings. The authors would like to thank all past and current SNAC members who had contributed to the research outcomes of our previous work. Special thanks to SNAC alumni: Bing Li (Google), Zhijie Wang (General Electric Research Laboratory), Chun-Jen Chung (Athena Network Solutions LLC), Tianyi Xing (Wal-Mart Research Lab), Zhibin Zhou (Huawei), Yang Qin (Facebook), Janakarajan Natarajan (AMD), Qingyun Li, Pankaj Kumar Khatkar (CAaNES), Zhenyang Xiong (Omedix), Ashwin Narayan Prabhu Verleker (Microsoft), Xinyi Dong (Amazon), Yunji Zhong (Microsoft), Kadne, Aniruddha (F5), Sushma Myneni (Microchip), Nirav Shah (Intel), Arasan Vetri (Garmin), Le Xu (Microsoft), Elmir Iman (Hassan 1st University, Morocco), Xiang Gu (Nantong University, China), Bo Li (Yunnan University, China), Zhiyuan Ma (UESTC, China), Weiping Peng (Henan Polytechnic University, China), Jin Wang (Nantong University, China), Aiguo Chen (University of Electronic Science and Technology, China), Jingsong Cui (Wuhan University, China), and Weijia Wang (Beijing Jiaotong University, China).

This book could not have been written without the days and nights hard-work from several SNAC members: particularly Bing Li and Janakarajan Natarajan who contributed their thesis work related to ICN, attribute-based naming, and ontology-based federation schemes; parts of BYOD solutions are derived from Ankur Chowdhary's thesis work; Duo Lu contributed his original thoughts of microservices for IoT, etc. The authors also gratefully thank other current SNAC members: Abdullah Alshalan, Sandeep Pisharody (MIT Licoln Lab), Yuli Deng, Adel Alshamrani, Qiuxiang Dong, Zeng Zhen, Bhakti Bohara, Shilpa Nagendra, Fanjie Lin, Oussama Mjihil (Hassan 1st University, Morocco), and Chunming Wu (Southwest University, China). One individual deserves special note – Sandeep Pisharody helped proof-read the entire book.

We are honored that Prof. Mario Gerla (UCLA) gladly accepted our request to write the foreword for this book. The first author also gratefully thanks him for his collaboration in organizing ACM MCC workshop and sharing research ideas of mobile cloud computing in the past few years.

The first author would like to thank the Office of Naval Research (ONR), the National Science Foundation, China Mobile, and HP for supporting his networking and security research.

The second author would like to thank SNAC members who had inspired him a lot through discussions, seminars, and project collaborations, and he would like to thank the following people for their valuable interactions: Chun-Jen Chung, Yuli Deng, Abdullah Alshalan, Ankur Chowdhary, Sandeep Pisharody, Duo Lu, Fanjie Lin, Weijia Wang, Bing Li, Zhijie Wang, Pankaj Kumar Khatkar, Tianyi Xing, Le Xu, Xinyi Dong, Yunji Zhong, Yang Qin, Bo Li, Zhiyuan Ma, Jingsong Cui. Over the years, many friends and colleagues have provided him very helpful suggestions, insightful comments, support and encouragement during his PhD journey. He would like to thank Yiming Jing, Guohua Hu, Yang Cao, Jingchao Sun, Shaobo Zhang, Xiaowen Gong, Mengyuan Zhang, Kerem Demirtas, Jane Perera, Wei Zhou, and Ahmet Altay.

It has been a pleasure to work with Brian Romer, Amy Invernizzi, and Charlotte Kent of Morgan Kaufmann Publishers/Elsevier. From the initial proposal of the book to final production, they provided guidance in many ways, not to mention the occasional reminders and patience due to our delay. We appreciate their patience with us during the final stages of the manuscript preparation.

Our immediate family members suffered the most during our long hours of being glued to our laptops. Throughout the entire duration, they provided all sorts of support, entertainment, and “distractions”:-) Dijiang would like to thank his wife, Lu, and their son Alexander and daughter Sarah, for love and patience, and for enduring this route. He would also like to thank his father Biyao and mother Zhenfen, brother Dihang for not being able to call them regularly and postponed several trips to China to have a family reunion. He would also like to acknowledge his family members, Shan and Yicheng. Finally, he would like to thank his many friends for numerous support.

Bibliography

[80] B.-G. Chun, S. Ihm, P. Maniatis, M. Naik, A. Patti, CloneCloud: elastic execution between mobile device and cloud, Proceedings of the Sixth Conference on Computer Systems. ACM; 2011:301–314.

[89] E. Cuervo, A. Balasubramanian, D. Cho, A. Wolman, S. Saroiu, R. Chandra, P. Bahl, MAUI: making smartphones last longer with code offload, Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services. ACM; 2010:49–62.

[222] Open Services Gateway initiative (OSGi), available at http://www.osgi.org/Main/HomePage Open Source.

[278] H. Wu, D. Huang, Y. Zhu, Establishing a personal on-demand execution environment for mobile cloud applications, Mobile Networks and Applications 2015;20(3):297–307.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset