summaryrefslogtreecommitdiff
path: root/TAO/docs/pluggable_protocols
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1999-12-21 18:20:32 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1999-12-21 18:20:32 +0000
commitf6c3022b9e824a7f81180d566b990a9b8cac5076 (patch)
treef0de331ba9d12a77ac3921c9b59e332f215a38ac /TAO/docs/pluggable_protocols
parent8d572e0e3b8bccd0ad3a148fe43d86a60a50a5a5 (diff)
downloadATCD-f6c3022b9e824a7f81180d566b990a9b8cac5076.tar.gz
ChangeLogTag:Tue Dec 21 08:02:43 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
Diffstat (limited to 'TAO/docs/pluggable_protocols')
-rw-r--r--TAO/docs/pluggable_protocols/index.html116
1 files changed, 83 insertions, 33 deletions
diff --git a/TAO/docs/pluggable_protocols/index.html b/TAO/docs/pluggable_protocols/index.html
index 754157fd840..fad4561a3c4 100644
--- a/TAO/docs/pluggable_protocols/index.html
+++ b/TAO/docs/pluggable_protocols/index.html
@@ -20,8 +20,12 @@
<P>
<H1 ALIGN="CENTER">Implementing Pluggable Protocols for TAO</H1>
-<P ALIGN="CENTER"><STRONG>Fred Kuhns, Douglas C. Schmidt, Carlos
- O'Ryan, Ossama Othman, Bruce Trask</STRONG></P>
+<P ALIGN="CENTER"><STRONG>
+<A HREF="http://www.cs.wustl.edu/~fredk">Fred Kuhns</A>,
+<A HREF="http://www.eng.uci.edu/~schmidt/">Douglas C. Schmidt</A>,
+<A HREF="http://www.cs.wustl.edu/~coryan">Carlos O'Ryan</A>,
+<A HREF="http://www.cs.wustl.edu/~othman/">Ossama Othman</A>,
+and <A HREF="mailto:BTRASK@contactsystems.com">Bruce Trask</A></STRONG></P>
<P ALIGN="CENTER">
@@ -29,9 +33,35 @@ Center for Distributed Object Computing<BR>
Washington University at St.Louis
</P>
+<P><HR><P>
+<H3>Overview</H3><P>
+
+To be an effective platform for performance-sensitive real-time and
+embedded applications, off-the-shelf CORBA middleware must preserve
+the communication-layer quality of service (QoS) properties of
+applications end-to-end. However, the standard CORBA GIOP/IIOP
+interoperability protocols are not well suited for applications that
+cannot tolerate the message footprint size, latency, and jitter
+associated with general-purpose messaging and transport protocols. It
+is essential, therefore, to develop standard <EM>pluggable protocols
+frameworks</em> that allow custom messaging and transport protocols to
+be configured flexibly and used transparently by applications.
+This document explains how to develop pluggable protocols using TAO's
+pluggable protocols framework. <P>
+
+Here are some links that describe TAO's pluggable protocols framework,
+though not how to implement one: <BLOCKQUOTE>
+<A
+HREF="../releasenotes/index.html#pp">http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/releasenotes/index.html#pp</A><BR>
+
+<A HREF="http://www.cs.wustl.edu/~schmidt/PfHSN.ps.gz">http://www.cs.wustl.edu/~schmidt/PfHSN.ps.gz</A><BR>
+<A
+HREF="http://www.cs.wustl.edu/~schmidt/pluggable_protocols.ps.gz">http://www.cs.wustl.edu/~schmidt/pluggable_protocols.ps.gz</A>
+</BLOCKQUOTE>
+
<P>
-<BR><HR>
-<!-- Table of Contents -->
+<HR>
+<H3>Table of Contents</H3><P>
<UL>
<LI><A NAME="TOC_SECTION100" HREF="#SECTION100">Overview of Implementation of Pluggable Protocols for TAO</A>
<UL>
@@ -189,7 +219,8 @@ For example, ACE wraps the <I>socket</I> API to create an <TT>ACE_INET_Addr</TT>
protocol layer 4, aka <I>TP4</I>, should be implemented similarly. A TP4 implementation
could have an <TT>ACE_TP4_Addr</TT>, <TT>ACE_TP4_Acceptor</TT>, <TT>ACE_TP4_Connector</TT>
and an <TT>ACE_TP4_Stream</TT>. Any new implementation should retain the interface
-provided by the base <TT>IPC_SAP</TT> classes in ACE.</LI>
+provided by the base <TT>IPC_SAP</TT> classes in ACE.</LI> <P>
+
<LI>Once the above ACE <TT>IPC_SAP</TT> components have been implemented, creating
the necessary TAO pluggable protocol components should be fairly easy. In fact,
much of the code can be ``cut and pasted'' from existing TAO pluggable protocol
@@ -2631,34 +2662,33 @@ TAO's existing pluggable protocols use those ACE classes/interfaces.
As long as you use the same interface for your protocol as the
interface for ace/ACE_SOCK* and tao/IIOP* then you shouldn't have much
-of a problem.</BLOCKQUOTE> <P>Here are some links that describe
-the pluggable protocols framework, though not how to implement one:
-<BLOCKQUOTE> <A
-HREF="../releasenotes/index.html#pp">http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/releasenotes/index.html#pp</A><BR>
-
-<A HREF="http://www.cs.wustl.edu/~schmidt/PfHSN.ps.gz">http://www.cs.wustl.edu/~schmidt/PfHSN.ps.gz</A>
-<A
-HREF="http://www.cs.wustl.edu/~schmidt/pluggable_protocols.ps.gz">http://www.cs.wustl.edu/~schmidt/pluggable_protocols.ps.gz</A>
-</BLOCKQUOTE>
-
-<P>Note also that the TAO files pluggable.* are important to review and understand as they contain
-the abstract classes that form the common inteface for TAO's pluggable protocol framework.
-<BR>
-<P>Getting a full understanding on how IIOP was implemented (GIOP over TCP/IP) and also seeing
-how provisions were made to add UIOP, was very helpful to adding my own protocol.
-In understanding IIOP, I needed to review the section of the OMG CORBA spec on GIOP,
-IIOP and Object references and see how this would apply to my protocol.
-<BR>
-<P>In my case, I added a transport layer that uses SCRAMNet (from Systran Corp) replicated shared memory hardware. This is actual physical memory cards located on two different machines. When a change is made to one memory then that change appears very quickly (very low latency here) in
-the other memory. I decided that I would implement GIOP over SCRAMNet as this seemed
-to be the simplest. With SCRAMNet, one could implement this transport layer into the TAO ORB
-in a few different ways, GIOP over SCRAMNet, Environment-specific inter-ORB protocol (ESIOP)
-or using collocation (since it is shared replicated memory). I have not done the latter two, only
-GIOP over SCRAMNet just to get a proof of concept working.
-<BR><P>
-For a graphical representation of the extensions for the new SCRAMNet classes I have may a skeletal
-Rose diagram showing (at this point) the inheritance relationships of the new and existing classes.
+of a problem.</BLOCKQUOTE> <P>Note also that the TAO files pluggable.*
+are important to review and understand as they contain the abstract
+classes that form the common inteface for TAO's pluggable protocol
+framework. <BR> <P>Getting a full understanding on how IIOP was
+implemented (GIOP over TCP/IP) and also seeing how provisions were
+made to add UIOP, was very helpful to adding my own protocol. In
+understanding IIOP, I needed to review the section of the OMG CORBA
+spec on GIOP, IIOP and Object references and see how this would apply
+to my protocol. <BR>
+
+<P>In my case, I added a transport layer that uses SCRAMNet (from
+Systran Corp) replicated shared memory hardware. This is actual
+physical memory cards located on two different machines. When a
+change is made to one memory then that change appears very quickly
+(very low latency here) in the other memory. I decided that I would
+implement GIOP over SCRAMNet as this seemed to be the simplest. With
+SCRAMNet, one could implement this transport layer into the TAO ORB in
+a few different ways, GIOP over SCRAMNet, Environment-specific
+inter-ORB protocol (ESIOP) or using collocation (since it is shared
+replicated memory). I have not done the latter two, only GIOP over
+SCRAMNet just to get a proof of concept working.
+
+<BR><P> For a graphical representation of the extensions for the new
+SCRAMNet classes I have may a skeletal Rose diagram showing (at this
+point) the inheritance relationships of the new and existing classes.
See (TBD) ftp site for this Rose diagram.
+
<BR><P>
The new classes created were.
<BR>
@@ -3254,6 +3284,26 @@ H. Hueni, R. Johnson, and R. Engel, ``A Framework for Network Protocol
F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal, <EM> Pattern-Oriented Software Architecture - A System of Patterns</EM>.
<BR>Wiley and Sons, 1996.
+<P></P><DT><A NAME="Schmidt:99x">6</A>
+<DD>
+Carlos O'Ryan, Fred Kuhns, Douglas C. Schmidt, Ossama Othman, and Jeff
+Parsons, <A
+HREF="http://www.cs.wustl.edu/~schmidt/pluggable_protocols.ps.gz"> The
+Design and Performance of a Pluggable Protocols Framework for
+Real-time Distributed Object Computing Middleware</A>, Proceedings of
+the IFIP/ACM <A
+HREF="://www.research.ibm.com/Middleware2000/">Middleware 2000</A>
+Conference, Pallisades, New York, April 3-7, 2000. <P>
+
+<P></P><DT><A NAME="Schmidt:99c">7</A> <DD> Fred Kuhns, Carlos O'Ryan,
+Douglas C. Schmidt, Ossama Othman, and Jeff Parsons, <A
+HREF="http://www.cs.wustl.edu/~schmidt/PfHSN.ps.gz">The Design and
+Performance of a Pluggable Protocols Framework for Object Request
+Broker Middleware,</A> Proceedings of the <A
+HREF="http://www.isi.edu/pfhsn99/call.html">IFIP Sixth International
+Workshop on Protocols For High-Speed Networks (PfHSN '99)</A>, Salem,
+MA, August 25--27, 1999. <P>
+
</DL>
<P>
@@ -3270,7 +3320,7 @@ examples of the Layers architecture.
<ADDRESS><a href="mailto:othman@cs.wustl.edu">Ossama Othman</a></ADDRESS>
<!-- Created: Tue Dec 14 16:53:58 CST 1999 -->
<!-- hhmts start -->
-Last modified: Sat Dec 18 14:39:35 CST 1999
+Last modified: Sun Dec 19 13:26:43 CST 1999
<!-- hhmts end -->
</BODY>
</HTML>