exit bar




Special Report
New Faculty Members

 April 1999




Real-Time Middleware


How can real-time systems be built using commercial-off-the-shelf (COTS) products as opposed to using home-brewed and special purpose technologies? How can resources be allocated in a distributed computing system so that dynamic real-time jobs can finish in a timely manner?

For Binoy Ravindran, the answer is middleware. "Middleware is a layer of software housed between operating systems and applications," Ravindran said. "It can provide services, such as real-time resource management. That is, the explicit management of system resources for the purpose of operating in real time."

When an application desires a certain real-time quality of service (QoS) - such as a minimum delay in processing data - middleware can provide it, Ravindran explained. "The middleware can perform application and resource monitoring, detect poor timeliness, and dynamically adapt the application to achieve its desired real-time QoS. The adaptation can be achieved by discovering and utilizing greater software and hardware resources."

Why go to middleware, when an operating system can allocate resources? "The biggest advantage of providing resource management services through middleware is that it is immediately and transparently deployable. The application can be managed for operating in real-time with few changes in its interfaces. Further, we can scale the system in an economically viable fashion. Resources for computing and communicating can be added or removed in a flexible manner."

Ravindran believes there are many potential applications of real-time middleware, including military, industrial automation, and Internet applications such as electronic commerce. "Traditional real-time computing research (such as hard real-time computing theory) offers solutions for simple, centralized, static, and regulatory control for deeply embedded systems. Such techniques cannot be practically scaled up to applications that are larger, more complex, more dynamic, more adaptive, and more distributed, for higher level and higher order real-time control."

"Further, most of the system resource management is performed by application programmers themselves and thus the resource management techniques are "glued" to the application and the underlying computing platform. This makes the evolution of the system prohibitively expensive as changes occur to its operating requirements and technology bases. In such tightly coupled systems, it's difficult to meet the altered (real-time) requirements without significant changes to the application and the computing resources."

A mechanical-turned-computer engineer, Ravindran is working to develop middleware that can enable the construction of real-time systems using commercially available, off-the-shelf technologies. "I'm particularly interested in distributed real-time applications that operate in dynamic environments," he said. "Middleware isn't a new concept, but it has only been recently applied for performing real-time resource management."

One of the big technical challenges is to provide QoS guarantees on COTS platforms that have little or no support for real time, he explained. "If the underlying computing system does not provide support for real-time operation such as through a real-time operating system or real-time networking technologies, then unbounded delays can occur."

Ravindran is also interested in working on a computer language that can describe the software architecture of the application, its nonfunctional requirements such as real-time, survivability, security, and the available hardware resources. "Such a language can be used to develop resource abstractions that model the available computing and communicating resources in a platform-independent manner. This would allow us to develop resource management strategies (as part of a middleware infrastructure) that are portable across platforms."

Ravindran first became acquainted with middleware issues while studying for his Ph.D. at the University of Texas at Arlington. He worked on a project funded by DARPA and the Naval Surface Warfare Center. "We were building computer operating techniques that would allow the emerging generation of Navy shipboard surface combatants to achieve their real-time and survivability requirements." The candidate real-time application was the next generation of the Aegis air-defense system. Ravindran enjoyed working on a tangible, real-world application. "It was very exciting to be part of a group that was tied up with reality."

During that time, he also served as a staff research assistant at the Los Alamos National Laboratory with its Computational Science Methods Group. At Los Alamos, he designed and prototyped an architecture for data mining on databases located on the Internet.

Ravindran has plans to develop a course in real-time systems. He said, "I would like to develop a senior-level or graduate-level course in real-time systems. This will expose Virginia Tech students to an important subdiscipline in computer engineering."


The Bradley Department
of Electrical and Computer Engineering
Virginia Tech

Last Updated, July 10, 1999
Questions or comments about the content: eqb@rightwordonline.com
Technical questions or comments: webmaster@birch.ee.vt.edu