8,096 research outputs found
Recommended from our members
Computing infrastructure issues in distributed communications systems : a survey of operating system transport system architectures
The performance of distributed applications (such as file transfer, remote login, tele-conferencing, full-motion video, and scientific visualization) is influenced by several factors that interact in complex ways. In particular, application performance is significantly affected both by communication infrastructure factors and computing infrastructure factors. Several communication infrastructure factors include channel speed, bit-error rate, and congestion at intermediate switching nodes. Computing infrastructure factors include (among other things) both protocol processing activities (such as connection management, flow control, error detection, and retransmission) and general operating system factors (such as memory latency, CPU speed, interrupt and context switching overhead, process architecture, and message buffering). Due to a several orders of magnitude increase in network channel speed and an increase in application diversity, performance bottlenecks are shifting from the network factors to the transport system factors.This paper defines an abstraction called an "Operating System Transport System Architecture" (OSTSA) that is used to classify the major components and services in the computing infrastructure. End-to-end network protocols such as TCP, TP4, VMTP, XTP, and Delta-t typically run on general-purpose computers, where they utilize various operating system resources such as processors, virtual memory, and network controllers. The OSTSA provides services that integrate these resources to support distributed applications running on local and wide area networks.A taxonomy is presented to evaluate OSTSAs in terms of their support for protocol processing activities. We use this taxonomy to compare and contrast five general-purpose commercial and experimental operating systems including System V UNIX, BSD UNIX, the x-kernel, Choices, and Xinu
Building object-oriented software with the D-Bus messaging system
Object-oriented programming is a widely adopted paradigm for desktop software development.
This paradigm partitions software into separate entities, objects, which consist
of data and related procedures used to modify and inspect it. The paradigm has evolved
during the last few decades to emphasize decoupling between object implementations, via
means such as explicit interface inheritance and event-based implicit invocation.
Inter-process communication (IPC) technologies allow applications to interact with each
other. This enables making software distributed across multiple processes, resulting in a
modular architecture with benefits in resource sharing, robustness, code reuse and security.
The support for object-oriented programming concepts varies between IPC systems.
This thesis is focused on the D-Bus system, which has recently gained a lot of users, but
is still scantily researched. D-Bus has support for asynchronous remote procedure calls
with return values and a content-based publish/subscribe event delivery mechanism.
In this thesis, several patterns for method invocation in D-Bus and similar systems are
compared. The patterns that simulate synchronous local calls are shown to be dangerous.
Later, we present a state-caching proxy construct, which avoids the complexity of
properly asynchronous calls for object inspection. The proxy and certain supplementary
constructs are presented conceptually as generic object-oriented design patterns. The
e ect of these patterns on non-functional qualities of software, such as complexity, performance
and power consumption, is reasoned about based on the properties of the D-Bus
system. The use of the patterns reduces complexity, but maintains the other qualities at a
good level.
Finally, we present currently existing means of specifying D-Bus object interfaces for the
purposes of code and documentation generation. The interface description language used
by the Telepathy modular IM/VoIP framework is found to be an useful extension of the
basic D-Bus introspection format.Siirretty Doriast
An occam Style Communications System for UNIX Networks
This document describes the design of a communications system which provides occam style communications primitives under a Unix environment, using TCP/IP protocols, and any number of other protocols deemed suitable as underlying transport layers. The system will integrate with a low overhead scheduler/kernel without incurring significant costs to the execution of processes within the run time environment. A survey of relevant occam and occam3 features and related research is followed by a look at the Unix and TCP/IP facilities which determine our working constraints, and a description of the T9000 transputer's Virtual Channel Processor, which was instrumental in our formulation. Drawing from the information presented here, a design for the communications system is subsequently proposed. Finally, a preliminary investigation of methods for lightweight access control to shared resources in an environment which does not provide support for critical sections, semaphores, or busy waiting, is made. This is presented with relevance to mutual exclusion problems which arise within the proposed design. Future directions for the evolution of this project are discussed in conclusion
Middleware’s message : the financial technics of codata
In this paper, I will argue for the relevance of certain distinctive features of messaging systems, namely those in which data (a) can be sent and received asynchronously, (b) can be sent to multiple simultaneous recipients and (c) is received as a “potentially infinite” flow of unpredictable events. I will describe the social technology of the stock ticker, a telegraphic device introduced at the New York Stock Exchange in the 1860s, with reference to early twentieth century philosophers of synchronous experience (Bergson), simultaneous sign interpretations (Mead and Peirce), and flows of discrete events (Bachelard). Then, I will show how the ticker’s data flows developed into the 1990s-era technologies of message queues and message brokers, which distinguished themselves through their asynchronous implementation of ticker-like message feeds sent between otherwise incompatible computers and terminals. These latter systems’ characteristic “publish/subscribe” communication pattern was one in which conceptually centralized (if logically distributed) flows of messages would be “published,” and for which “subscribers” would be spontaneously notified when events of interest occurred. This paradigm—common to the so-called “message-oriented middleware” systems of the late 1990s—would re-emerge in different asynchronous distributed system contexts over the following decades, from “push media” to Twitter to the Internet of Things
RK: A Real-Time Kernel for a Distributed System With Predictable Response
Robotics applications must execute in real-time. In addition, complex robotics applications include many physically distributed components such as manipulator arms and sensors. This paper presents the real-time kernel RK which is designed to facilitate the development of a distributed sensory system with multiple arms and sensors. The goal of the kernel is to support distributed applications that require predictable timing behavior. Our kernel design guarantees predictable response times by scheduling processes and communications based on timing constraints. In addition, the kernel provides a set of primitives that can be used to implement applications requiring predictable timing behavior. These primitives allow the specification of timing requirements that can be guaranteed in advance by the scheduler and the direct control of devices by application processes for faster and predictable feedback control. To illustrate the use of our kernel, this paper also describes a multiple sensory system which is being ported to our distributed test-bed
- …