Leis, John W. (2002) Buffering issues in TCP-based services. Technical Report. University of Southern Queensland, Faculty of Engineering and Surveying, Toowoomba, Australia.
Client-server protocols such as HTTP over a TCP transport layer may be implemented in a relatively
straightforward manner, as is often given in 'textbook' examples. Many of these examples do not scale
well to a full implementation across anything but a localhost connection with minimal data payload.
Furthermore, such implementations are invariably less than optimal in terms of performance, robustness
to differing remote client configurations, processor time utilization, and bandwidth usage. It is suggested
that the examples often given in texts are overly simplified, to the point of being misleading. In this
note, we examine some of these issues, resulting from the implementation of HTTP clients and servers using Unix (Berkeley) sockets, Windows NT (Winsock), and Java. Issues addressed include efficient send/receive buffering to minimizing kernel and user data copying, and robustness to variability in record delimiters.
Statistics for this ePrint Item
|Item Type:||Report (Technical Report)|
|Item Status:||Live Archive|
|Additional Information (displayed to public):||USQ publication.|
|Depositing User:||epEditor USQ|
|Faculty / Department / School:||Historic - Faculty of Engineering and Surveying - Department of Surveying and Land Information|
|Date Deposited:||11 Oct 2007 00:16|
|Last Modified:||02 Jul 2013 22:30|
|Uncontrolled Keywords:||send/receive buffering, TCP, HTTP clients and servers, kernel, data copying, Unix (Berkeley) sockets, Windows NT (Winsock), Java|
|Fields of Research (FoR):||08 Information and Computing Sciences > 0805 Distributed Computing > 080503 Networking and Communications
08 Information and Computing Sciences > 0805 Distributed Computing > 080505 Web Technologies (excl. Web Search)
|Identification Number or DOI:||TR-2002-01|
Actions (login required)
|Archive Repository Staff Only|