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.
[1]
Charles Anderson,et al.
Docker
,
2015,
IEEE Softw..
[2]
David Lillethun,et al.
Mobile fog: a programming model for large-scale applications on the internet of things
,
2013,
MCC '13.
[3]
김병기,et al.
Xen 가상머신에서 실시간 게스트 도메인들의 효율적인 자원할당 기법
,
2011
.
[4]
Iain Robertson.
テクノロジー活用最前線 プライベートクラウドを作る「OpenStack」 ネット、ストレージも統合 完全自動化で構築を迅速化
,
2015
.
[5]
Luis Rodero-Merino,et al.
Finding your Way in the Fog: Towards a Comprehensive Definition of Fog Computing
,
2014,
CCRV.
[6]
Paramvir Bahl,et al.
The Case for VM-Based Cloudlets in Mobile Computing
,
2009,
IEEE Pervasive Computing.
[7]
Suman Banerjee,et al.
ParaDrop: a multi-tenant platform for dynamically installed third party services on home gateways
,
2014,
DCC '14.
[8]
Qun Li,et al.
Fog Computing: Platform and Applications
,
2015,
2015 Third IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb).