To support the quality-of-service (QoS) requirements of embedded multimedia
applications, such as real-time audio and video, electronic mail and fax,
and Internet telephony, off-the-shelf middleware like common object request
broker architecture (CORBA) must be flexible, efficient, and predictable.
Moreover, stringent memory constraints imposed by embedded system hardware
necessitates a minimal footprint for middleware that supports multimedia ap
plications. This paper provides three contributions toward developing effic
ient object request brokers (ORB's) middleware to support embedded multimed
ia applications. First, we describe the optimization principle patterns use
d to develop a time and space-efficient CORBA Inter-ORE Protocol (IIOP) int
erpreter for the adaptive communication environment (ACE)-ORB (TAO), which
is our high-performance, real-time ORE. Second, we describe the optimizatio
ns applied to TAO's interface definition language (IDL) compiler to generat
e efficient and small stubs/skeletons used in TAO's IIOP protocol engine, T
hird, we empirically compare the performance and memory footprint of interp
retive (de)marshaling versus compiled (de)marshaling for a nide range of ID
L data types. Applying our optimization principle patterns to TAO's IIOP pr
otocol engine improved its interpretive (de)marshaling performance to the p
oint where it is now comparable to the performance of compiled (de)marshali
ng. Moreover, our IDL compiler optimizations generate interpreted stubs/ske
letons whose footprint is substantially smaller than compiled stubs/skeleto
ns. Our results illustrate that careful application of optimization princip
le patterns can yield both time and space-efficient standards-based middlew
are.