Publications-Theses

Article View/Open

Publication Export

Google ScholarTM

NCCU Library

Citation Infomation

Related Publications in TAIR

題名 均質化物聯網運算架構設計與實作
Design and Implementation of Homogeneous IoT Computing Architecture
作者 廖尉辰
Liao, Wei Chen
貢獻者 劉文卿
Liu, Wen Qing
廖尉辰
Liao, Wei Chen
關鍵詞 物聯網
微服務
雲端運算
IoT
Microservice
Docker
Akka
Actor Model
日期 2016
上傳時間 9-Aug-2016 10:45:58 (UTC+8)
摘要 本研究之重點是解決物聯網的運算異質性。由於物聯網服務眾多,需 要分別開發位於物聯網各層級中的服務,故本研究以微服務的設計概念將 物聯網各層中的異質服務均質化,本研究稱之為「均質化微服務」。本研究 以參與者模型(Actor Model)實作均質化微服務開發框架,讓一般開發者 能順利開發物聯網服務,並以訊息佇列整合所有裝置與服務達到跨層級的 通訊功能,基於訊息佇列發展均質化微服務的管理架構。
     在部署與維運上,本研究採用 Docker 容器技術將微服務封裝成映像 檔,並透過容器管理平台將所有分散的裝置組成 Docker 叢集,透過容器管 理平台達到跨主機的容器管理及硬體資源管理功能。
參考文獻 [1] 河村雅人, 圖解物聯網:感測器的架構與運用: 碁峰, 2015.
     [2] V. Mayer-Schönberger and K. Cukier, Big data: A revolution that will transform how we live, work, and think: Eamon Dolan/Mariner Books, 2014.
     [3] M. G. Xavier, M. V. Neves, F. D. Rossi, T. C. Ferreto, T. Lange, and A. F. D. R. Cesar, "Performance evaluation of container-based Virtualization for high performance computing environments," presented at the 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, 2013.
     [4] W. Felter, A. Ferreira, R. Rajamony, and J. Rubio, "An updated performance comparison of virtual machines and linux containers," in Performance Analysis of Systems and Software (ISPASS), 2015 IEEE International Symposium On, 2015, pp. 171-172.
     [5] K. Ashton, "That ‘internet of things’ thing," RFiD Journal, vol. 22, pp. 97-114, 2009.
     [6] J. Pontin, "ETC: Bill Joy`s Six Webs," ed: MIT Technology Review, 2005.
     [7] ITU, "ITU Internet Reports 2005:The Internet of Things," 2005.
     [8] E.T.S.I, "Machine-to-Machine communications (M2M); Definitions," ETSI2013.
     [9] S. B. Panikkar, "Device democracy-Saving the future of the Internet of ThingsSaving the future of the Internet of Things," 2015.
     [10] 鄭逸寧. (2011, 2016/7/8). 物聯網技術大剖析. Available: http://www.ithome.com.tw/news/90461
     [11] Kong. (2014, 2016/7/8). Pattern: Monolithic Architecture. Available: http://microservices.io/patterns/monolithic.html
     [12] J. Lewis and M. Fowler. (2014). Microservices: a definition of this new architectural term.
     [13] M. E. Conway, "HOW DO COMMITTEES INVENT?," 1968.
     [14] Docker, "Docker," 2016.
     [15] C. Hewitt, P. Bishop, and R. Steiger, "A universal modular actor formalism for artificial intelligence," in Proceedings of the 3rd international joint conference on Artificial intelligence, 1973, pp. 235-245.
     [16] G. A. Agha, "Actors: A model of concurrent computation in distributed systems," DTIC Document1985.
     [17] (7/13). Akka Documentation - Actor System. Available: http://doc.akka.io/docs/akka/current/general/actor-systems.html
     [18] P. Haller and M. Odersky, "Scala actors: Unifying thread-based and event-based programming," Theoretical Computer Science, vol. 410, pp. 202-220, 2009.
     [19] P. Haller and M. Odersky, "Event-based programming without inversion of control," in Joint Modular Languages Conference, 2006, pp. 4-22.
     [20] J. Kreps, N. Narkhede, and J. Rao, "Kafka: A distributed messaging system for log processing," in Proceedings of the NetDB, 2011, pp. 1-7.
     [21] (2016/7/8). Apache Kafka. Available: http://kafka.apache.org/
     [22] R. Lab. (2016, 2016/6/30). Rancher Documentation - Networking. Available: http://docs.rancher.com/rancher/latest/en/concepts/#networking
     [23] 蘇俊憲 and 黃世昆, "以 OpenStack 建立可擴充式物聯網系統雲端平台," 2013.
     [24] D. Mulfari, M. Fazio, A. Celesti, M. Villari, and A. Puliafito, "Design of an IoT cloud system for container Virtualization on smart objects," in Communications in Computer and Information Science, ed: Springer Science + Business Media, 2016, pp. 33-47.
     [25] A. Zanella, N. Bui, A. Castellani, L. Vangelista, and M. Zorzi, "Internet of things for smart cities," Internet of Things Journal, IEEE, vol. 1, pp. 22-32, 2014.
     [26] I. Ishaq, D. Carels, G. K. Teklemariam, J. Hoebeke, F. V. d. Abeele, E. D. Poorter, et al., "IETF standardization in the field of the internet of things (IoT): a survey," Journal of Sensor and Actuator Networks, vol. 2, pp. 235-287, 2013.
     [27] R. T. Fielding, "Architectural styles and the design of network-based software architectures," DOCTOR OF PHILOSOPHY, Information and Computer Science, University of California, Irvine, 2000.
     [28] A. Gaur, B. Scotney, G. Parr, and S. McClean, "Smart city architecture and its applications based on IoT," Procedia Computer Science, vol. 52, pp. 1089-1094, 2015/01/01 2015.
     [29] 吳政叡, "資源描述架構在都柏林核心集的應用介紹," 1998.
     [30] (2016/7/8). Apache Hadoop. Available: http://hadoop.apache.org/
     [31] (2016/7/8). Apache Storm. Available: http://storm.apache.org/
     [32] (2016/7/8). Apache Spark. Available: http://spark.apache.org/
     [33] (2016/7/8). Apache Hadoop YARN. Available: https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html
     [34] (2016, 2016/7/8). Hortonworks. Available: http://hortonworks.com/
     [35] D. Crockford, "The application/json media type for javascript object notation (json)," 2006.
     [36] K. Birman and T. Joseph, Exploiting virtual synchrony in distributed systems vol. 21: ACM, 1987.
     [37] M. H. Amaran, N. A. M. Noh, M. S. Rohmad, and H. Hashim, "A Comparison of Lightweight Communication Protocols in Robotic Applications," Procedia Computer Science, vol. 76, pp. 400-405, 2015.
     [38] R. Labs, "Rancher documentation," 2016.
描述 碩士
國立政治大學
資訊管理學系
103356042
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0103356042
資料類型 thesis
dc.contributor.advisor 劉文卿zh_TW
dc.contributor.advisor Liu, Wen Qingen_US
dc.contributor.author (Authors) 廖尉辰zh_TW
dc.contributor.author (Authors) Liao, Wei Chenen_US
dc.creator (作者) 廖尉辰zh_TW
dc.creator (作者) Liao, Wei Chenen_US
dc.date (日期) 2016en_US
dc.date.accessioned 9-Aug-2016 10:45:58 (UTC+8)-
dc.date.available 9-Aug-2016 10:45:58 (UTC+8)-
dc.date.issued (上傳時間) 9-Aug-2016 10:45:58 (UTC+8)-
dc.identifier (Other Identifiers) G0103356042en_US
dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/99772-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊管理學系zh_TW
dc.description (描述) 103356042zh_TW
dc.description.abstract (摘要) 本研究之重點是解決物聯網的運算異質性。由於物聯網服務眾多,需 要分別開發位於物聯網各層級中的服務,故本研究以微服務的設計概念將 物聯網各層中的異質服務均質化,本研究稱之為「均質化微服務」。本研究 以參與者模型(Actor Model)實作均質化微服務開發框架,讓一般開發者 能順利開發物聯網服務,並以訊息佇列整合所有裝置與服務達到跨層級的 通訊功能,基於訊息佇列發展均質化微服務的管理架構。
     在部署與維運上,本研究採用 Docker 容器技術將微服務封裝成映像 檔,並透過容器管理平台將所有分散的裝置組成 Docker 叢集,透過容器管 理平台達到跨主機的容器管理及硬體資源管理功能。
zh_TW
dc.description.tableofcontents 第一章 緒論 1
     第一節 研究背景與動機 1
     第二節 研究目的 2
     第三節 研究流程 3
     一、 定義問題 4
     二、 文獻探討 5
     三、 均質化物聯網運算架構設計 5
     四、 均質化物聯網運算架構實作 5
     五、 結論與未來發展 5
     第二章 文獻探討 6
     第一節 物聯網 6
     一、 起源 6
     二、 物聯網架構 7
     三、 物聯網的困難與挑戰 10
     第二節 微服務架構(Microservice Architecture) 12
     一、 應用程序元件化 13
     二、 以微服務觀點分工及組織團隊 14
     三、 開發產品(Product)而非專案(Project) 16
     四、 去中間化的數據管理 17
     五、 基礎設施自動化 17
     六、 容錯設計 18
     第三節 Docker 18
     一、 虛擬化 19
     二、 Docker Container 19
     第四節 參與者模型(Actor Model) 21
     第五節 Apache Kafka 23
     一、 主題(Topic) 24
     二、 生產者(Producer) 24
     三、 消費者(Consumer) 24
     四、 中介者(Broker) 24
     五、 Zookeeper 25
     第六節 Rancher 25
     第七節 新物聯網架構 26
     第三章 系統架構與功能 33
     第一節 架構說明 33
     一、 裝置層 (Device Layer) 34
     二、 靄運算層 (Mist Computing Layer) 35
     三、 核心服務層 (Core Services Layer) 35
     四、 表現層 (Presentation Layer) 39
     第二節 核心服務層之均質化服務管理架構 39
     一、 核心服務層管理架構 40
     二、 均質化微服務內部架構 42
     三、 訊息管理 44
     第四章 系統實作 46
     第一節 均質化微服務開發框架 46
     一、 訊息管理實作 46
     二、 核心服務層管理架構實作 51
     第二節 運算環境 58
     第三節 微服務的封裝與部署 59
     一、 建立服務 60
     二、 映像檔儲存庫 60
     三、 部署 61
     四、 維運 61
     五、 網路 62
     第五章 結論與未來發展 64
     第一節 結論 64
     第二節 未來發展 65
     一、 硬體相容性 65
     二、 使用Akka Cluster取代容器管理平台增加管理彈性 65
     參考文獻 66
zh_TW
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0103356042en_US
dc.subject (關鍵詞) 物聯網zh_TW
dc.subject (關鍵詞) 微服務zh_TW
dc.subject (關鍵詞) 雲端運算zh_TW
dc.subject (關鍵詞) IoTen_US
dc.subject (關鍵詞) Microserviceen_US
dc.subject (關鍵詞) Dockeren_US
dc.subject (關鍵詞) Akkaen_US
dc.subject (關鍵詞) Actor Modelen_US
dc.title (題名) 均質化物聯網運算架構設計與實作zh_TW
dc.title (題名) Design and Implementation of Homogeneous IoT Computing Architectureen_US
dc.type (資料類型) thesisen_US
dc.relation.reference (參考文獻) [1] 河村雅人, 圖解物聯網:感測器的架構與運用: 碁峰, 2015.
     [2] V. Mayer-Schönberger and K. Cukier, Big data: A revolution that will transform how we live, work, and think: Eamon Dolan/Mariner Books, 2014.
     [3] M. G. Xavier, M. V. Neves, F. D. Rossi, T. C. Ferreto, T. Lange, and A. F. D. R. Cesar, "Performance evaluation of container-based Virtualization for high performance computing environments," presented at the 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, 2013.
     [4] W. Felter, A. Ferreira, R. Rajamony, and J. Rubio, "An updated performance comparison of virtual machines and linux containers," in Performance Analysis of Systems and Software (ISPASS), 2015 IEEE International Symposium On, 2015, pp. 171-172.
     [5] K. Ashton, "That ‘internet of things’ thing," RFiD Journal, vol. 22, pp. 97-114, 2009.
     [6] J. Pontin, "ETC: Bill Joy`s Six Webs," ed: MIT Technology Review, 2005.
     [7] ITU, "ITU Internet Reports 2005:The Internet of Things," 2005.
     [8] E.T.S.I, "Machine-to-Machine communications (M2M); Definitions," ETSI2013.
     [9] S. B. Panikkar, "Device democracy-Saving the future of the Internet of ThingsSaving the future of the Internet of Things," 2015.
     [10] 鄭逸寧. (2011, 2016/7/8). 物聯網技術大剖析. Available: http://www.ithome.com.tw/news/90461
     [11] Kong. (2014, 2016/7/8). Pattern: Monolithic Architecture. Available: http://microservices.io/patterns/monolithic.html
     [12] J. Lewis and M. Fowler. (2014). Microservices: a definition of this new architectural term.
     [13] M. E. Conway, "HOW DO COMMITTEES INVENT?," 1968.
     [14] Docker, "Docker," 2016.
     [15] C. Hewitt, P. Bishop, and R. Steiger, "A universal modular actor formalism for artificial intelligence," in Proceedings of the 3rd international joint conference on Artificial intelligence, 1973, pp. 235-245.
     [16] G. A. Agha, "Actors: A model of concurrent computation in distributed systems," DTIC Document1985.
     [17] (7/13). Akka Documentation - Actor System. Available: http://doc.akka.io/docs/akka/current/general/actor-systems.html
     [18] P. Haller and M. Odersky, "Scala actors: Unifying thread-based and event-based programming," Theoretical Computer Science, vol. 410, pp. 202-220, 2009.
     [19] P. Haller and M. Odersky, "Event-based programming without inversion of control," in Joint Modular Languages Conference, 2006, pp. 4-22.
     [20] J. Kreps, N. Narkhede, and J. Rao, "Kafka: A distributed messaging system for log processing," in Proceedings of the NetDB, 2011, pp. 1-7.
     [21] (2016/7/8). Apache Kafka. Available: http://kafka.apache.org/
     [22] R. Lab. (2016, 2016/6/30). Rancher Documentation - Networking. Available: http://docs.rancher.com/rancher/latest/en/concepts/#networking
     [23] 蘇俊憲 and 黃世昆, "以 OpenStack 建立可擴充式物聯網系統雲端平台," 2013.
     [24] D. Mulfari, M. Fazio, A. Celesti, M. Villari, and A. Puliafito, "Design of an IoT cloud system for container Virtualization on smart objects," in Communications in Computer and Information Science, ed: Springer Science + Business Media, 2016, pp. 33-47.
     [25] A. Zanella, N. Bui, A. Castellani, L. Vangelista, and M. Zorzi, "Internet of things for smart cities," Internet of Things Journal, IEEE, vol. 1, pp. 22-32, 2014.
     [26] I. Ishaq, D. Carels, G. K. Teklemariam, J. Hoebeke, F. V. d. Abeele, E. D. Poorter, et al., "IETF standardization in the field of the internet of things (IoT): a survey," Journal of Sensor and Actuator Networks, vol. 2, pp. 235-287, 2013.
     [27] R. T. Fielding, "Architectural styles and the design of network-based software architectures," DOCTOR OF PHILOSOPHY, Information and Computer Science, University of California, Irvine, 2000.
     [28] A. Gaur, B. Scotney, G. Parr, and S. McClean, "Smart city architecture and its applications based on IoT," Procedia Computer Science, vol. 52, pp. 1089-1094, 2015/01/01 2015.
     [29] 吳政叡, "資源描述架構在都柏林核心集的應用介紹," 1998.
     [30] (2016/7/8). Apache Hadoop. Available: http://hadoop.apache.org/
     [31] (2016/7/8). Apache Storm. Available: http://storm.apache.org/
     [32] (2016/7/8). Apache Spark. Available: http://spark.apache.org/
     [33] (2016/7/8). Apache Hadoop YARN. Available: https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html
     [34] (2016, 2016/7/8). Hortonworks. Available: http://hortonworks.com/
     [35] D. Crockford, "The application/json media type for javascript object notation (json)," 2006.
     [36] K. Birman and T. Joseph, Exploiting virtual synchrony in distributed systems vol. 21: ACM, 1987.
     [37] M. H. Amaran, N. A. M. Noh, M. S. Rohmad, and H. Hashim, "A Comparison of Lightweight Communication Protocols in Robotic Applications," Procedia Computer Science, vol. 76, pp. 400-405, 2015.
     [38] R. Labs, "Rancher documentation," 2016.
zh_TW