{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:41:27Z","timestamp":1750308087026,"version":"3.41.0"},"reference-count":27,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2005,4,1]],"date-time":"2005-04-01T00:00:00Z","timestamp":1112313600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGPLAN Not."],"published-print":{"date-parts":[[2005,4]]},"abstract":"<jats:p>A server infrastructure in web servers, message servers and other parallel systems use a variation of two software architectures for providing concurrency: threaded or event-driven. This paper analyzes the performance limitations of concurrent applications implemented in Java. Both architectures have been evaluated and compared with various design patterns, which combine the best practices from both architectures. For each architecture the suitability for handling a large volume of client requests, the efficient management of a server load, the influence of client request structures, and the physical size of a client request, have been studied. The discussed Java APIs are core technologies for high-level APIs, used in developing web and distributed applications. The research also includes performance comparison on various platforms and discusses performance variation on various versions of a Java runtime. The paper contributes to the understanding of Java-based server architecture capabilities. Core server software architectures and required Java libraries are compared, the reasons for the limitations are identified and guidelines for choosing proper combinations are given.<\/jats:p>","DOI":"10.1145\/1064165.1064170","type":"journal-article","created":{"date-parts":[[2005,11,14]],"date-time":"2005-11-14T18:08:27Z","timestamp":1131991707000},"page":"20-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Analysis of the limitations of multiple client handling in a Java server environment"],"prefix":"10.1145","volume":"40","author":[{"given":"Simon","family":"Beloglavec","sequence":"first","affiliation":[{"name":"Institute of Informatics, Maribor, Slovenia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marjan","family":"Heri\u010dko","sequence":"additional","affiliation":[{"name":"Institute of Informatics, Maribor, Slovenia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Matja\u017e B.","family":"Juri\u010d","sequence":"additional","affiliation":[{"name":"Institute of Informatics, Maribor, Slovenia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ivan","family":"Rozman","sequence":"additional","affiliation":[{"name":"Institute of Informatics, Maribor, Slovenia"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2005,4]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Gregory M. T. JDK 1.4 Tutorial. Manning Publications Co. 2002.  Gregory M. T. JDK 1.4 Tutorial. Manning Publications Co. 2002."},{"key":"e_1_2_1_2_1","unstructured":"JSR 51: New I\/O APIs for the Java Platform. http http:\/\/jcp.org\/en\/jsr\/detail?id=51.  JSR 51: New I\/O APIs for the Java Platform. http http:\/\/jcp.org\/en\/jsr\/detail?id=51."},{"key":"e_1_2_1_3_1","unstructured":"Welsh M. NBIO: Nonblocking I\/O for Java. http:\/\/www.eecs.harvard.edu\/~mdw\/proj\/java-nbio\/  Welsh M. NBIO: Nonblocking I\/O for Java. http:\/\/www.eecs.harvard.edu\/~mdw\/proj\/java-nbio\/"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/502034.502057"},{"key":"e_1_2_1_5_1","unstructured":"Welsh M. An Architecture for Highly Concurrent Server Applications. http:\/\/www.eecs.harvard.edu\/~mdw\/proj\/seda\/   Welsh M. An Architecture for Highly Concurrent Server Applications. http:\/\/www.eecs.harvard.edu\/~mdw\/proj\/seda\/"},{"volume-title":"Cambridge University Press","year":"2000","author":"Schmidt D. C.","key":"e_1_2_1_7_1"},{"key":"e_1_2_1_8_1","unstructured":"Swift MQ JMS Enterprise Messaging Server. http:\/\/www.swiftmq.com\/  Swift MQ JMS Enterprise Messaging Server. http:\/\/www.swiftmq.com\/"},{"key":"e_1_2_1_9_1","unstructured":"Terra Lycos. http:\/\/www.terralycos.com\/  Terra Lycos. http:\/\/www.terralycos.com\/"},{"key":"e_1_2_1_10_1","unstructured":"Ocean Store. http:\/\/oceanstore.cs.berkeley.edu\/  Ocean Store. http:\/\/oceanstore.cs.berkeley.edu\/"},{"key":"e_1_2_1_11_1","unstructured":"Apache Excalibur Event Package. http:\/\/excalibur.apache.org\/  Apache Excalibur Event Package. http:\/\/excalibur.apache.org\/"},{"key":"e_1_2_1_12_1","unstructured":"Java Servlet Technology. http:\/\/java.sun.com\/products\/servlet\/index.jsp  Java Servlet Technology. http:\/\/java.sun.com\/products\/servlet\/index.jsp"},{"key":"e_1_2_1_13_1","unstructured":"New I\/O Documentation. http:\/\/java.sun.com\/j2se\/1.4.2\/nio\/index.html  New I\/O Documentation. http:\/\/java.sun.com\/j2se\/1.4.2\/nio\/index.html"},{"volume-title":"May, 2003. http:\/\/www.volano.com\/report\/index.html","author":"Neffenger J.","key":"e_1_2_1_14_1"},{"key":"e_1_2_1_15_1","unstructured":"Shirazi J. Pepperdine K. Eye on Performance: MegaJogos scales up with NIO The case of fully utilized CPU. IBM developerWorks http:\/\/www-106.ibm.com\/developerworks\/library\/j-perf03174.html  Shirazi J. Pepperdine K. Eye on Performance: MegaJogos scales up with NIO The case of fully utilized CPU. IBM developerWorks http:\/\/www-106.ibm.com\/developerworks\/library\/j-perf03174.html"},{"key":"e_1_2_1_16_1","unstructured":"Wilkins G. NIO and the Servlet API. http:\/\/www.mortbay.com\/MB\/log\/gregw\/?permalink=NIOServlet.html  Wilkins G. NIO and the Servlet API. http:\/\/www.mortbay.com\/MB\/log\/gregw\/?permalink=NIOServlet.html"},{"key":"e_1_2_1_17_1","unstructured":"Cowan T. The Servlet API and NIO: Together at last. IBM developerWorks http:\/\/www-106.ibm.com\/developerworks\/library\/j-nioserver\/  Cowan T. The Servlet API and NIO: Together at last. IBM developerWorks http:\/\/www-106.ibm.com\/developerworks\/library\/j-nioserver\/"},{"key":"e_1_2_1_18_1","unstructured":"Schmidt D. C. Reactor An Object Behavioral Pattern for Demultiplexing and Dispatching Handles for Synchronous Events. http:\/\/128.252.165.44\/~schmidt\/Reactor.ps.gz  Schmidt D. C. Reactor An Object Behavioral Pattern for Demultiplexing and Dispatching Handles for Synchronous Events. http:\/\/128.252.165.44\/~schmidt\/Reactor.ps.gz"},{"volume-title":"Proceedings of the 1996 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'96)","year":"1996","author":"Siu S.","key":"e_1_2_1_19_1"},{"volume-title":"Proceedings of the 10th International Conference on Parallel and Distributed Computing and Systems. IASTED","year":"1998","author":"Hu J.","key":"e_1_2_1_20_1"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/260094.260266"},{"key":"e_1_2_1_22_1","first-page":"149","volume-title":"Verbrugge C. Dynamic Metrics in Java. OOPSLA'03","author":"Dufour B.","year":"2003"},{"key":"e_1_2_1_23_1","unstructured":"Standard Performance Evaluation Coorporation http:\/\/www.spec.org\/  Standard Performance Evaluation Coorporation http:\/\/www.spec.org\/"},{"edition":"2","volume-title":"The Benchmark Handbook","year":"1993","key":"e_1_2_1_24_1"},{"key":"e_1_2_1_25_1","unstructured":"The Benchmark Gateway. http:\/\/www.ideasinternational.com\/benchmark\/bench.html  The Benchmark Gateway. http:\/\/www.ideasinternational.com\/benchmark\/bench.html"},{"volume-title":"Addison Wesley","year":"2000","author":"Gosling J.","key":"e_1_2_1_26_1"},{"key":"e_1_2_1_27_1","unstructured":"The Java HotSpot Performance Engine: An In-Depth Look. http:\/\/java.sun.com\/developer\/technicalArticles\/Networking\/HotSpot\/index.html  The Java HotSpot Performance Engine: An In-Depth Look. http:\/\/java.sun.com\/developer\/technicalArticles\/Networking\/HotSpot\/index.html"},{"volume-title":"John Wiley & Sons","year":"1996","author":"Buschmann F.","key":"e_1_2_1_28_1"}],"container-title":["ACM SIGPLAN Notices"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1064165.1064170","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1064165.1064170","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:07:50Z","timestamp":1750262870000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1064165.1064170"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,4]]},"references-count":27,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2005,4]]}},"alternative-id":["10.1145\/1064165.1064170"],"URL":"https:\/\/doi.org\/10.1145\/1064165.1064170","relation":{},"ISSN":["0362-1340","1558-1160"],"issn-type":[{"type":"print","value":"0362-1340"},{"type":"electronic","value":"1558-1160"}],"subject":[],"published":{"date-parts":[[2005,4]]},"assertion":[{"value":"2005-04-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}