Object-oriented components for high-speed network programming

  • Authors:
  • Douglas C. Schmidt;Tim Harrison;Ehab Al-Shaer

  • Affiliations:
  • Department of Computer Science, Washington University, St. Louis, MO;Department of Computer Science, Washington University, St. Louis, MO;Department of Computer Science, Washington University, St. Louis, MO

  • Venue:
  • COOTS'95 Proceedings of the USENIX Conference on Object-Oriented Technologies on USENIX Conference on Object-Oriented Technologies (COOTS)
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper makes two contributions to the development and evaluation of object-oriented communication software. First, it reports performance results from benchmarking several network programming mechanisms (such as sockets and CORBA) on Ethernet and ATM networks. These results illustrate that developers of bandwidth-intensive and delay-sensitive applications (such as interactive medical imaging or teleconferencing) must evaluate their performance requirements and the efficiency of their communication infrastructure carefully before adopting a distributed object solution. Second, the paper describes the software architecture and design principles of the ACE object-oriented network programming components. These components encapsulate UNIX and Windows NT network programming interfaces (such as sockets, TLI, and named pipes) with C++ wrappers. Developers of object-oriented communication software have traditionally had to choose between high-performance, lower-level interfaces provided by sockets or TLI or less efficient, higher-level interfaces provided by communication frameworks like CORBA or DCE. ACE represents a midpoint in the solution space by improving the correctness, programming simplicity, portability, and reusability of performance-sensitive communication software.