Responsive image
博碩士論文 etd-0830112-152801 詳細資訊
Title page for etd-0830112-152801
論文名稱
Title
發佈/訂閱服務之實作
Implementation of a Publish/Subscribe Service
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
69
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2012-07-20
繳交日期
Date of Submission
2012-08-30
關鍵字
Keywords
應用層多點傳送、分散式系統、發佈/訂閱
Application Layer Multicast, Distributed System, Publish/Subscribe, Socket
統計
Statistics
本論文已被瀏覽 5662 次,被下載 411
The thesis/dissertation has been browsed 5662 times, has been downloaded 411 times.
中文摘要
過去幾年中,發佈/訂閱通訊模式早已備受關注,目前成為分散式應用程式在廣域網路上散播訊息的最佳模式。而實作發佈/訂閱系統架構有許多方式,其中有一種為發佈端與訂閱端之互動需透過一個或多個稱為broker的中間單元,負責儲存管理訂閱端的訂閱資訊、匹配發佈端發佈之訊息與訂閱資訊,將符合訂閱資訊的訊息轉送給訂閱者,以及提供可靠度、容錯機制。由於broker成為整個發佈/訂閱通訊模式的核心,所以通常需耗費大量的主機資源(如:CPU、memory)。本論文以ZeroMQ實作之發佈/訂閱服務的broker經測試,服務10000個訂閱者只需約3% CPU及5% memory使用率,是個高效能、低成本的發佈/訂閱服務。
Abstract
Over the past few years, a growing attention has been paid to the publish/subscribe (pub/sub) communication paradigm which has become the best model for disseminating information (also called events) through distributed systems on wide-area networks. There are many ways to implement the publish/subscribe system architecture. A common way is publishers and subscribers interact through one or more agents called broker. Broker has to store and management subscriptions, match messages, and efficiently delivery messages to subscribers. It also provides reliability and fault tolerant controlling. Obviously, broker is the most important part of the publish/subscribe system. It is usually required to use a lot of resources such as CPU and memory. In this paper, our publish/subscribe service which implemented by ZeroMQ API could service 10,000 subscribers only cost 3% CPU and 5% memory usage. It is a high performance and low costs publish/subscribe service.
目次 Table of Contents
目錄
誌謝 i
摘要 ii
Abstract iii
目錄 iv
圖次 vi
表次 viii
一、 緒論 1
1.1. 研究動機與目的 1
1.2. 論文大綱 2
二、 相關研究 3
2.1. 發佈/訂閱系統架構介紹 3
2.2. 訂閱方式介紹 5
2.2.1. Topic-based Model 5
2.2.2. Content-based Model 7
2.3. 發佈/訂閱模式實作方式 8
2.3.1. Network Layer Multicast 8
2.3.2. Application Layer Multicast 10
三、 ZeroMQ 特性原理介紹 13
3.1. ZeroMQ 特點 13
3.2. 設計概念 14
3.2.1. Request-Reply Pattern 15
3.2.2. Publish-Subscribe Pattern 16
3.2.3. Pipeline Pattern 17
3.2.4. Exclusive Pattern 18
3.3. ZeroMQ 訊息 19
3.3.1. 核心訊息處理 19
3.3.2. TCP訊息封裝格式 21
3.3.3. Multipart訊息 22
3.4. API使用介紹 24
3.4.1. Context 24
3.4.2. Socket 25
3.4.3. Message 27
3.4.4. ZeroMQ 與 BSD socket比較 29
四、 服務介紹與實作說明 30
4.1. 服務架構說明 30
4.2. 實作說明 32
4.3. Broker 擴充 33
五、 實驗設計與測試分析 35
5.1. 實驗設計說明 35
5.2. 測試結果分析 36
5.2.1. 測試環境 36
5.2.2. 測試結果 36
六、 結論與未來展望 39
七、 參考文獻 40
附錄A 48
附錄B 49
參考文獻 References
[1] P. Th. Eugster, P. A. Felber, R. Guerraoui, and A.-M. Kermarrec, “The Many Faces of Publish/Subscribe,” ACM Computing Survey, vol. 35, pp. 114–131, 2003.

[2] P. Hu, Y. Liu, L. Zhai, X. Ma and M. Yang, “An Infrastructure for Application Level Multicast in Publish/Subscribe System,” presented at the 2009 WRI International Conference on Communications and Mobile Computing, vol. 3, pp. 90-94, 2009.

[3] C. Diot, B. Levine, B. Lyles, H. Kassem, and D. Balensiefen, “Deployment Issues for the IP Multicast Service and Architecture,” IEEE Network, vol. 14, pp. 78-88, 2000.

[4] R. Baldoni, M. Contenti and A. Virgillito, “The Evolution of Publish/Subscribe Communication System,” Future Directions in Distributed Computing, vol. 2584, pp. 137-141, 2003.

[5] A. R. Bharambe, S. Rao, and S. Seshan, “Mercury: a scalable publish-subscribe system for internet games,” Proceedings of the 1st workshop on Network and system support for games, pp. 3-9, 2002.

[6] G. G. Koch, M. A. Tariq, B. Koldehofe, and K. Rothermel, “Event processing for large-scale distributed games, “ Proceedings of the Fourth ACM International Conference on Distributed Event-Based Systems, pp. 103-104, 2010.

[7] C. Chaudet, I. Demeure, S. Ktari, N. Costagliola, and S. Tardieu, “Publish/subscribe for wireless sensor networks,” Proceedings of the 7th Asian Internet Engineering Conference, pp. 19-21, 2011.

[8] H. Cam, O. K. Sahingoz, A. C. Sonmez, “Wireless sensor networks based on publish/subscribe messaging paradigms,” Proceedings of the 6th international conference on Advances in grid and pervasive computing, pp. 233-242, 2011

[9] Y. Zhu, J. Wang, and C. Wang, “Ripple: A publish/subscribe service for multidata item updates propagation in the cloud,” Journal of Network and Computer Applications, vol. 34, pp. 1054-1067, 2011.

[10] B. Gajic, J. Riihijarvi, and P. Mahonen, “Evaluation of publish-subscribe based communication over WiMAX network,” Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT), pp. 38-43, 2010.

[11] R. Baldoni , L. Querzoni , and A. Virgillito “Distributed Event Routing in Publish/Subscribe Communication Systems: a Survey,” Technical Report TR-1/06. Dipartimento di Informatica e Sistemistica, Universit di Roma ”La Sapienza”,2005.



[12] S. Q. Zhuang, B. Y. Zhao, A. D. Joseph, R. H. Katz, and J. D. Kubiatowicz, “Bayeux: An architecture for scalable and fault-tolerant wide-area data dissemination,” Proceedings of the 11th international workshop on Network and operating systems support for digital audio and video, pp. 11–20, 2001.

[13] M. Castro, P. Druschel, A. Kermarrec, and A. Rowstron, “SCRIBE: A large-scale and decentralized application-level multicast infrastructure,” IEEE Journal on Selected Areas in Communications(JSAC),vol. 20, pp. 1489–1499, 2002.

[14] V. Ramasubramanian, R. Peterson, and Emin Gun Sirer, “Corona: Ahigh performance publish-subscribe system for the world wide web,” Proceedings of the 3rd conference on Networked Systems Design and Implementation, 2006.

[15] A. Corsaro, L. Querzoni, S. Scipioni, S. Tucci-Piergiovanni, A. Virgillito, “Quality of Service in Publish/Subscribe Middleware,” Global Data Management, IOS Press, pp. 1–19, 2006.

[16] J. L. Martins, and S. Duarte,“Routing Algorithms for Content-based Publish/Subscribe Systems,” IEEE Communications Surveys & Tutorials, vol. 12, pp. 39-58, 2010.

[17] Carzaniga, D. S. Rosenblum, A. L. Wolf, “Design and evaluation of a wide-area event notification service,” ACM Trans. Comput. Syst., vol. 19, pp. 332-383, 2001


[18] F. Fabret, H. A. Jacobsen, F. Llirbat, J. Pereira, K. A. Ross, and D. Shasha, ”Filtering algorithms and implementation for very fast publish/subscribe systems,” Proceedings of the 2001 ACM SIGMOD international conference on Management of data, pp. 115-126 ,2001.

[19] Gero Muhl, “Generic Constraints for Content-Based Publish/Subscribe,” Proceedings of the 9th International Conference on Cooperative Information Systems, pp. 211-225, 2001

[20] Y. Zhao and J. Wu, “ZigZag: A Content-based Publish/Subscribe Architecture for Human Networks,” Computer Communications and Networks ,pp. 1-6, 2011.

[21] P. Pietzuch and J. Bacon, “Hermes: a distributed event-based middleware architecture,” In Proceedings of the International Workshop on Distributed Event-Based Systems (DEBS’02), 2003.

[22] P. Th. Eugster , P. Felber , R. Guerraoui , S. B. Handurukande, “Event Systems: How to Have Your Cake and Eat It Too,” Proceedings of the International Workshop on Distributed Event-Based Systems, pp. 625-630, 2002.

[23] R. Zhang and Y. C. Hu, “HYPER: A Hybrid Approach to Efficient Content-Based Publish/Subscribe,” Proceedings of the 25th IEEE International Conference on Distributed Computing Systems, pp. 427-436, 2005.


[24] H. Jafarpour, S. Mehrotra, N. Venkatasubramanian, and M. Montanari, “MICS: an efficient content space representation model for publish/subscribe systems,” Proceedings of the Third ACM International Conference on Distributed Event-Based Systems, pp. 1-12, 2009.

[25] M. Jani’c, “Multicast in Network and Application Layer,” Electrical Engineer van de Universiteit van Belgrado, 2005.

[26] M. Guimaraes, and L. Rodrigues, “A genetic algorithm for multicast mapping in publish-subscribe systems,” Proceedings of the 2nd IEEE International Symposium on Network Computing and Applications, pp. 67–74, 2003.

[27] A. Riabov, Z. Liu, J. Wolf, P. Yu, and L. Zhang, “New algorithms for content-based publication-subscription systems,” Proceedings of the 23rd International Conference on Distributed Computing Systems, pp. 678–686, 2003.

[28] J. Singh, P. Veeraraghavan, S. Singh, and V. Potdar, “Real-Time Public Group Collaboration using IP Multicast Label Filters,” Proceedings of the 2009 International Conference on Network-Based Information Systems, pp. 525-531, 2009.

[29] S. Erramilli, S. Gadgil, and N. Natarajan “Efficient Assignment of Multicast Groups to Publish-Subscribe Information Topics in Tactical Networks,” Military Communications Conference, pp. 1-7, 2008.

[30] S. Banerjee, B. Bhattacharjee, C. Kommareddy, “Scalable application layer multicast,” ACM SIGCOMM Computer Communication Review, vol. 32, pp. 205-217, 2002.

[31] G. Chockler, R. Melamed, Y. Tock, and R. Vitenberg, “Constructing scalable overlays for pub-sub with many topics: Problems, algorithms, and evaluation,” Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing, pp. 109-118, 2007.

[32] E. D. Nitto, D. J. Dubois, and R. Mirandola, “Overlay self-organization for traffic reduction in multi-broker publish-subscribe systems,” Proceedings of the 6th international conference on Autonomic computing, pp. 61-62, 2009.

[33] Chen Chen, Hans-Arno Jacobsen, and Roman Vitenberg “Divide and Conquer Algorithms for Publish/Subscribe Overlay Design,” Proceedings of the 2010 IEEE 30th International Conference on Distributed Computing Systems, pp. 622-633, 2010.

[34] M. Onus and A. W. Richa, “Minimum maximum degree publish-subscribe overlay network design,” IEEE/ACM Transactions on Networking, vol. 19, pp. 1331-1343, 2011.

[35] Y. Yoon, V. Muthusamy, and H-A. Jacobsen, “Foundations for Highly Available Content-Based Publish/Subscribe Overlays,” Proceedings of the 2011 31st International Conference on Distributed Computing Systems, pp. 800-811, 2011
[36] A. R. Khakpour and I. Demeure, “Chapar: A Persistent Overlay Event System for MANETs,” Mobile Networks and Applications, vol. 15, pp. 866-875, 2010.

[37] G. Chockler, R. Melamed, Y. Tock, and R. Vitenberg , “SpiderCast: a scalable interest-aware overlay for topic-based pub/sub communication,” Proceedings of the 2007 inaugural international conference on Distributed event-based systems, pp. 14-25, 2007.

[38] J. Li, X. Ji, X. Liu, J. Yao, S. Gopalakrishnan, and F. Hu, “Topic-based resource allocation for real-time publish/subscribe communication systems,” Communications and Networking in China, pp. 1-9, 2010.

[39] Alex King Yeung Cheung and Hans-Arno Jacobsen, “Load Balancing Content-Based Publish/Subscribe Systems,” ACM Transactions on Computer Systems, vol. 28, pp. 1-55, 2010.

[40] H. Chen, B Jin, and F Qi, “Integrating Load Balancing into Channelization Strategy in Publish/Subscribe,” Advanced Information Networking and Applications, pp. 174-181, 2010.

[41] W. Li and S. Vuong, “Towards a Scalable Content-Based Publish/Subscribe Service over DHT,” Proceedings of the Global Communications Conference, pp. 1-6, 2010.
[42] Y. Zhu and Y. Hu, “Ferry: A P2P-Based Architecture for Content-Based Publish/Subscribe Services,” IEEE Transactions Parallel and Distributed Systems, vol. 18, pp. 672-685, 2007.

[43] M. Pandey and B. Dhar Chaudhary,“A Content-Based Publish/Subscribe over Two-Tier DHT Utilizing Domain Ontology,” Proceedings of the 2011 IEEE International Conference on Advanced Information Networking and Applications, pp. 300-306, 2011.

[44] R. Baldoni, R. Beraldi, V. Quema, L. Querzoni, and S. Tucci-Piergiovanni“TERA: topic-based event routing for peer-to-peer architectures,” Proceedings of the 2007 inaugural international conference on Distributed event-based systems, pp. 2-13, 2007.

[45] Dragan Stancevic, “Zero Copy I: User-Mode Perspective,” Linux Journal, vol. 2003, 2003.

[46] ZeroMQ : http://www.zeromq.org/

[47] Trie Algorithm : http://en.wikipedia.org/wiki/Trie

[48] Publish/Subscribe Problems and Solutions :
http://zguide.zeromq.org/page:all#Chapter-Five-Advanced-Publish-Subscribe

電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:自定論文開放時間 user define
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus: 已公開 available


紙本論文 Printed copies
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。
開放時間 available 已公開 available

QR Code