The X-Kernel: An Architecture for Implementing Network Protocols
IEEE Transactions on Software Engineering
&mgr;C++: concurrency in the object-oriented language C++
Software—Practice & Experience
A hierarchial CPU scheduler for multimedia operating systems
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Making paths explicit in the Scout operating system
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
The design and performance of a real-time CORBA event service
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Concurrency and distribution in object-oriented programming
ACM Computing Surveys (CSUR)
A feedback-driven proportion allocator for real-rate scheduling
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Goal-oriented programming, or composition using events, or threads considered harmful
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
ACM Transactions on Computer Systems (TOCS)
Avoiding Packaging Mismatch with Flexible Packaging
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Infosphere project: system support for information flow applications
ACM SIGMOD Record
Stream enhancements for the CORBA event service
MULTIMEDIA '01 Proceedings of the ninth ACM international conference on Multimedia
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
CoRA - a heuristic for protocol configuration and resource allocation
Protocols for High-Speed Networks IV
A Distributed Real-Time MPEG Video Audio Player
NOSSDAV '95 Proceedings of the 5th International Workshop on Network and Operating System Support for Digital Audio and Video
Flexible event-based threading for QoS-supporting middleware
Proceedings of the IFIP WG 6.1 International Working Conference on Distributed Applications and Interoperable Systems II
The Design of a Flexible Communications Framework for Next-Generation Middleware
DOA '00 Proceedings of the International Symposium on Distributed Objects and Applications
An asymmetric stream communication system
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
Event Services for High Performance Computing
HPDC '00 Proceedings of the 9th IEEE International Symposium on High Performance Distributed Computing
ACDS: Adapting Computational Data Streams for High Performance
IPDPS '00 Proceedings of the 14th International Symposium on Parallel and Distributed Processing
Building Adaptive Systems Using Ensemble
Building Adaptive Systems Using Ensemble
The Design and Performance of a CORBA Audio/Video Streaming Service
HICSS '99 Proceedings of the Thirty-second Annual Hawaii International Conference on System Sciences-Volume 8 - Volume 8
QoS Scalability for Streamed Media Delivery
QoS Scalability for Streamed Media Delivery
Infopipes-an Abstractin for Information Flow
Infopipes-an Abstractin for Information Flow
Reifying Communication at the Application Level
Reifying Communication at the Application Level
Adaptive Resource Management Via Modular Resource Management
Adaptive Resource Management Via Modular Resource Management
Towards automatically configurable multimedia applications
M3W Proceedings of the 2001 international workshop on Multimedia middleware
Concurrent Programming in Java(TM): Design Principles and Patterns (3rd Edition) (Java (Addison-Wesley))
Vassal: loadable scheduler support for multi-policy scheduling
WINSYM'98 Proceedings of the 2nd conference on USENIX Windows NT Symposium - Volume 2
The Design and Implementation of Open ORB 2
IEEE Distributed Systems Online
The VuSystem: a programming system for compute-intensive multimedia
IEEE Journal on Selected Areas in Communications
Transparent autonomization in CORBA
Computer Networks: The International Journal of Computer and Telecommunications Networking
Universal connection architecture for interactive applications to achieve distributed computing
Journal of Network and Computer Applications
Hi-index | 0.00 |
Applications that process continuous information flows are challenging to write because the application programmer must deal with flow-specific concurrency and timing requirements, necessitating the explicit management of threads, synchronization, scheduling and timing. We believe that middleware can ease this burden, but many middleware platforms do not match the structure of these applications, because they focus on control-flow centric interaction models such as remote method invocation. Indeed, they abstract away from the very things that the informatian-flow centric programmer must control.This paper describes Infopipes--a new high-level abstraction for information flow applications--and a middleware framework that supports them. Infopipes handle the complexities associated with control flow and multi-threading, relieving the programmer of these tasks. Starting from a high-level description of an information flow pipeline, the framework determines which parts of a pipeline require separate threads or coroutines, and handles synchronization transparently to the application programmer. The framework also gives the programmer the freedom to write or reuse components in a passive style, even through the configuration will actually require the use of a thread or coroutine. Conversely, it is possible to write a component using a thread and know that the thread will be eliminated if it is not needed in a pipeline. This allows the most appropriate programming model to be chosen for a given task, and existing code to be reused irrespective of its activity model.