For more information about real-time channels, the following papers are available:
"Real-Time Communication
in Multihop Networks" by Dilip D. Kandlur, Kang G. Shin, and
Domenico Ferrari. (General introduction and overview)
"Resource Management for Real-Time
Communication: Making Theory Meet Practice" by Ashish Mehra, Atri
Indiresan, and Kang Shin.
"Structuring Communication Software
for Quality-of-Service Guarantees" by Ashish Mehra, Atri
Indiresan, and Kang Shin.


a process-per-channel protocol
processing model with per-channel handlers and message FIFOs
deadline-based and priority-based CPU scheduling
of channel handlers
deadline-based link scheduling for network access
traffic policing via interaction between CPU
and link schedulers.
At the destination host, the received packet is demultiplexed to the corresponding channel's packet FIFO for subsequent processing and reassembly. Channel handlers are assigned to CPU run queues, as in transmission processing. Once the last packet of a message arrives, the channel handler completes message reassembly and inserts the message into the corresponding message FIFO. The application retrieves the message from the message FIFO by invoking the API's receive routine.
In addition to policies for run-time traffic management of
CPU and link resources, the proposed architecture provides
policies for buffer management and protocols for
channel establishment and teardown.
For end-to-end guarantees, the policies for scheduling
channel handlers (earliest-deadline-first and
fixed-priority) must be integrated with those
for application scheduling.
The OSF version of x-Kernel introduces the notion of
Paths which associate buffer and thread resources with specific
connections. We take advantage of this facility to reserve resources
for real-time channels and to multiplex UX server traffic with RTC
server traffic.
Real-Time Channel Application Programming Interface
Applications and middleware services use the interface below to create
and communicate with real-time channels.rtc_register:
register intent to receive channel requests (by receiver)rtc_open: open
real-time channel to destination (by sender)rtc_close: close
existing real-time channel (by sender)rtc_send: send message
on existing real-time channel (by sender)rtc_recv: receive
message on existing real-time channel (by receiver)
Real-Time Channel Server Configuration

Our current implmentation realizes real-time channels as a user-level
server in the OSF MK 7.2 operating system. The server is an
x-Kernel process which implements all signalling and data
transfer functions on behalf of applications wishing to use the
service. Applications link with a new library, librtc,
to access the real-time channel API.
x-Kernel RTC Server Configuration at Hosts

The real-time channel server is divided into two distinct but related
portions:
coordinated by new
x-kernel protocol RTCOP (Real-Time Channel Ordination
Protocol) running on each node
reliable datagram
semantics with consistent channel state management
interface to
RTROUTER (Real-Time Router) for routing policy
RTROUTER
interfaces to IP (unicast) routing
interface to
traffic control modules (admission
control, traffic enforcement)
push and
pop on RTCOP by top-level anchor protocol
management of CPU
and link bandwidth to maintain QoS guarantees
process-per-channel model for protocol processing at hosts
early
demultiplexing via efficient packet filter
Back to the project homepage.