- Multimedia systems - Design,
- Streaming technology (Telecommunications),
- Adaptive computing systems
Building Object-Oriented Distributed Systems has been facilitated by Remote Message Sending (RMS) systems like Java RMI and implementations of CORBA. However, RMS systems are designed to support request/response interactions. Streaming applications, in contrast, are characterized by high-bandwidth, long-duration communication with stringent performance requirements. Examples of streaming applications include video-on-demand, teleconferencing, on-line education, and environmental observation. These applications transfer huge amounts of data and focus on distributed information flow rather than request/response.
To simplify the task of building distributed streaming applications, we propose a new abstraction for information flow—Infopipes. Using Infopipes, information flow becomes the heart of the system, not an auxiliary mechanism that is hidden away. Systems are built by connecting pre-defined component Infopipes such as sources, sinks, buffers, filters, broadcasting pipes, and multiplexing pipes. An Infopipe has a data interface that pulls information items from the upstream Infopipes, or pushes them into the downstream Infopipes, or both. An Infopipe also has a control interface that dynamically monitors and controls the properties of the Infopipe, and hence the properties of the information flowing through it. We intend to provide property-preserving composition of Infopipes, so that the properties of the whole pipeline can be calculated from the properties of the component Infopipes in it. Quality of Service (QoS)
requirements then can be analyzed and understood system-wide. In Section 2 we discuss related technologies. In Section 3 we describe the concepts of Infopipes. We report our work on an Infopipe prototype in Section 4. Section 5 summarizes the features of Infopipes and lists some open questions.
Available at: http://works.bepress.com/andrew_black/29/