Fog Computing Project

Highly Programmable Fog Computing Across Heterogeneous Computing Devices in Software-Defined Networks

In cloud computing, minions refer to virtual or physical machines that have lot of computing, memory and data resources. Minions carry out the actual workloads. Minions in the cloud usually hide in far-away data centers, which are vulnerable to insufficient bandwidth, long latency, and high product cost rate. Hence, cloud computing is less friendly to multimedia applications or the applications in intermittent Internet. Recently, fog computing paradigm pushes minions toward edge networks. We adopt a generalized definition, which minions may be owned by the crowds. Such fog paradigm provides the resources closer to the users and reduces the cost. Unfortunately, managing the minions in the fog is challenging, e.g., end devices may move into wireless dead-zones, run out of battery, or be turned off. These factors lead to severe uncertainty. In this project , we carefully solve five major problems:

  1. Using virtualization to split each application into smaller modules, then dynamically deploy them on devices which have enough resources
  2. Integrate multiple devices of limited computing resources which are in the edge network for complex data analysis
  3. Predicting the completion time of jobs by machine learning approaches, in order to design an optimal jobs distribution algorithm
  4. Build system models based on diverse QoS levels and heterogeneous devices to facilitate the optimal deployment decisions for maximizing the number of satisfied jobs
  5. Providing flexible network connectivity to allow crowds sharing contents in challenged networks

Our research is fruitful in all five directions, leading to publications in prestigious journals (such as IEEE Transactions on Multimedia) and top conferences (such as IEEE CloudCom).


Heterogeneous devices

There are many kinds of fog devices, such as desktops, laptops, and smartphones owned by different fog workers, resulting in high heterogeneity. Implementing the fog computing platform that supports heterogeneous devices is challenging, because the actual configurations of the devices and inter-connected networks need to be carefully optimized. Furthermore, edge devices usually have limited resources, we have to split applications into smaller modules running on the devices. Let them collaborate among one another to fulfill the job.

Large amount of data

When the number of IoT devices is getting higher, the amount of data is also getting larger and larger. Because IoT devices usually have limited resources, sensor data tend to be sent to powerful data centers for processing. Sending large sensor data to the data centers may congest the networks and overload the data centers. To solve this problem, collaborating several IoT devices and pre-processing the data before transmitting them over the Internet are the keys. Therefore, how to analyze those sensor data and extract useful information is critical. Nowadays, such large amount of data is usually analyzed by Machine Learning (ML) approach, especially using Deep Learning (DL). However, DL is too complicated for a single IoT device. Hence, a platform supporting distributed analytics is required to solve the aforementioned issues.

Uncertainty of edge devices

Certain applications, such like animation rendering, require: (i) high computational power , (ii) large storage space for rendering inputs and results, (iii) well-connected communication channels for distributing jobs and collecting results, and (iv) on-device sensors to monitor resource utilization. Although our fog computing platform offers all these resources, fog devices are not fully controlled/owned by fog providers, which leads to high uncertainty and heterogeneity. For example, a laptop may be turned off, run out of batteries, or get into wireless dead-zone at any time, which leads to uncertainty. To cope with this problem, we have to predict the completion time and available resources, in order to schedule the jobs from fog users to fog devices/workers.

Different QoS of requests

To optimize a fog computing platform for supporting IoT analytics. Several challenges need to be carefully addressed. First, matching resource requirements with the available resources of fog devices is inherently computationally expensive. Moreover, the fog platform is shared by multiple IoT analytics with different target QoS levels, which also affect the resource requirements. Second, fog devices are heterogeneous, and may not be powerful enough to run a complex analytics application. We adopt graph processing as the programming model to build multi-operator IoT analytics. We solve the two challenges in the following solution. An efficient deployment algorithm for IoT analytics is developed to maximize the number of satisfied IoT analytics requests. The algorithm takes: (i) network bandwidth constraints, (ii) virtualization overhead, and (iii) required resource models into considerations. Our algorithm, tailored to address the challenges, is more general than the ones in earlier work.

Intermittent networks

We envision a distributed system, in which users gather the contents through ad-hoc networks and local proxies when they have Internet access. They later consume the content when the Internet access is not available. However, distributing contents among different users affects the tasks completion ratio. For example, distributing a popular multimedia content to the users who run into many other users results in higher task completion ratios. Hence, we solve the difficult problem of making an optimal content distribution plan for high dissemination efficiency.

Research Activities

Stream Processing of Software-Defined Video Analytics on a Smart Campus

by C. Hsieh, Y. Li, C. Hsu, Y. Kuo, C. Chen, C. Hsu, and J. Sheu

The demand for real-time video analytics is increasing due to the prosperity of surveillance cameras in smart spaces. In this extended abstract, we present our stream processing platform to dynamically deploy, manage, and upgrade softwaredefined video analytics. Our key innovation is to divide a smart space into multiple Internet-of-Things (IoT) zones. Each zone consists of a set of geo-collocated IoT devices, heterogeneous networks, and edge servers. By creating a hierarchical architecture of IoT zones, our distributed platform achieves better scalability and flexibility. We implement our stream processing platform using a set of opensource projects. We deploy it on a real testbed of eight smart street lamps on our campus, in which four surveillance cameras stream live videos to an edge server. The edge server runs multiple video analytics following the user demands, and the analytics results are stored in a time-series database for future usage. In this demo, we will demonstrate two sample video analytics: illegal parking detection and people counting. The conference attendees will get to navigate through our Web user interface for various operations, e.g., selecting surveillance cameras, rewinding to earlier date/time, and visualizing analytics results in plots. We believe our demo will stimulate constructive discussion at the conference venue in this emerging research area.

View details »


Supporting Internet-of-Things Analytics in a Fog Computing Platform

by H. Hong, P. Tsai, A. Cheng, and C. Hsu

Modern IoT analytics are computational and data intensive. Existing analytics are mostly hosted in cloud data centers, and may suffer from high latency, network congestion, and privacy issues. In this paper, we design, implement, and evaluate a fog computing platform that runs analytics in a distributed way on multiple devices, including IoT devices, edge servers, and data-center servers. We focus on the core optimization problem: making deployment decisions to maximize the number of satisfied IoT analytics. We carefully formulate the deployment problem and design an efficient algorithm, named SSE, to solve it. Moreover, we conduct a detailed measurement study to derive system models of the IoT analytics based on diverse QoS levels and heterogeneous devices to facilitate the optimal deployment decisions. We implement a testbed to conduct experiments, which show that the system models achieve reasonably good accuracy. More importantly, 100% of the deployed IoT analytics satisfy the QoS targets. We also conduct extensive simulations for larger scale scenarios. The simulation results reveal that our SSE algorithm outperforms a state-of-the-art algorithm by up to 89.4% and 168.3% in terms of the number of satisfied IoT analytics and active devices. In addition, our SSE algorithm reduces CPU, RAM, and network resource consumptions by 18.4%, 12.7%, and 898.3%, respectively, and terminates in polynomial time.
View details »


Distributed Analytics in Fog Computing Platforms Using Tensorflow and Kubernetes

by P. Tsai, H. Hong, A. Cheng, and C. Hsu

Modern Internet-of-Things (IoT) applications pro- duce large amount of data and require powerful analytics approaches, such as Deep Learning to extract useful information. Existing IoT applications transmit the data to resource-rich data centers for analytics. However, it may congest networks, overload data centers, and increase security vulnerability. In this paper, we implement a platform, which integrates resources from data centers (servers) to end devices (IoT devices). We launch distributed analytics applications among the devices without sending everything to the data centers. We analyze challenges to implement such a platform and carefully adopt popular open- source projects to overcome the challenges. We then conduct comprehensive experiments on the implemented platform. The results show: (i) the benefits/limitations of distributed analytics, (ii) the importance of decisions on distributing an application across multiple devices, and (iii) the overhead caused by different components in our platform.
View details »


Disseminating multi-layer multimedia content over challenged networks

by H. Hong, T. El-Ganainy, C. Hsu, K. Harras, and M. Hefeeda

Mobile devices are getting increasingly popular all over the world. Mobile users in developing countries, however, rarely have Internet access, which puts them at economic and social disadvantages compared to their counterparts in developed countries. We propose mBridge: a distributed system to disseminate multimedia content to mobile users with intermittent Internet access and opportunistic ad-hoc connectivity. By disseminating various multimedia content, such as news reports, notification messages, targeted advertisements, movie trailers, and TV shows, mBridge aims to eliminate the digital divide. We formulate an optimization problem to compute personalized distribution plans for individual mobile users, to maximize the overall user experience under various resource constraints. Our formulation jointly considers the characteristics of multimedia content, mobile users, and intermittent networks. We present an efficient distribution planning algorithm to solve our problem, and we develop several online heuristics to adapt to the system and network dynamics. We implement a prototype system and demonstrate that our algorithm outperforms the existing algorithms by up to 206%, 472% and 188% in terms of user experience, disk efficiency, and energy efficiency, respectively. In addition, we conduct trace-driven simulations to rigorously evaluate the proposed system in different environments and for large-scale deployments. Our simulation results demonstrate that the proposed algorithm substantially outperforms the closest ones in the literature in all performance measures. We believe that mBridge can allow multimedia content providers to reach out to more mobile users, and mobile users to access multimedia content without always-on Internet access.
View details »


Animation rendering on multimedia fog computing platforms

by H. Hong, J. Chuang, and C. Hsu

Modern distributed multimedia applications are resource-hungry, and they often leverage on-demand cloud services to reduce their expenses. Existing cloud services deploy many servers in a few data centers, which consume a lot of electricity to power up and cold down, and thus are expensive and environmentally unfriendly. In this paper, we present a multimedia fog computing platform that utilizes resources from public crowds, edge networks, and data centers to serve distributed multimedia applications at lower costs. We use animation rendering as a case study, and identify several challenges for optimizing it on our multimedia fog computing platform. Among these challenges, we focus on the problem of predicting the completion time of each rendering job. We propose an efficient algorithm based on state-of-the-art machine learning algorithms. We also fine-tune the algorithm using multi-fold cross-validation for higher prediction accuracy. With real datasets, we conduct trace-driven simulations to quantify the performance of our prediction algorithm and that of the whole platform. The simulation results show that our proposed algorithm outperforms a state-of the-art statistical model in several aspects: completed job ratio by 20%, makespan by 2 times, and normalized deviation by 30 times, on average. Moreover, the overall performance of the platform with our proposed algorithm is fairly close to that with an Oracle of the actual job completion time: a small factor of 1.48 in terms of makespan is observed.
View details »


Dynamic module deployment in a fog computing platform

by H. Hong, P. Tsai, and C. Hsu

Several applications, such as smart cities, smart homes and smart hospitals adopt Internet of Things (IoT) networks to collect data from IoT devices. The incredible growing speed of the number of IoT devices congests the networks and the large amount of data, which are streamed to data centers for further analysis, overload the data centers. In this paper, we implement a fog computing platform that leverages end devices, edge networks, and data centers to serve the IoT applications. In this paper, we focus on implementing a fog computing platform, which dynamically pushes programs to the devices. The programs pushed to the devices pre-process the data before transmitting them over the Internet, which reduces the network traffic and the load of data centers. We survey the existing platforms and virtualization technologies, and leverage them to implement the fog computing platform. Moreover, we formulate a deployment problem of the programs. We propose an efficient heuristic deployment algorithm to solve the problem. We also implement an optimal algorithm for comparisons. We conduct experiments with a real testbed to evaluate our algorithms and fog computing platform. The proposed algorithm shows near-optimal performance, which only deviates from optimal algorithm by at most 2% in terms of satisfied requests. Moreover, the proposed algorithm runs in real-time, and is scalable. More precisely, it computes 1000 requests with 500 devices in < 2 seconds. Last, the implemented fog computing platform results in real-time deployment speed: it deploys 20 requests < 10 seconds.
View details »


  1. H. Hong, P. Tsai, and C. Hsu, “Dynamic module deployment in a fog computing platform,” in Proc. of Asia-Pacific Network Operations and Management Symposium (APNOMS’16), Kanazawa, Japan, October 2016, Best Paper Award. 
  2. H. Hong, J. Chuang, and C. Hsu, “Animation rendering on multimedia fog computing platforms,” in Proc. of IEEE International Conference on Cloud Computing Technology and Science (CloudCom’16), Luxembourg City, Luxembourg, December 2016.
  3. H. Hong, T. El-Ganainy, C. Hsu, K. Harras, and M. Hefeeda. Disseminating multi-layer multimedia content over challenged networks.IEEE Transactions on Multimedia, page Accept to appear, 2017.
  4. P. Tsai, H. Hong, A. Cheng, and C. Hsu, “Distributed Analytics in Fog Computing Platforms Using Tensorflow and Kubernetes,” in Proc. of Asia-Pacific Network Operations and Management Symposium (APNOMS’17), Seoul, Korea, September 2017 (Accepted to appear.)
  5. H. Hong, P. Tsai, A. Cheng, and C. Hsu, “Supporting Internet-of-Things Analytics in a Fog Computing Platform,” in Proc. of IEEE International Conference on Cloud Computing Technology and Science (CloudCom’17), Hong Kong, China, December 2017. (Under review.)
  6. C. Hsieh, Y. Li, C. Hsu, Y. Kuo, C. Chen, J. Sheu, and C. Hsu, “Demo: Stream Processing of Software-Defined Video Analytics on a Smart Campus”, in Proc. of IEEE International Conference on Big Data Intelligence and Computing (dataCom’19), Demo Session, November, 2019 (Accepted to appear.)


    • Dynamic module deployment in a fog computing platform

    • Fog Computing Platform


National Tsing Hua University, HsinChu, Taiwan

  • Cheng-Hsin Hsu (Professor)
  • Hua-Jun Hong (Ph.D. Student)
  • Pei Hsuan Tsai (Graduate Student)
  • Zhu-Tong Huang (Graduate Student)
  • Yu-Rong Wang (Graduate Student)
  • Yu-Chen Hsieh (Graduate Student)
  • An-Chieh Zheng (Undergraduate Student)
  • Guan-Wei Chen (Undergraduate Student)
  • Jo-Chi Chuang (Undergraduate Student)


  • Nalini Venkatasubramanian (Professor), University of California, Irvine
  • Yusuf Sarwar (Postdoctoral), University of California, Irvine
  • Guoxi Wang (Ph.D. Student), University of California, Irvine
  • Qiuxi Zhu (Ph.D. Student), University of California, Irvine

Contact us

More details can be found here.