{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,6,1]],"date-time":"2022-06-01T21:40:09Z","timestamp":1654119609626},"reference-count":28,"publisher":"IGI Global","issue":"3","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2012,7,1]]},"abstract":"<p>Designing innovative communications services that scale to facilitate potential new usage patterns can pose significant challenges. This is particularly the case if these services are to be delivered over existing protocols and interoperate with legacy services. This work explores design choices for such a service: large scale message delivery to existing Instant Messaging users. In particular the authors explore message throughput, accuracy and server load for several alternative implementation strategies. These strategies focus on approaches to concurrency, with best practice in current and emerging techniques thoroughly benchmarked. Specifically, a conventional Java Executor approach is compared with a functional approach realised through Scala and its Actors framework. These could be termed \u201cblocking I\/O\u201d technology. A third approach has also been measured - a \u201cnon-blocking I\/O\u201d based on an alternative to Java Virtual Machine approaches - employing Node.js and Javascript. We believe that some of the results are startling.<\/p>","DOI":"10.4018\/jaci.2012070101","type":"journal-article","created":{"date-parts":[[2012,12,11]],"date-time":"2012-12-11T16:19:47Z","timestamp":1355242787000},"page":"1-19","source":"Crossref","is-referenced-by-count":2,"title":["Scaling Instant Messaging Communication Services"],"prefix":"10.4018","volume":"4","author":[{"given":"Leigh","family":"Griffin","sequence":"first","affiliation":[{"name":"Waterford Institute of Technology, Ireland"}]},{"given":"Kieran","family":"Ryan","sequence":"additional","affiliation":[{"name":"Waterford Institute of Technology, Ireland"}]},{"given":"Eamonn","family":"de Leastar","sequence":"additional","affiliation":[{"name":"Waterford Institute of Technology, Ireland"}]},{"given":"Dmitri","family":"Botvich","sequence":"additional","affiliation":[{"name":"Waterford Institute of Technology, Ireland"}]}],"member":"2432","reference":[{"key":"jaci.2012070101-0","author":"J.Allen","year":"1978","journal-title":"Anatomy of lisp"},{"key":"jaci.2012070101-1","unstructured":"Aznidin. (2007). Botz: Internal Bot Library for Openfire. Retrieved February 7, 2011, from http:\/\/community.igniterealtime.org\/docs\/DOC-1130"},{"key":"jaci.2012070101-2","author":"J.Bloch","year":"2008","journal-title":"Effective Java"},{"key":"jaci.2012070101-3","doi-asserted-by":"crossref","unstructured":"Butler, B., Jennings, B., & Botvich, D. (2011). An experimental testbed to predict the performance of XACML policy decision points. In Proceedings of the IEEE Inernational Symposium on Integrated Network Management (pp. 353-360).","DOI":"10.1109\/INM.2011.5990711"},{"key":"jaci.2012070101-4","author":"D.Chappell","year":"2000","journal-title":"Java message service"},{"key":"jaci.2012070101-5","doi-asserted-by":"crossref","unstructured":"Foley, C., Power, G., Griffin, L., Chen, C., Donnelly, N., & de Leastar, E. (2010). Service group management facilitated by DSL driven policies in embedded middleware. In Proceedings of the International Symposium on Computers and Commnunications (pp. 483-488).","DOI":"10.1109\/ISCC.2010.5546775"},{"key":"jaci.2012070101-6","doi-asserted-by":"crossref","unstructured":"Foley, S. N., & MacAdams, W. (2011). Trust management of XMPP federation. In Proceedings of the IEEE International Symposium on Integrated Network Management (pp. 1192-1195).","DOI":"10.1109\/INM.2011.5990581"},{"key":"jaci.2012070101-7","unstructured":"Google. (n.d.). Talk. Retrieved February 7, 2011, from http:\/\/www.google.com\/talk\/"},{"key":"jaci.2012070101-8","unstructured":"Google. (n.d.). V8 JavaScript engine. Retrieved February 7, 2011, from http:\/\/code.google.com\/p\/v8\/"},{"key":"jaci.2012070101-9","doi-asserted-by":"crossref","unstructured":"Griffin, L., de Leastar, E., & Botvich, D. (2011). The management of dynamic shared groups within XMPP: An investigation. In Proceedings of the IEEE International Symposium on Integrated Network Management (pp. 634-637).","DOI":"10.1109\/INM.2011.5990589"},{"key":"jaci.2012070101-10","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2008.09.019"},{"key":"jaci.2012070101-11","unstructured":"Ignite Realtime. (n.d.). Openfire XMPP Server version 3.6.4. Retrieved February 7, 2011, from http:\/\/www.igniterealtime.org\/projects\/openfire\/"},{"key":"jaci.2012070101-12","unstructured":"Kegel, D. (2011). The C10k problem. Retrieved February 7, 2011, from http:\/\/www.kegel.com\/c10k.html"},{"key":"jaci.2012070101-13","doi-asserted-by":"crossref","unstructured":"Kim, M. S., & Wellings, A. (2010). Using the executor framework to implement asynchronous event handling in the RTSJ. In Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems (pp. 16-25).","DOI":"10.1145\/1850771.1850774"},{"key":"jaci.2012070101-14","author":"D.Koenig","year":"2007","journal-title":"Groovy in action"},{"key":"jaci.2012070101-15","doi-asserted-by":"crossref","unstructured":"Liu, A. X., Chen, F., Hwang, J., & Xie, T. (2008). Xengine: A fast and scalablae XACML policy evaluation engine. In Proceedings of the ACM SIGMETRICS International Conference on Measureement and Modeling of Compouter Systems (pp. 265-276).","DOI":"10.1145\/1384529.1375488"},{"key":"jaci.2012070101-16","doi-asserted-by":"crossref","unstructured":"Liu, D., & Deters, R. (2008). The reverse C10k problem for server-side mashups. In G. Feuerlicht & W. Lamersdorf (Eds.), Proceedings of the International Conference on Service Oriented Computing (LNCS 5472, pp.166-177).","DOI":"10.1007\/978-3-642-01247-1_16"},{"key":"jaci.2012070101-17","doi-asserted-by":"crossref","unstructured":"Long, B., & Long, B. W. (2003). Formal specification of Java concurrency to assist software verification. In Proceedings of the Parallel and Distributed Processing Symposium.","DOI":"10.1109\/IPDPS.2003.1213262"},{"key":"jaci.2012070101-18","unstructured":"OASIS. (2005, February). ALL XACML 2.0 documents. Retrieved February 2, 2012, from http:\/\/docs.oasis-open.org\/xacml\/2.0\/XACML-2.0-OS-ALL.zip"},{"key":"jaci.2012070101-19","doi-asserted-by":"crossref","unstructured":"Oliveira, B., & Gibbons, J. (2008). Scala for generic programmers. In Proceedings of the ACM SIGPLAN Workshop on Generic Programming (pp. 25-36).","DOI":"10.1145\/1411318.1411323"},{"key":"jaci.2012070101-20","unstructured":"Saint-Andr\u00e9, P. (1999). XEP-0144: Jabber Component Protocol. Retrieved February 7, 2011, from http:\/\/xmpp.org\/extensions\/xep-0114.html"},{"key":"jaci.2012070101-21","author":"P.Saint-Andr\u00e9","year":"2009","journal-title":"XMPP: The definitive guide: Building real-time applications with Jabber Technologies"},{"key":"jaci.2012070101-22","unstructured":"Salihefendic, A. (2010). Plurk: Instant conversations using Comet. Retrieved February 7, 2011, from http:\/\/amix.dk\/blog\/post\/19490"},{"key":"jaci.2012070101-23","doi-asserted-by":"publisher","DOI":"10.1109\/MIC.2010.145"},{"key":"jaci.2012070101-24","unstructured":"Windows. (n.d.). Live Messenger. Retrieved February 7, 2011, from htttp:\/\/explore.live.com\/windows-live-messenger"},{"key":"jaci.2012070101-25","doi-asserted-by":"crossref","unstructured":"Xiao, Z., Guo, L., & Tracey, J. (2007). Understanding instant messaging traffic characteristics. In Proceedings of the 27th International Conference on Distributed Computing Systems (p. 51).","DOI":"10.1109\/ICDCS.2007.149"},{"key":"jaci.2012070101-26","unstructured":"XMPP. (n.d.). Standards foundation. Retrieved February 7, 2011, from http:\/\/xmpp.org\/"},{"key":"jaci.2012070101-27","doi-asserted-by":"crossref","unstructured":"Xu, L., & Jennings, B. (2009). A framework for automated creation and deployment of consolidated charging schemes for service compositions. In Proceedings of the Seventh IEEE European Conference on Web Services (pp. 49-57).","DOI":"10.1109\/ECOWS.2009.24"}],"container-title":["International Journal of Ambient Computing and Intelligence"],"original-title":[],"language":"ng","link":[{"URL":"https:\/\/www.igi-global.com\/viewtitle.aspx?TitleId=68841","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,6,1]],"date-time":"2022-06-01T20:59:03Z","timestamp":1654117143000},"score":1,"resource":{"primary":{"URL":"https:\/\/services.igi-global.com\/resolvedoi\/resolve.aspx?doi=10.4018\/jaci.2012070101"}},"subtitle":["A Comparison of Blocking and Non-Blocking Techniques"],"short-title":[],"issued":{"date-parts":[[2012,7,1]]},"references-count":28,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2012,7]]}},"URL":"https:\/\/doi.org\/10.4018\/jaci.2012070101","relation":{},"ISSN":["1941-6237","1941-6245"],"issn-type":[{"value":"1941-6237","type":"print"},{"value":"1941-6245","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012,7,1]]}}}