|
|
| |
Special Report
|
|
April 1999 |
![]() |
|
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."
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." |