[BACK]Return to ox-messages.tex CVS log [TXT][DIR] Up to [local] / OpenXM / doc / issac2000

Annotation of OpenXM/doc/issac2000/ox-messages.tex, Revision 1.2

1.2     ! takayama    1: %%$OpenXM: OpenXM/doc/issac2000/ox-messages.tex,v 1.1 2000/01/02 07:32:12 takayama Exp $
1.1       takayama    2:
                      3: \section{OX messages}  (Ohara)
                      4:
                      5: An OX message for TCP/IP is a byte stream consisting of
                      6: a header and a body.
                      7: \begin{center}
                      8: \begin{tabular}{|c|c|}
                      9: \hline
                     10: Header & \hspace{10mm} Body \hspace{10mm} \\
                     11: \hline
                     12: \end{tabular}
                     13: \end{center}
                     14: The header consists of two signed 32 bit integers.
                     15: The first one is an OX tag
                     16: and the second one is a serial number of the OX message.
                     17: Negative numbers are expressed by the two's complement.
                     18: Several byte orders including the network byte order
                     19: are allowed and the byte order is determined as a part of
                     20: the establishment of a connection.
                     21:
                     22: The OX messages are classifed into three types:
                     23: DATA, COMMAND, and others.
                     24: We have the following main tags for the OX messages.
                     25: \begin{verbatim}
                     26: #define        OX_COMMAND               513  // COMMAND
                     27: #define        OX_DATA                  514  // DATA
                     28: #define OX_SYNC_BALL             515  // others
                     29: #define OX_DATA_WITH_LENGTH      521  // DATA
                     30: #define OX_DATA_OPENMATH_XML     523  // DATA
                     31: #define OX_DATA_OPENMATH_BINARY  524  // DATA
                     32: #define OX_DATA_MP               525  // DATA
                     33: \end{verbatim}
                     34:
                     35: New OX tags may be added.
                     36: The new tag should be classified into DATA or COMMAND.
1.2     ! takayama   37: For example, \verb+ OX_DATA_ASIR_LOCAL_BINARY +  was added a few month ago
        !            38: to send internal serialized objects of asir via the OpenXM protocol.
1.1       takayama   39: This is a tag classifed to DATA.
                     40: See the home page of OpenXM to add a new tag.
                     41:
                     42: In OpenXM, a distributed computation is done as follows:
                     43: \begin{enumerate}
                     44: \item A client requests something to a server.
                     45: \item The server does works according to the request.
                     46: \item The client requests to send data to the server.
                     47: \item The server sends the data to the client and the client gets the data.
                     48: \end{enumerate}
1.2     ! takayama   49: The server is a stackmachine.
        !            50: That is {\it OX data} message sent by the client
1.1       takayama   51: are pushed to the stack of the server.
1.2     ! takayama   52: If the server gets an {\it OX command} message, then the data are
1.1       takayama   53: popped form the stack and they are used as arguments of a function call.
                     54: For example, the asir command
1.2     ! takayama   55: \verb+ ox_push_cmo(P,1) + (push integer $1$ to the server P)
1.1       takayama   56: sends an OX data message
                     57: (OX\_DATA,(CMO\_ZZ,1)) to the server $P$.
                     58: Here,
                     59: OX\_DATA stands for OX\_DATA header and
1.2     ! takayama   60: (CMO\_ZZ,1) is a body standing for $1$ expressed
        !            61: in the CMO data encoding format.
1.1       takayama   62:
                     63:
                     64:
                     65:
                     66:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>