IPC SAP A Family of Object-Oriented Interfaces for Local and Remote Interprocess Communication
نویسنده
چکیده
This is part of a series that describes techniques for encapsulating existing operating system (OS) interprocess communication (IPC) mechanisms within object-oriented C++ wrappers. This paper focuses on the IPC SAP (“InterProcess Communication Service Access Point”) C++ class categories. IPC SAP provides applications with a family of object-oriented service access points that encapsulate standard network programming interfaces such as BSD sockets [2], the System V transport layer interface (TLI) [3], SVR4 STREAM pipes [4], UNIX FIFOs [5], and Windows NT named pipes [6]. In turn, these network programming interfaces shield developers and applications from nonportable details of the underlying OS local and remote IPC mechanisms. IPC mechanisms include standard connectionoriented and connectionless protocols (such as TCP, UDP, and IPX/SPX) available in modern operating systems (such as BSD/SVR4 UNIX, Windows, Windows NT, and OS/2). IPC SAP utilizes object-oriented techniques and C++ features to provide a rich set of components that simplify the development of communication software. This paper is organized as follows: Section 2 outlines the levels of abstraction for programming communication software; Section 3 describes existing network programming interfaces and discusses their limitations; Section 4 presents the object-oriented design and implementation of IPC SAP and explains how it overcomes limitations with existing interfaces; Section 5 examines the object-oriented design of the C++ wrappers for sockets, TLI, STREAM pipes, and FIFOs in detail; Section 6 illustrates several examples that use IPC SAP to implement a client/server application; and Section 7 discusses the advantages and disadvantages of using C++ to develop object-oriented wrappers. 2 Network Programming Interfaces
منابع مشابه
IPC SAP C++ Wrappers for Efficient, Portable, and Flexible Network Programming
This paper describes object-oriented (OO) techniques for encapsulating OS interprocess communication (IPC) mechanisms with C++ wrappers. The paper focuses on the C++ wrappers provided by the IPC SAP components in the ACE framework [2]. ACE is a collection of reusable C++ class libraries and OO framework components that simplify the development of portable, high-performance and real-time communi...
متن کاملSystems Programming with C++ Wrappers Encapsulating Interprocess Communication Mechanisms with Object-Oriented Interfaces
This article is the first in a series that describes techniques for encapsulating operating system (OS) interprocess communication (IPC) mechanisms within object-oriented (OO) C++ wrappers. These OS mechanisms include support for both local-host IPC (such as semaphores; message queues; shared memory; memory-mapped files; named, unnamed, and STREAM pipes; and BSD UNIX-domain sockets) and network...
متن کاملThe Reactor An Object-Oriented Wrapper for Event-Driven Port Monitoring and Service Demultiplexing (Part 1 of 2)
This is part one of the third article in a series that describes techniques for encapsulating existing operating system (OS) interprocess communication (IPC) services within objectoriented (OO) C++ wrappers. The first article explains the main principles and motivations for OO wrappers [1], which simplify the development of correct, concise, portable, and efficient applications. The second arti...
متن کاملCoinmunication in the Raid Distributed Database System
This paper identifies the basic functions required from a communication subsystem in order to support a distributed, reliable, reconfigurable, and replicated database environment. These functions include: reliable multicast, remote procedure calls (RPC) , inexpensive datagram services, and efficient local interprocess communication (IPC). Data obtained via a series of experiments that measure t...
متن کاملA Prefetching IPC Mechanism for Low-Latency Transfer of Structured Data Cooperated with User Programs
An interprocess communication (IPC) mechanism has been developed that enables lowlatency communication of structured data. This is becoming more important for such applications as distributed query processing of object-oriented databases (OODB) and hyper-text world-wide web (WWW) pages. In these applications, a sender typically creates structured data and sends them to a receiver. The main obst...
متن کامل