Conference Paper

NEST: NEtwork Server Tool

Dept. of Comput. Sci., Calgary Univ., Alta.
DOI: 10.1109/APCC.2005.1554236 Conference: Communications, 2005 Asia-Pacific Conference on
Source: IEEE Xplore

ABSTRACT NEST (network server tool) can be used to automatically generate code infrastructure for TCP-based network servers. It uses a specification language to describe client-server interaction and state transitions within the server. This specification language has some similarities to the compiler tools Lex and Yacc, and its design makes network server specification straightforward. One of the main features of NEST is that it can generate three different types of server from the same basic specification: process-based, threaded, and event-driven. Our performance results show that we can produce server code for all three models which is competitive with established, highly-tuned servers

0 Followers
 · 
69 Views
  • [Show abstract] [Hide abstract]
    ABSTRACT: This paper presents how the Tatoo parser generator enables the implementation of Java high-performance servers using the Banzai generic server shell. The performance of these servers relies on the ability of Tatoo to produce push non-blocking parsers with a fixed memory footprint during parsing and on the generic and efficient server architecture of Banzai. This approach reconciles the use of formally defined grammars for protocol parsing and the efficiency of the implementation. We argue that the use of the formal grammars simplifies the implementation of the protocol and we show that an HTTP server built using the Banzai+Tatoo is as efficient as several existing specially tuned high-performance HTTP servers.
    Science of Computer Programming 08/2012; DOI:10.1016/j.scico.2011.01.005 · 0.55 Impact Factor
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: This paper presents a Java framework based on separation of concerns and code generation concepts that facilitates development of concurrency and I/O in servers. In this approach, the application is modeled by a graph whose vertices correspond to units of treatment connected by channels. It allows to build all kind of servers: multithreaded, single-process event-driven, staged event driven architecture, etc. without modification of the functional part. This architecture also permits to extend very easily an application, adding vertices and edges to the graph. The aim of our development tool is to improve programmer productivity and portability, decreasing development time, and reducing bugs or deadlock problems
    Parallel and Distributed Processing Symposium, 2006. IPDPS 2006. 20th International; 05/2006

Preview

Download
0 Downloads
Available from