Computer Science Department
School of Computer Science, Carnegie Mellon University
A Real-Time Push-Pull Communications Model for
Kanaka Juvva, Raj Rajkumar
Produced by the Real-Time and Mulimedia Laboratory
In this paper, we propose a middleware layer called the "Real-Time Push-Pull Communications Service" to easily and quickly disseminate information across heterogeneous nodes with flexible communication patterns. Real-time push-pull communications represents both ``push'' (data transfer initiated by a sender) and "pull" (data transfer initiated by a receiver) communications. Nodes with widely differing processing power and networking bandwidth can coordinate and co-exist by the provision of appropriate and automatic support for transformation on data. In particular, different information sources and sinks can operate at different frequencies and also can choose another (intermediate) node to act as their proxy and and deliver data at the desired frequency. In addition to the synchronous communications of the publisher-subscriber model, information sinks can also choose to obtain data asynchronously. This service has been implemented on RT-Mach, a resource-centric kernel using resource kernel primitives. This paper presents an overview of the design, implementation and a performance evaluation of the model. We also test the applicability and versatility of this service using RT-Conference, a multi-party multimedia collaboration application built on top of this model. Finally, we summarize some key lessons learned in this process.