language: en

A Middleware Service for Real-Time Push-Pull Communications

Kanaka Juvva and Raj Rajkumar
Real-Time and Multimedia Laboratory Carnegie Mellon University
Pittsburgh PA 15213
{kjuvva, raj+}@cs.cmu.edu

Abstract: Current and emerging real-time and multimedia applications like multi-party collaboration, internet telephony and distributed command control systems require the exchange of information over distributed and heterogeneous nodes. Multiple data types including voice, video, sensor data, real-time intelligence data and text are being transported widely across today's information, control and surveillance networks. All such applications can benefit enormously from middleware, operating system and networking services that can support QoS guarantees, high availability, dynamic reconfigurability and scalability. In this paper, we propose a middleware layer called a "Real-Time Push-Pull Communications Service" to easily and quickly disseminate information across heterogeneous nodes with an underlying architecture to satisfy the above-mentioned requirements. Push-Pull Communications is an extension of the real-time publisher/subscriber model [4], and 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 and supports scaling. Different information sources and sinks can operate at different frequencies and also can choose another (intermedi-ate) node to act as their proxy and and deliver data at the desired frequency. This service has been implemented on RT-Mach, a resource-centric kernel using resource kernel primitives [7]. This paper presents an overview of the design, implementation and preliminary performance evaluation of the model.

Keywords: Push communications, Pull communications, Proxy, Scaling, Middleware service, QoS